Plan 9とGo言語のブログ

主にPlan 9やGo言語の日々気づいたことを書きます。

Plan 9 ATAドライバのLBA

この記事はTumblrで公開されていました

pc/sdata.cは起動時に、LBA可能なディスクなのか調べる。CHSしかできないなら、何があっても常にCHSでアクセスする。LBA可能な場合、アクセスするアドレスや個数がLBAの範囲内ならLBA、範囲を超えたら(例えばアドレスが28bit以上なら)LBA48を使う。

常にLBA48でアクセスさせたい場合は以下のように変更する。

% echo lba48always on >/dev/sdC0/ctl

これはカーネルロード後の話で、9load以前はpbsによって変わる。標準だとpbs(PBS1と表示される)なのでCHSアクセス。pbslba(PBS2と表示)ならLBAアクセス。