PCIについてメモ
CONFIG_ADDRESSを読んでみた
- こんな感じでコード書いてみた
int io;
int s[20];
io = io_in32(0x0cf8);
sprintf(s, "0x%x", io);
適当に表示する。
- すると、こんなのが返ってきた
0x80000058
(2進数に直して) 1000 0000 0000 0000 0000 0000 0101 1000
- ビットの意味はこんな感じらしい
bit0-1 :0に固定
bit2-7 :レジスタアドレス
bit8-10 :機能番号
bit11-15:デバイス番号
bit16-23:バス番号
bit24-30:リザーブで、0に固定
bit31 :イネーブルビットで、1に固定
機能番号とかデバイス番号あたりがない?と思ったら、MonaのWikiでqemuでは返さない見たいな事が書いてました。うむむ。
- 実機(ぺんぎん)ではこんなのが返ってきた。
0x80008840
(2進数に直して) 1000 0000 0000 0000 1000 1000 0100 0000
- で……、ビットって右から読むのでいいんだよね?(ぉ
- なんだかよくわからず、VMwareServerでも試してみる
0x8000005c
(2進数に直して) 1000 0000 0000 0000 0000 0000 0101 1100
- (´・ω・`)
コメント覧