
Intel のドキュメントによると、FEE0 0000H
to はFEE0 03F0H
ローカル APIC の範囲です。ただし、QEMU コンソールから調べると、そこには値 0 しか見つかりません。
(qemu) x/128b 0xfee00000
fee00000: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00008: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00010: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00018: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00020: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00028: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00030: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00038: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00040: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00048: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00050: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00058: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00060: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00068: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00070: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
fee00078: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
128 バイトをチェックして、0 以外の値がないか確認しました。少なくとも、FEE0 0030H
APIC バージョンが入っている場所なので、異なる値が含まれているはずです。
ページングが無効になっているため、仮想メモリはなく、物理メモリのみになります。
(qemu) info mem
PG disabled
しかし、info lapic
コマンドは実際の初期値を報告します:
(qemu) info lapic
dumping local APIC state for CPU 0
LVT0 0x00008700 active-hi level ExtINT (vec 0)
LVT1 0x00008400 active-hi level NMI
LVTPC 0x00010000 active-hi edge masked Fixed (vec 0)
LVTERR 0x00010000 active-hi edge masked Fixed (vec 0)
LVTTHMR 0x00010000 active-hi edge masked Fixed (vec 0)
LVTT 0x00030010 active-hi edge masked periodic Fixed (vec 16)
Timer DCR=0x2 (divide by 8) initial_count = 4096
SPIV 0x000001ff APIC enabled, focus=off, spurious vec 255
ICR 0x000c4610 physical edge assert all
ICR2 0x00000000
ESR 0x00000000
ISR (none)
IRR (none)
では、これらの値はどこにあるのでしょうか?