Enable the NXE bit to allow NO_EXECUTE pages.
()
| 6 | |
| 7 | /// Enable the NXE bit to allow NO_EXECUTE pages. |
| 8 | fn enable_nxe_bit() { |
| 9 | use x86_64::registers::msr::{IA32_EFER, rdmsr, wrmsr}; |
| 10 | |
| 11 | let nxe_bit = 1 << 11; |
| 12 | unsafe { |
| 13 | let efer = rdmsr(IA32_EFER); |
| 14 | wrmsr(IA32_EFER, efer | nxe_bit); |
| 15 | } |
| 16 | } |
| 17 | |
| 18 | /// This enables the write protect bit in order to enable write protection on kernel mode. |
| 19 | fn enable_write_protect_bit() { |