• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

HOS-V4 Advance の開発リポジトリ


Commit MetaInfo

Revision20bb3415312376bb501f195c00adf74d7feb46a6 (tree)
Time2008-05-03 16:51:30
Authorryuz <ryuz>
Commiterryuz

Log Message

(none)

Change Summary

Incremental Difference

--- a/kernel/build/ia32/i386/gcc/gmake.mak
+++ b/kernel/build/ia32/i386/gcc/gmake.mak
@@ -64,12 +64,6 @@ CFGRTR = h4acfg-i386
6464 CSRCS += $(SRC_PROC_DIR)/val_int.c
6565 CSRCS += $(SRC_PROC_DIR)/kini_prc.c
6666
67-# $(SRC_IRC_DIR)/kini_irc.c \
68-# $(SRC_IRC_DIR)/kexe_irc.c \
69-# $(SRC_IRC_DIR)/ena_int.c \
70-# $(SRC_IRC_DIR)/dis_int.c \
71-# $(SRC_IRC_DIR)/vclr_int.c
72-
7367
7468 # アセンブラファイルの追加
7569 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S
--- /dev/null
+++ b/kernel/build/ia32/pcat/gcc/gmake.mak
@@ -0,0 +1,166 @@
1+# ----------------------------------------------------------------------------
2+# Hyper Operating System V4 Advance
3+# makefile for PC/AT IA-32
4+#
5+# Copyright (C) 1998-2008 by Project HOS
6+# http://sourceforge.jp/projects/hos/
7+# ----------------------------------------------------------------------------
8+
9+
10+# --------------------------------------
11+# %jp{各種設定}{setting}
12+# --------------------------------------
13+
14+# %jp{ターゲットライブラリ名}%en{target library name}
15+TARGET ?= libhosv4a
16+
17+
18+# %jp{ツール定義}%jp{tools}
19+GCC_ARCH ?= i386-elf-
20+CMD_CC ?= $(GCC_ARCH)gcc
21+CMD_ASM ?= $(GCC_ARCH)gcc
22+CMD_LIBR ?= $(GCC_ARCH)ar
23+
24+
25+# %jp{アーキテクチャ定義}%en{architecture}
26+ARCH_NAME ?= pcat
27+ARCH_PROC ?= ia32/i386
28+ARCH_IRC ?= ia32/pcat
29+ARCH_CC ?= gcc
30+
31+
32+# %jp{ディレクトリ定義}%en{directories}
33+TOP_DIR = ../../../../..
34+KERNEL_DIR = $(TOP_DIR)/kernel
35+KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
36+INC_PROC_DIR = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
37+INC_IRC_DIR = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
38+SRC_PROC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
39+SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
40+SRC_IRC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
41+SRC_IRC_CC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
42+CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
43+
44+
45+# %jp{コンフィギュレータ定義}%en{kernel configurator}
46+CFGRTR = h4acfg-$(ARCH_NAME)
47+
48+
49+# %jp{カーネル指定}%en{kernel flag}
50+KERNEL = Yes
51+
52+
53+# %jp{共通定義読込み}%en{common setting}
54+include $(KERNEL_MAKINC_DIR)/common.inc
55+
56+
57+# %jp{パス設定}%en{add source directories}
58+INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
59+SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
60+
61+
62+# %jp{オプションフラグ}%en{option flags}
63+AFLAGS = -march=i386
64+CFLAGS = -march=i386
65+ARFLAGS =
66+
67+
68+# %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
69+include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
70+
71+# %jp{ライブラリ生成用設定読込み}%en{definitions for library}
72+include $(KERNEL_MAKINC_DIR)/maklib_d.inc
73+
74+
75+
76+
77+# --------------------------------------
78+# %jp{ソースファイル}%en{source files}
79+# --------------------------------------
80+
81+# %jp{アセンブラファイルの追加}%en{assembry sources}
82+ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S
83+ASRCS += $(SRC_PROC_CC_DIR)/kena_int.S
84+ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.S
85+ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.S
86+ASRCS += $(SRC_PROC_CC_DIR)/ksta_ctx.S
87+ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.S
88+ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.S
89+ASRCS += $(SRC_PROC_CC_DIR)/kexc_hdr.S
90+ASRCS += $(SRC_PROC_CC_DIR)/kint_hdr.S
91+ASRCS += $(SRC_PROC_CC_DIR)/koutpb.S
92+ASRCS += $(SRC_PROC_CC_DIR)/koutph.S
93+ASRCS += $(SRC_PROC_CC_DIR)/koutpw.S
94+ASRCS += $(SRC_PROC_CC_DIR)/kinpb.S
95+ASRCS += $(SRC_PROC_CC_DIR)/kinph.S
96+ASRCS += $(SRC_PROC_CC_DIR)/kinpw.S
97+ASRCS += $(SRC_PROC_CC_DIR)/klidt.S
98+
99+
100+# %jp{C言語ファイルの追加}%en{C sources}
101+CSRCS += $(SRC_PROC_DIR)/val_int.c
102+CSRCS += $(SRC_PROC_DIR)/kini_prc.c
103+CSRCS += $(SRC_IRC_DIR)/kini_irc.c
104+CSRCS += $(SRC_IRC_DIR)/kexe_irc.c
105+CSRCS += $(SRC_IRC_DIR)/dis_int.c
106+CSRCS += $(SRC_IRC_DIR)/ena_int.c
107+
108+
109+
110+# %jp{カーネル共通ソースの追加}%en{kernel common sources}
111+include $(KERNEL_MAKINC_DIR)/knlsrc.inc
112+
113+
114+
115+
116+# --------------------------------------
117+# %jp{ルール定義}%en{rules}
118+# --------------------------------------
119+
120+
121+# %jp{ALL}%en{all}
122+.PHONY : all
123+all: makelib_all
124+ $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
125+
126+# %jp{クリーン}%en{clean}
127+.PHONY : clean
128+clean: makelib_clean
129+ $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
130+ $(RM) -f *.lst
131+
132+# %jp{依存関係更新}%en{make depend}
133+.PHONY : depend
134+depend: makelib_depend
135+
136+# %jp{ソース一括コピー}%en{source files copy}
137+.PHONY : srccpy
138+srccpy: makelib_srccpy
139+
140+
141+# %jp{ライブラリ生成用設定読込み}%en{rules for library}
142+include $(KERNEL_MAKINC_DIR)/maklib_r.inc
143+
144+# %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
145+include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
146+
147+
148+
149+# --------------------------------------
150+# %jp{依存関係}%en{dependency}
151+# --------------------------------------
152+
153+# %jp{カーネル依存関係読込み}{dependency list of kernel sources}
154+include $(KERNEL_MAKINC_DIR)/knldep.inc
155+
156+
157+$(OBJS_DIR)/val_int.$(EXT_OBJ) : $(COMMON_HEADERS)
158+$(OBJS_DIR)/kini_prc.$(EXT_OBJ) : $(COMMON_HEADERS)
159+$(OBJS_DIR)/kini_irc.$(EXT_OBJ) : $(COMMON_HEADERS)
160+$(OBJS_DIR)/kexe_irc.$(EXT_OBJ) : $(COMMON_HEADERS)
161+$(OBJS_DIR)/ena_int.$(EXT_OBJ) : $(COMMON_HEADERS)
162+$(OBJS_DIR)/dis_int.$(EXT_OBJ) : $(COMMON_HEADERS)
163+
164+
165+
166+# end of file
--- a/kernel/source/arch/irc/ia32/pcat/dis_int.c
+++ b/kernel/source/arch/irc/ia32/pcat/dis_int.c
@@ -24,11 +24,11 @@ ER dis_int(INTNO intno)
2424
2525 if ( intno >= 0 && intno < 8 )
2626 {
27- _kernel_outpb(_KERNEL_IRC_PIC1_OCW1, (_kernel_inpb(KERNEL_IRC_PIC1_IMR) | (1 << intno)));
27+ _kernel_outpb(_KERNEL_IRC_PIC1_OCW1, (_kernel_inpb(_KERNEL_IRC_PIC1_IMR) | (1 << intno)));
2828 }
2929 else
3030 {
31- _kernel_outpb(_KERNEL_IRC_PIC2_OCW1, (_kernel_inpb(KERNEL_IRC_PIC2_IMR) | (1 << (intno - 8))));
31+ _kernel_outpb(_KERNEL_IRC_PIC2_OCW1, (_kernel_inpb(_KERNEL_IRC_PIC2_IMR) | (1 << (intno - 8))));
3232 }
3333
3434 return E_OK;
--- a/kernel/source/arch/irc/ia32/pcat/ena_int.c
+++ b/kernel/source/arch/irc/ia32/pcat/ena_int.c
@@ -24,11 +24,11 @@ ER ena_int(INTNO intno)
2424
2525 if ( intno >= 0 && intno < 8 )
2626 {
27- _kernel_outpb(_KERNEL_IRC_PIC1_OCW1, (_kernel_inpb(KERNEL_IRC_PIC1_IMR) & ~(1 << intno)));
27+ _kernel_outpb(_KERNEL_IRC_PIC1_OCW1, (_kernel_inpb(_KERNEL_IRC_PIC1_IMR) & ~(1 << intno)));
2828 }
2929 else
3030 {
31- _kernel_outpb(_KERNEL_IRC_PIC2_OCW1, (_kernel_inpb(KERNEL_IRC_PIC2_IMR) & ~(1 << (intno - 8))));
31+ _kernel_outpb(_KERNEL_IRC_PIC2_OCW1, (_kernel_inpb(_KERNEL_IRC_PIC2_IMR) & ~(1 << (intno - 8))));
3232 }
3333
3434 return E_OK;
--- a/kernel/source/arch/irc/ia32/pcat/kini_irc.c
+++ b/kernel/source/arch/irc/ia32/pcat/kini_irc.c
@@ -23,12 +23,14 @@ void _kernel_ini_irc(void)
2323 _kernel_outpb(_KERNEL_IRC_PIC1_ICW2, _KERNEL_IRC_PIC1_VECT);
2424 _kernel_outpb(_KERNEL_IRC_PIC1_ICW3, 0x04);
2525 _kernel_outpb(_KERNEL_IRC_PIC1_ICW4, 0x01);
26+ _kernel_outpb(_KERNEL_IRC_PIC1_OCW3, 0x4a);
2627
2728 /* PIC2 初期化 */
2829 _kernel_outpb(_KERNEL_IRC_PIC2_ICW1, 0x11);
2930 _kernel_outpb(_KERNEL_IRC_PIC2_ICW2, _KERNEL_IRC_PIC2_VECT);
3031 _kernel_outpb(_KERNEL_IRC_PIC2_ICW3, 0x02);
3132 _kernel_outpb(_KERNEL_IRC_PIC2_ICW4, 0x01);
33+ _kernel_outpb(_KERNEL_IRC_PIC2_OCW3, 0x4a);
3234
3335 /* 割込み全マスク */
3436 _kernel_outpb(_KERNEL_IRC_PIC2_OCW1, 0xff);
--- a/sample/ia32/pcat/gcc/gmake.mak
+++ b/sample/ia32/pcat/gcc/gmake.mak
@@ -24,7 +24,7 @@ CMD_OBJCNV ?= $(GCC_ARCH)objcopy
2424
2525
2626 # %jp{アーキテクチャ定義}%en{architecture}
27-ARCH_NAME ?= i386
27+ARCH_NAME ?= pcat
2828 ARCH_CC ?= gcc
2929
3030
@@ -33,7 +33,7 @@ TOP_DIR = ../../../..
3333 KERNEL_DIR = $(TOP_DIR)/kernel
3434 KERNEL_CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
3535 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
36-KERNEL_BUILD_DIR = $(KERNEL_DIR)/build/ia32/i386/gcc
36+KERNEL_BUILD_DIR = $(KERNEL_DIR)/build/ia32/pcat/gcc
3737
3838
3939 # %jp{コンフィギュレータ定義}