VaneOSのメインGitリポジトリです。
リビジョン | 245a17c23430efdabfb2de16918484b08f39e643 (tree) |
---|---|
日時 | 2014-11-15 12:14:47 |
作者 | ![]() |
コミッター | vosystems |
Change TSS
@@ -34,10 +34,7 @@ static void set_segmdesc(SEGMENT_DESCRIPTOR *sd, unsigned int limit, int base, i | ||
34 | 34 | |
35 | 35 | void init_tss_all(void) |
36 | 36 | { |
37 | - set_segmdesc(&gdt[4], 104, (int) &cstart, AR_TSS32); | |
38 | - //set_tss_desc(&gdt[FIRST_TSS_ENTRY],tss); | |
39 | - //set_ldt_desc(gdt[FIRST_LDT_ENTRY,&ldt); | |
40 | - ltr(0); | |
37 | + set_segmdesc(&gdt[4], 103, (int) &tss[0], AR_TSS32); | |
41 | 38 | } |
42 | 39 | |
43 | 40 | int k_mktask_tss(void (*f)()) |
@@ -47,7 +44,7 @@ int k_mktask_tss(void (*f)()) | ||
47 | 44 | tss[free].ldtr=0; |
48 | 45 | tss[free].iomap=0x40000000; |
49 | 46 | |
50 | - set_segmdesc(&gdt[free],104,(int)&task_b,AR_TSS32); | |
47 | + set_segmdesc(&gdt[free],103,(int)&tss[free],AR_TSS32); | |
51 | 48 | |
52 | 49 | return free; |
53 | 50 | } |
@@ -56,7 +53,7 @@ void k_init_tss(int num) | ||
56 | 53 | { |
57 | 54 | num=5; |
58 | 55 | |
59 | - tss[num].eip=&task_b; | |
56 | + tss[num].eip=task_b; | |
60 | 57 | tss[num].esp=k_malloc_mask(64*1024)+64*1024; |
61 | 58 | tss[num].eflags=0x00000202; |
62 | 59 |
@@ -10,7 +10,7 @@ farjmp: | ||
10 | 10 | RET |
11 | 11 | |
12 | 12 | taskswitch5: |
13 | - JMP 6*8:0 | |
13 | + JMP 5*8:0 | |
14 | 14 | RET |
15 | 15 | |
16 | 16 | task_switch: |
@@ -155,15 +155,15 @@ void cstart(unsigned long magic, unsigned long addr) | ||
155 | 155 | cr();cr(); |
156 | 156 | |
157 | 157 | ChangeDir("VaneRoot/"); |
158 | - /* | |
159 | - init_task(); | |
160 | - */ | |
161 | - init_tss_all();/* | |
158 | + | |
159 | + //init_task(); | |
160 | + | |
161 | + init_tss_all(); | |
162 | 162 | int bnum=k_mktask_tss(&task_b); |
163 | 163 | load_tr(4*8); |
164 | 164 | k_init_tss(bnum); |
165 | - */ | |
166 | - k_mktask(task_b); | |
165 | + | |
166 | + //k_mktask(task_b); | |
167 | 167 | do{ |
168 | 168 | ShowPrompt();//puts("\nKernelShell/Root/>"); |
169 | 169 | scan_str(cmd,sizeof(cmd)/sizeof(cmd[0])); |
@@ -198,10 +198,10 @@ void cstart(unsigned long magic, unsigned long addr) | ||
198 | 198 | k_mktask(task_b); |
199 | 199 | switch_task_2( TASK_INFO_ADDR, TASK_INFO_ADDR + sizeof( TaskInfo ) );*/ |
200 | 200 | |
201 | - /*farjmp(0,5*8);*/ | |
202 | - | |
201 | + //farjmp(0,5*8); | |
202 | + task_switch(); | |
203 | 203 | //INT_CALL(0x31); |
204 | - __asm__ __volatile__("INT 0x31"); | |
204 | + //__asm__ __volatile__("INT 0x31"); | |
205 | 205 | |
206 | 206 | }else if(strcmp("root",cmd)==0){ |
207 | 207 | if(admin_flag==0){ |
@@ -1,18 +0,0 @@ | ||
1 | -Vane Operating System | |
2 | - | |
3 | -マイクロカーネル、プリエンプティブマルチタスクを目指しているOSです。 | |
4 | -make allをすると、今のところ、実行ファイルのみ、作られますので、 | |
5 | -GRUBなどマルチブート仕様に準拠した、ブートローダーがインストールされている記憶デバイスにコピーしてください。 | |
6 | - | |
7 | -BIN_HISTORYフォルダには、過去のビルドの結果が置かれています。 | |
8 | -バイナリの名前は作成日となっています。 | |
9 | - | |
10 | -本ソフトウェア及びソースは、MITライセンスの元で配布されます。 | |
11 | - | |
12 | -MIT License | |
13 | -http://opensource.org/licenses/mit-license.php | |
14 | - | |
15 | -また、一部ソースコードはGNU GPLが適用されています。 | |
16 | -適用されているソースにはGPLが適用されていると書いて有ります。 | |
17 | - | |
18 | -Copyright (C) 2013-2014 VOSystems. All rights reserved. |