Intel VT-x: настройка регистров отладки для отладки с хоста - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь настроить регистры отладки на хосте, чтобы я мог отслеживать адрес гостя, работающего на Intel VT-x. Для этого я позвонил KVM_SET_GUEST_DEBUG IOCTL.

struct kvm_guest_debug guest_debug;
guest_debug.control = KVM_GUESTDBG_ENABLE | KVM_GUESTDBG_USE_HW_BP;
guest_debug.arch.debugreg[0] = addr; // DR0 
guest_debug.arch.debugreg[7] = encode_dr7(0, len, bpType);
if (ioctl(vcpu_fd, KVM_SET_GUEST_DEBUG, &guest_debug) < 0)
    return false;

Успешно настроен регистр отладки. Но при чтении / записи отладочного регистра он вызывает VM_EXIT с EXIT_REASON_EXCEPTION_NMI. Хотя я ожидаю иметь EXIT_REASON_DR_ACCESS. В чем причина выхода nmi вместо выхода DR_ACCESS? Я правильно установил регистры?

...