HOS-V4 Advance の開発リポジトリ
Revision | 20bb3415312376bb501f195c00adf74d7feb46a6 (tree) |
---|---|
Time | 2008-05-03 16:51:30 |
Author | ryuz <ryuz> |
Commiter | ryuz |
(none)
@@ -64,12 +64,6 @@ CFGRTR = h4acfg-i386 | ||
64 | 64 | CSRCS += $(SRC_PROC_DIR)/val_int.c |
65 | 65 | CSRCS += $(SRC_PROC_DIR)/kini_prc.c |
66 | 66 | |
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 | - | |
73 | 67 | |
74 | 68 | # アセンブラファイルの追加 |
75 | 69 | ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S |
@@ -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 |
@@ -24,11 +24,11 @@ ER dis_int(INTNO intno) | ||
24 | 24 | |
25 | 25 | if ( intno >= 0 && intno < 8 ) |
26 | 26 | { |
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))); | |
28 | 28 | } |
29 | 29 | else |
30 | 30 | { |
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)))); | |
32 | 32 | } |
33 | 33 | |
34 | 34 | return E_OK; |
@@ -24,11 +24,11 @@ ER ena_int(INTNO intno) | ||
24 | 24 | |
25 | 25 | if ( intno >= 0 && intno < 8 ) |
26 | 26 | { |
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))); | |
28 | 28 | } |
29 | 29 | else |
30 | 30 | { |
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)))); | |
32 | 32 | } |
33 | 33 | |
34 | 34 | return E_OK; |
@@ -23,12 +23,14 @@ void _kernel_ini_irc(void) | ||
23 | 23 | _kernel_outpb(_KERNEL_IRC_PIC1_ICW2, _KERNEL_IRC_PIC1_VECT); |
24 | 24 | _kernel_outpb(_KERNEL_IRC_PIC1_ICW3, 0x04); |
25 | 25 | _kernel_outpb(_KERNEL_IRC_PIC1_ICW4, 0x01); |
26 | + _kernel_outpb(_KERNEL_IRC_PIC1_OCW3, 0x4a); | |
26 | 27 | |
27 | 28 | /* PIC2 初期化 */ |
28 | 29 | _kernel_outpb(_KERNEL_IRC_PIC2_ICW1, 0x11); |
29 | 30 | _kernel_outpb(_KERNEL_IRC_PIC2_ICW2, _KERNEL_IRC_PIC2_VECT); |
30 | 31 | _kernel_outpb(_KERNEL_IRC_PIC2_ICW3, 0x02); |
31 | 32 | _kernel_outpb(_KERNEL_IRC_PIC2_ICW4, 0x01); |
33 | + _kernel_outpb(_KERNEL_IRC_PIC2_OCW3, 0x4a); | |
32 | 34 | |
33 | 35 | /* 割込み全マスク */ |
34 | 36 | _kernel_outpb(_KERNEL_IRC_PIC2_OCW1, 0xff); |
@@ -24,7 +24,7 @@ CMD_OBJCNV ?= $(GCC_ARCH)objcopy | ||
24 | 24 | |
25 | 25 | |
26 | 26 | # %jp{アーキテクチャ定義}%en{architecture} |
27 | -ARCH_NAME ?= i386 | |
27 | +ARCH_NAME ?= pcat | |
28 | 28 | ARCH_CC ?= gcc |
29 | 29 | |
30 | 30 |
@@ -33,7 +33,7 @@ TOP_DIR = ../../../.. | ||
33 | 33 | KERNEL_DIR = $(TOP_DIR)/kernel |
34 | 34 | KERNEL_CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc |
35 | 35 | 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 | |
37 | 37 | |
38 | 38 | |
39 | 39 | # %jp{コンフィギュレータ定義} |