> Am 29.07.2014 um 19:50 schrieb Scott Wood <scottw...@freescale.com>: > >> On Tue, 2014-07-29 at 16:06 +0200, Alexander Graf wrote: >>> On 29.07.14 00:33, Scott Wood wrote: >>>> On Mon, 2014-07-28 at 16:04 +0200, Alexander Graf wrote: >>>>> On 11.07.14 10:39, Bharat Bhushan wrote: >>>>> This patch emulates debug registers and debug exception >>>>> to support guest using debug resource. This enables running >>>>> gdb/kgdb etc in guest. >>>>> >>>>> On BOOKE architecture we cannot share debug resources between QEMU and >>>>> guest because: >>>>> When QEMU is using debug resources then debug exception must >>>>> be always enabled. To achieve this we set MSR_DE and also set >>>>> MSRP_DEP so guest cannot change MSR_DE. >>>>> >>>>> When emulating debug resource for guest we want guest >>>>> to control MSR_DE (enable/disable debug interrupt on need). >>>>> >>>>> So above mentioned two configuration cannot be supported >>>>> at the same time. So the result is that we cannot share >>>>> debug resources between QEMU and Guest on BOOKE architecture. >>>>> >>>>> In the current design QEMU gets priority over guest, this means that if >>>>> QEMU is using debug resources then guest cannot use them and if guest is >>>>> using debug resource then QEMU can overwrite them. >>>>> >>>>> Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com> >>>>> --- >>>>> Hi Alex, >>>>> >>>>> I thought of having some print in register emulation if QEMU >>>>> is using debug resource, Also when QEMU overwrites guest written >>>>> values but that looks excessive. If I uses some variable which >>>>> get set when guest starts using debug registers and check in >>>>> debug set ioctl then that look ugly. Looking for suggestions >>>> Whatever you do, have QEMU do the print, not the kernel. >>> How would that be accomplished? How would the kernel know to exit to >>> QEMU, and how would the exit reason be conveyed? >> >> QEMU is the one forcefully enabling debug and overwriting guest debug >> registers, so it also knows when it did overwrite valid ones. > > QEMU knows when it overwrites the guest values, but it doesn't know if, > after enabling host debug, the guest tries to write to the debug > registers and it gets nopped. If we keep the EDM setting, then we can > at least say the situation is no worse than with a JTAG.
Yeah, I think that's perfectly reasonable. I don't think it'll be likely that a user starts debugging with qemu and then expects guest debugging to work. The other way around is more likely and would warrant a warning to the user - if we care. Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html