cr2
movq %cr2, %rcx ; \
movq %cr2, %r10 ; \
vmcb->state.cr2 = state->crs[NVMM_X64_CR_CR2];
state->crs[NVMM_X64_CR_CR2] = vmcb->state.cr2;
uint64_t cr2;
movq %cr2, %rcx ; \
movq %cr2, %r10 ; \
vmcb->state.cr2 = state->crs[NVMM_X64_CR_CR2];
state->crs[NVMM_X64_CR_CR2] = vmcb->state.cr2;
uint64_t cr2;
uint32 cr2;
asm("movl %%cr2, %0" : "=r"(cr2));
(frame.error_code & 0x2) != 0 ? "write" : "read", cr2);
addr_t cr2 = x86_read_cr2();
debug_set_page_fault_info(cr2, frame->ip,
(void*)cr2, (void*)frame->ip);
addr_t cr2 = x86_read_cr2();
debug_set_page_fault_info(cr2, frame->ip,
debug_set_page_fault_info(cr2, frame->ip,
"address %p from ip %p\n", (void*)cr2, (void*)frame->ip);
(void*)cr2, (void*)frame->ip);
(void*)cr2, (void*)frame->ip);
"Touching address %p from ip %p\n", (void*)cr2,
"%p from ip %p\n", (void*)cr2, (void*)frame->ip);
"%p from ip %p\n", (void*)cr2, (void*)frame->ip);
vm_page_fault(cr2, frame->ip,