On 09/07/21 12:05, Lai Jiangshan wrote:
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.
Correct, there's a comment above the call. But data breakpoint are much
harder and relatively less useful.
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).
Good point, that should be fixed too.
Paolo