Open
Description
While writing my hypervisor, I noticed crashes after 10 seconds. After a week debugging this issue, I realized that reading CR4 using this crate is the issue.
INFO: CR4 (manual): b52ef8
INFO: CR4 (x86_64): b52ef8
INFO: CR4 (x86): 352ef8
How to reproduce:
let mut value= 0;
unsafe { core::arch::asm!("mov {}, cr4", out(reg) value) };
log::info!("CR4 (manual): {:x}", value);
let value = x86_64::registers::control::Cr4::read_raw();
log::info!("CR4 (x86_64): {:x}", value);
let value = unsafe { x86::controlregs::cr4() };
log::info!("CR4 (x86): {:x}", value);
Metadata
Assignees
Labels
No labels