lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <531CCB15.6070402@redhat.com> Date: Sun, 09 Mar 2014 21:12:05 +0100 From: Paolo Bonzini <pbonzini@...hat.com> To: Radim Krčmář <rkrcmar@...hat.com> CC: linux-kernel@...r.kernel.org, kvm@...r.kernel.org, alex.williamson@...hat.com, mtosatti@...hat.com, gleb@...nel.org, jan.kiszka@...mens.com Subject: Re: [PATCH 4/7] KVM: vmx: Allow the guest to run with dirty debug registers Il 09/03/2014 19:26, Radim Krčmář ha scritto: > > + > > + cpu_based_vm_exec_control = vmcs_read32(CPU_BASED_VM_EXEC_CONTROL); > > + cpu_based_vm_exec_control &= ~CPU_BASED_MOV_DR_EXITING; > > + vmcs_write32(CPU_BASED_VM_EXEC_CONTROL, cpu_based_vm_exec_control); > > vmcs_clear_bits() covers exactly this use-case. > (Barring the explicit bit-width.) Good idea. > > + > > + /* > > + * No more DR vmexits; force a reload of the debug registers > > + * and reenter on this instruction. The next vmexit will > > + * retrieve the full state of the debug registers. > > + */ > > + vcpu->arch.switch_db_regs |= KVM_DEBUGREG_WONT_EXIT; > > + return 1; > > + } > > + > > We could make the code slighly uglier and move the functional part of > this block before the previous one, so it would do both things in one > exit. I considered this, but decided that it's unlikely for emulation to be faster than hardware---especially on those AMD CPUs that lack decode assists (and it's good for VMX and SVM code to look as similar as possible). > (Exception handler will likely access DR too.) Which exception handler? Paolo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists