From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH v4 02/12] KVM: define common KVM_GUESTDBG_USE_SW/HW_BP bits Date: Fri, 15 May 2015 19:46:08 +0200 Message-ID: <555630E0.8060305@siemens.com> References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-3-git-send-email-alex.bennee@linaro.org> <555613F2.9060204@de.ibm.com> <20150515193315.6d3e82d2@thinkpad-w530> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id E3223517BB for ; Fri, 15 May 2015 13:37:40 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 55zdNPLx4N20 for ; Fri, 15 May 2015 13:37:37 -0400 (EDT) Received: from goliath.siemens.de (goliath.siemens.de [192.35.17.28]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 854F8517BA for ; Fri, 15 May 2015 13:37:37 -0400 (EDT) In-Reply-To: <20150515193315.6d3e82d2@thinkpad-w530> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: David Hildenbrand , Christian Borntraeger , =?UTF-8?B?QWxleCBCZW5uw6ll?= Cc: Tony Krowiak , kvm@vger.kernel.org, supporter@lists.cs.columbia.edu, Benjamin Herrenschmidt , Heiko Carstens , Paul Mackerras , "H. Peter Anvin" , kvmarm@lists.cs.columbia.edu, S390 , Michael Mueller , Nadav Amit , Michael Ellerman , "maintainer:X86 ARCHITECTURE..." , Gleb Natapov , Ingo Molnar , zhichao.huang@linaro.org, r65777@freescale.com, bp@suse.de, "Jason J. Herne" , marc.zyngier@arm.com, pbonzini@redhat.com, Cornelia Huck , Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Eric Farman , list@lists.c List-Id: kvmarm@lists.cs.columbia.edu T24gMjAxNS0wNS0xNSAxOTozMywgRGF2aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4+IEFtIDE1LjA1 LjIwMTUgdW0gMTY6Mjcgc2NocmllYiBBbGV4IEJlbm7DqWU6Cj4+PiArKysgYi9hcmNoL3MzOTAv aW5jbHVkZS91YXBpL2FzbS9rdm0uaAo+Pj4gQEAgLTExNCw4ICsxMTQsNiBAQCBzdHJ1Y3Qga3Zt X2ZwdSB7Cj4+PiAgCV9fdTY0IGZwcnNbMTZdOwo+Pj4gIH07Cj4+Pgo+Pj4gLSNkZWZpbmUgS1ZN X0dVRVNUREJHX1VTRV9IV19CUAkJMHgwMDAxMDAwMAo+PiBbLi4uXQo+Pj4gKysrIGIvaW5jbHVk ZS91YXBpL2xpbnV4L2t2bS5oCj4+IFsuLi5dCj4+PiArI2RlZmluZSBLVk1fR1VFU1REQkdfVVNF X1NXX0JQCQkoMSA8PCAxNikKPj4+ICsjZGVmaW5lIEtWTV9HVUVTVERCR19VU0VfSFdfQlAJCSgx IDw8IDE3KQo+Pgo+PiBUaGlzIGlzIGFuIEFCSSBicmVhayBmb3IgczM5MCwgbm8/Cj4+Cj4+IERh dmlkLCBkbyB5b3UgcmVtZW1iZXIgd2h5IHdlIGRvIG5vdCB1c2UgS1ZNX0dVRVNUREJHX1VTRV9T V19CUD8KPj4KPiAKPiBXZSBuZXZlciBoYWQgdG8gdGVsbCB0aGUga2VybmVsIGFib3V0IHNvZnR3 YXJlIGJyZWFrcG9pbnRzIGFzIHRoaXMgaXMgYWxsCj4gaGFuZGxlZCB2aWEgNCBieXRlIERJQUcg aW5zdHJ1Y3Rpb25zIHVudGlsIG5vdy4gV2UgZG9uJ3QgaGF2ZSB0byB0dXJuIHRoaXMKPiBtZWNo YW5pc20gb24uIFFFTVUgY2FuIGRpcmVjdGx5IGluc2VydCB0aGUgZGVzaXJlZCBESUFHIGluc3Ry dWN0aW9ucyBhbmQgZ2V0cwo+IG5vdGlmaWVkIHdoZW4gdGhleSBhcmUgYWJvdXQgdG8gZ2V0IGV4 ZWN1dGVkLgo+IAo+IChCdXQgd2Ugc3RpbGwgaGF2ZSAyIGJ5dGUgYnJlYWtwb2ludCBzdXBwb3J0 IHRvZG8gLSBzdGlsbCB0YmQgaG93IGV4YWN0bHkgdGhpcwo+IHdpbGwgYmUgcmVhbGl6ZWQgLSBj b3VsZCBiZSB0dXJuZWQgb24gdmlhIHN1Y2ggYSBtZWNoYW5pc20pCj4gCj4gVGhlIHByb2JsZW0g aXMsIHRoYXQgdGhlc2UgYml0cyBhcmUgYXJjaCBzcGVjaWZpYywgbm93IEFsZXggd2FudHMgdG8g dW5pZnkKPiB0aGVtIGZvciBhbGwgYXJjaHMuCj4gCj4gU28geWVzLCB0aGlzIGlzIGFuIEFCSSBi cmVhayBmb3IgdXMgYW5kIGJyZWFrcyBoYXJkd2FyZSBicmVha3BvaW50cy4oSSB0aGluawo+IHRo ZSBmaXJzdCB2ZXJzaW9uIG9mIHRoaXMgcGF0Y2ggZGlkbid0IGNvbnRhaW4gdGhpcyBBQkkgYnJl YWsgd2hlbiBJIGhhZCBhIGxvb2spCj4gCj4gSSB3b25kZXIgaWYgaXQgd291bGRuJ3QgbWFrZSBt b3JlIHNlbnNlIHRvCj4gCj4gLSBpbnRyb2R1Y2UgbmV3IGJpdHMgaW4gdGhlIGFyY2gtdW5zcGVj aWZpYyBzZWN0aW9uCj4gLSByZXdvcmsgdGhlIGV4aXN0aW5nIGltcGxlbWVudGVycyB0byBhY2Nl cHQgYm90aCBiaXRzCj4gCj4gT3IgdG8gc2ltcGx5IGxlYXZlIHN0dWZmIGFzIGl0IGlzIGFuZCBo YW5kbGUgaXQgdmlhIGFyY2ggc3BlY2lmaWMgYml0cy4KCldpdGggb25lIGFyY2ggcHJvdmluZyB0 aGUgImFsbCBuZWVkIHRoaXMiIHRoZW9yeSB3cm9uZywganVzdCBkcm9wIHRoaXMKcGF0Y2guIEV2 ZW4gcXVpY2tlciB3aGVuIGl0IGJyZWFrcyBhbiBBQkkuCgpKYW4KCi0tIApTaWVtZW5zIEFHLCBD b3Jwb3JhdGUgVGVjaG5vbG9neSwgQ1QgUlRDIElUUCBTRVMtREUKQ29ycG9yYXRlIENvbXBldGVu Y2UgQ2VudGVyIEVtYmVkZGVkIExpbnV4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmt2bWFybSBtYWlsaW5nIGxpc3QKa3ZtYXJtQGxpc3RzLmNzLmNvbHVt YmlhLmVkdQpodHRwczovL2xpc3RzLmNzLmNvbHVtYmlhLmVkdS9tYWlsbWFuL2xpc3RpbmZvL2t2 bWFybQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from goliath.siemens.de (goliath.siemens.de [192.35.17.28]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id F1A3A1A0015 for ; Sat, 16 May 2015 04:26:23 +1000 (AEST) Message-ID: <555630E0.8060305@siemens.com> Date: Fri, 15 May 2015 19:46:08 +0200 From: Jan Kiszka MIME-Version: 1.0 To: David Hildenbrand , Christian Borntraeger , =?UTF-8?B?QWxleCBCZW5uw6ll?= Subject: Re: [PATCH v4 02/12] KVM: define common KVM_GUESTDBG_USE_SW/HW_BP bits References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-3-git-send-email-alex.bennee@linaro.org> <555613F2.9060204@de.ibm.com> <20150515193315.6d3e82d2@thinkpad-w530> In-Reply-To: <20150515193315.6d3e82d2@thinkpad-w530> Content-Type: text/plain; charset=utf-8 Cc: peter.maydell@linaro.org, Tony Krowiak , kvm@vger.kernel.org, Alexey Kardashevskiy , Heiko Carstens , Bharat Bhushan , Paul Mackerras , "H. Peter Anvin" , kvmarm@lists.cs.columbia.edu, S390 , Michael Mueller , Nadav Amit , "maintainer:X86 ARCHITECTURE..." , agraf@suse.de, Gleb Natapov , Ingo Molnar , zhichao.huang@linaro.org, r65777@freescale.com, Mihai Caraman , bp@suse.de, drjones@redhat.com, "Jason J. Herne" , marc.zyngier@arm.com, pbonzini@redhat.com, Cornelia Huck , Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Eric Farman , ABI/API , open list , Dominik Dingel , Martin Schwidefsky , S390 , "open list:LINUX FOR POWERPC..." , christoffer.dall@linaro.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 2015-05-15 19:33, David Hildenbrand wrote: >> Am 15.05.2015 um 16:27 schrieb Alex Bennée: >>> +++ b/arch/s390/include/uapi/asm/kvm.h >>> @@ -114,8 +114,6 @@ struct kvm_fpu { >>> __u64 fprs[16]; >>> }; >>> >>> -#define KVM_GUESTDBG_USE_HW_BP 0x00010000 >> [...] >>> +++ b/include/uapi/linux/kvm.h >> [...] >>> +#define KVM_GUESTDBG_USE_SW_BP (1 << 16) >>> +#define KVM_GUESTDBG_USE_HW_BP (1 << 17) >> >> This is an ABI break for s390, no? >> >> David, do you remember why we do not use KVM_GUESTDBG_USE_SW_BP? >> > > We never had to tell the kernel about software breakpoints as this is all > handled via 4 byte DIAG instructions until now. We don't have to turn this > mechanism on. QEMU can directly insert the desired DIAG instructions and gets > notified when they are about to get executed. > > (But we still have 2 byte breakpoint support todo - still tbd how exactly this > will be realized - could be turned on via such a mechanism) > > The problem is, that these bits are arch specific, now Alex wants to unify > them for all archs. > > So yes, this is an ABI break for us and breaks hardware breakpoints.(I think > the first version of this patch didn't contain this ABI break when I had a look) > > I wonder if it wouldn't make more sense to > > - introduce new bits in the arch-unspecific section > - rework the existing implementers to accept both bits > > Or to simply leave stuff as it is and handle it via arch specific bits. With one arch proving the "all need this" theory wrong, just drop this patch. Even quicker when it breaks an ABI. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux