From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Subject: Re: [PATCH 6/6] KVM: PPC: BOOKE: Emulate debug registers and exception Date: Tue, 29 Jul 2014 16:06:01 +0200 Message-ID: <53D7AA49.9070209@suse.de> References: <1405067941-27134-1-git-send-email-Bharat.Bhushan@freescale.com> <1405067941-27134-7-git-send-email-Bharat.Bhushan@freescale.com> <53D6586E.7060601@suse.de> <1406586800.29414.184.camel@snotra.buserror.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Bharat Bhushan , kvm-ppc@vger.kernel.org, kvm@vger.kernel.org, stuart.yoder@freescale.com To: Scott Wood Return-path: Received: from cantor2.suse.de ([195.135.220.15]:45542 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753713AbaG2OGD (ORCPT ); Tue, 29 Jul 2014 10:06:03 -0400 In-Reply-To: <1406586800.29414.184.camel@snotra.buserror.net> Sender: kvm-owner@vger.kernel.org List-ID: 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 >>> --- >>> 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. Alex