0
我正在開發裸機程序。該平臺是x86,32位,保護模式,我在環0.我想通過使用xsetgv指令啓用AVX。 CR4的第18位是1,如果我使用xgetgv,則沒有錯誤發生,但xsetgv崩潰(virtualbox報告致命錯誤)。有問題的代碼如下:XSetgv在我的裸機軟件中崩潰
mov ecx, 0
mov eax, 0x7
mov edx, 0
xsetbv
什麼問題?
我正在開發裸機程序。該平臺是x86,32位,保護模式,我在環0.我想通過使用xsetgv指令啓用AVX。 CR4的第18位是1,如果我使用xgetgv,則沒有錯誤發生,但xsetgv崩潰(virtualbox報告致命錯誤)。有問題的代碼如下:XSetgv在我的裸機軟件中崩潰
mov ecx, 0
mov eax, 0x7
mov edx, 0
xsetbv
什麼問題?
問題在於bugy虛擬框,我的代碼在真實硬件上運行得非常好,以及最新的virtualbox。
確保您的virtualbox實際上支持AVX。 IIRC,默認情況下它不會向客戶展示AVX支持,或者它有一箇舊的bug。 (通過在vbox實例中啓動Linux來測試,並運行'grep avx/proc/cpuinfo'或者其他東西。 –
沿着這些線路,嘗試使用已知支持AVX的bochs(確保它已啓用)。調試器和源代碼;) – Jester