Witam
Post będzie dotyczył architektury x86-64
Otóż jak wiadomo rejestry IOAPIC są w pamięci pod adresem 0xFEC00000. Jednak Bochs twierdzi, że pamięć pod tym adresem nie istnieje. Próba odczytu/zapisu do tego obszaru kończy się wyjątkiem. Tak samo zachowuje się pod Qemu. Co może być powodem bo sam już nie mam pomysłu? Kod: http://4programmers.net/Pastebin/1331
0
0
A czy te bochs i qemu w ogóle emulują IOAPIC, i jest to włączone?
0
Fragmenty logu Bochsa:
00000000000i[ ] APIC support: yes
00000000000i[IOAP ] initializing I/O APIC
00000000000i[MEM0 ] Register memory access handlers: 0x00000000fec00000 - 0x00000000fec00fff
0
Jesteś pewien, że nie odwołujesz się do 0xfffffffffec00000? Spróbuj odwołać się do 0xfec00000ull.
0
Tak, jestem pewien. Zresztą sprawdzam ten adres pod debuggerem, a nie w kodzie.
EDIT: Problem był w stronicowaniu (thx nevar)