> Am 30.07.2014 um 07:43 schrieb "Bharat.Bhushan@xxxxxxxxxxxxx" <Bharat.Bhushan@xxxxxxxxxxxxx>: > > > >> -----Original Message----- >> From: Wood Scott-B07421 >> Sent: Tuesday, July 29, 2014 11:20 PM >> To: Alexander Graf >> Cc: Bhushan Bharat-R65777; kvm-ppc@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; Yoder >> Stuart-B08248 >> Subject: Re: [PATCH 6/6] KVM: PPC: BOOKE: Emulate debug registers and exception >> >>> 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.Bhushan@xxxxxxxxxxxxx> >>>>>> --- >>>>>> 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. > > Do we want that QEMU first get DBCR0 to know whether it is overwriting whenever set/clear debug register? If you want to implement a warning, yes. But that csn easily be a follow-up. Let's get something properly working upstream first. Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html