On 2021/7/9 17:49, Paolo Bonzini wrote:
On 09/07/21 05:09, Lai Jiangshan wrote:
I just noticed that emulation.c fails to emulate with DBn.
Is there any problem around it?
Just what you said, it's not easy and the needs are limited. I implemented kvm_vcpu_check_breakpoint because I was interested in using hardware breakpoints from gdb, even with unrestricted_guest=0 and invalid guest state, but that's it.
It seems kvm_vcpu_check_breakpoint() handles only for code breakpoint
and doesn't handle for data breakpoints.
And no code handles DR7_GD bit when the emulation is not resulted from
vm-exit. (for example, the non-first instruction when kvm emulates
instructions back to back and the instruction accesses to DBn).