Messages in this thread | | | Date | Tue, 03 Nov 2009 21:39:16 +0100 | From | Jan Kiszka <> | Subject | Re: [PATCH 4/6] hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events |
| |
Frederic Weisbecker wrote: > On Tue, Nov 03, 2009 at 09:22:04PM +0100, Jan Kiszka wrote: >>> Thinking about it, this check should cover every cases: >>> >>> if (vcpu->arch.switch_db_regs || __get_cpu_var(dr7) & DR_GLOBAL_ENABLE_MASK) >>> >>> If we have __get_cpu_var(dr7) & DR_GLOBAL_ENABLE_MASK, it means there is an >>> active breakpoint and then we should restore the current state. >>> >> And what about (__get_cpu_var(dr7) & DR_GLOBAL_ENABLE_MASK) only? Would >> you be able to live with unsync'ed hardware and software states? >> >> Jan >> > > > But if the guest has breakpoints activated, the host will inherit > them, which is really not something we want, assuming vcpu->arch.switch_db_regs > already protects us about that. >
Nope, vmx&svm will clear dr7 on vmexit for us. Really, switch_db_regs should not be needed if we can leave the debug registers clobbered but disabled behind.
Jan
[unhandled content-type:application/pgp-signature] | |