linux-0.01 読み (4)
ええと、boot.s に以下な記述あり。
; that was painless, now we enable A20 call empty_8042 mov al,#0xD1 ; command write out #0x64,al call empty_8042 mov al,#0xDF ; A20 on out #0x60,al call empty_8042
これ、うにまが 2002/9 号の Linux のブートプロセス#5 な A20 を有効に、という件のソレに合致してます。setup.S との事ですが、若干記法が違いますね。
a20_kbc: call empty_8042 call a20_test jnz a20_done movb $0xD1, %al outb %al, $0x64 call empty_8042 movb $0xDF, %al outb %al, $0x60 call empty_8042
このキーボードコントローラから A20 のマスク回路に信号を送信するのは遅いとの事。ただ、ブートローダ側でマスク解除してるので startup_32 なソレで無限ループの形で enabled かどうかな確認をしているんですね。
やっぱ先頭から読まないと駄目らしい。なんつーかソース読むってゆーよりもコメントな英語を読む世界になってるあたりが微妙なんですがorz
とりあえず 2002.8 なうにまがを持っていく方向で。