Avi Kivity wrote: > Jan Kiszka wrote: >> This still leaves me with the question how to handle the case when the >> host sets and arms some debug registers to debug the guest and the >> latter does the same to debug itself. Guest access will be trapped, OK, >> but KVM will then have to decide which value should actually be >> transfered into the registers. Hmm, does SVM virtualizes all debug >> registers, leaving the real ones to the host? >> > > There's no way this can work. There are still only four debug > registers, and the guest and host together can ask for eight different > addresses. It is theoretically doable by hiding all mappings to pages > that are debug targets, but it would probably double the kvm code size. > > A good short-term compomise is to abort if the guest starts using > enabling a debug address register. A better solution might be to place > host debug addresses into unused guest debug registers, so that as long > as nr_guest_debug + nr_host_debug <= 4, we can still proceed.
I tried the latter, but we cannot cleanly share DR7 between both users. Thus I'm now going for a prioritized approach: debug register will stop to have any effect for the guest as soon as the host starts to use them. That's far simpler the implement and also easier to understand for the user. A bit work remains, though, to clean up and enhance the DRx support in KVM. And to test the changes (will contact you, Joerg, regarding SVM tests). Stay tuned. Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel