From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Rutland Subject: Re: [PATCH v4 03/12] KVM: arm64: guest debug, define API headers Date: Fri, 15 May 2015 16:43:24 +0100 Message-ID: <20150515154324.GC23652@leverpostej> References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-4-git-send-email-alex.bennee@linaro.org> <20150515144423.GA23652@leverpostej> <874mndlvny.fsf@linaro.org> 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 B99C25176F for ; Fri, 15 May 2015 11:34:21 -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 BKJN7YHB6+hg for ; Fri, 15 May 2015 11:34:20 -0400 (EDT) Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 7D25D5174A for ; Fri, 15 May 2015 11:34:20 -0400 (EDT) Content-Disposition: inline In-Reply-To: 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: Peter Maydell Cc: "kvm@vger.kernel.org" , Marc Zyngier , Catalin Marinas , "r65777@freescale.com" , Will Deacon , open list , "dahi@linux.vnet.ibm.com" , "linux-arm-kernel@lists.infradead.org" , "zhichao.huang@linaro.org" , "jan.kiszka@siemens.com" , "pbonzini@redhat.com" , "bp@suse.de" , "kvmarm@lists.cs.columbia.edu" List-Id: kvmarm@lists.cs.columbia.edu T24gRnJpLCBNYXkgMTUsIDIwMTUgYXQgMDQ6MTc6NDZQTSArMDEwMCwgUGV0ZXIgTWF5ZGVsbCB3 cm90ZToKPiBPbiAxNSBNYXkgMjAxNSBhdCAxNjoxNCwgQWxleCBCZW5uw6llIDxhbGV4LmJlbm5l ZUBsaW5hcm8ub3JnPiB3cm90ZToKPiA+Cj4gPiBNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBh cm0uY29tPiB3cml0ZXM6Cj4gPgo+ID4+IE9uIEZyaSwgTWF5IDE1LCAyMDE1IGF0IDAzOjI3OjA2 UE0gKzAxMDAsIEFsZXggQmVubsOpZSB3cm90ZToKPiA+Pj4gKy8qCj4gPj4+ICsgKiBTZWUgdjgg QVJNIEFSTSBENy4zOiBEZWJ1ZyBSZWdpc3RlcnMKPiA+Pj4gKyAqCj4gPj4+ICsgKiBUaGUgY29u dHJvbCByZWdpc3RlcnMgYXJlIGFyY2hpdGVjdHVyYWxseSBkZWZpbmVkIGFzIDMyIGJpdHMgYnV0 IGFyZQo+ID4+PiArICogc3RvcmVkIGFzIDY0IGJpdCB2YWx1ZXMgYWxvbmdzaWRlIHRoZSB2YWx1 ZSByZWdpc3RlcnMuIFRoaXMgaXMgZG9uZQo+ID4+Cj4gPj4gU3RhbGUgY29tbWVudD8gVGhleSdy ZSBzdG9yZWQgYXMgX191MzIgYmVsb3cuCj4gPgo+ID4gR2FoIHllcyBpdCBpcy4KPiA+Cj4gPj4g SXQncyBwb3NzaWJsZSB0aGF0IHRoZSByZWdpc3RlcnMgY291bGQgZ3JvdyBpbiBmdXR1cmUgYXMg aGFwcGVuZWQgaW4gdGhlCj4gPj4gY2FzZSBvZiBDTElEUl9FTDEsIHNvIGl0IG1pZ2h0IGJlIHdv cnRoIHRyZWF0aW5nIHN5c3RlbSByZWdpc3RlcnMKPiA+PiBnZW5lcmFsbHkgYXMgdTY0IHZhbHVl cy4KPiA+Cj4gPiBSZWFsbHk/IEkgbWVhbiB0aGUgZXhpc3RpbmcgZGVidWcgKmNvbnRyb2wqIHJl Z2lzdGVycyBoYXZlIHJlc2VydmVkIGJpdHMKPiA+IDI0LTMxIHNvIHRoZXJlIGlzIHNwYWNlIGZv ciBleHBhbnNpb24uCj4gCj4gT3RoZXIgcGxhY2VzIGluIHRoZSB1c2Vyc3BhY2UgQUJJIHdoaWNo IGRlYWwgd2l0aCBzeXNyZWdzIChub3RhYmx5Cj4gT05FX1JFRykgY29uc2lzdGVudGx5IGRlZmlu ZSB0aGVtIGFsbCBhcyA2NC1iaXQKCkFsc28gZm9yIHB0X3JlZ3MucHN0YXRlLgoKSSBqdXN0IHNw b3R0ZWQgdGhhdCBpbiB1c2VyX2h3ZGVidWdfc3RhdGUgaW4gcHRyYWNlLmggd2Ugc2VlbSB0byBl eHBvc2UKdGhlIGRlYnVnIGNvbnRyb2wgcmVnc2l0ZXJzIGFzIF9fdTMyIGFscmVhZHksIGFhbG9u ZyB3aXRoIHNvbWUgb3RoZXIKcmVnaXN0ZXJzLgoKU28gd2UncmUgYWxyZWFkeSBpbmNvbnNpc3Rl bnQgdy5yLnQuIGhvdyB3ZSBleHBvc2UgdGhvc2UgcmVnaXN0ZXJzLCBhbmQKSSdtIG5vdCBzdXJl IHdoYXQgd2UnZCBkbyBlbHNld2hlcmUgaWYgYW55IHJlZ2lzdGVycyBnb3QgZXhwYW5kZWQuIDov CgpNYXJrLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpr dm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5lZHUKaHR0cHM6Ly9s aXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K From mboxrd@z Thu Jan 1 00:00:00 1970 From: mark.rutland@arm.com (Mark Rutland) Date: Fri, 15 May 2015 16:43:24 +0100 Subject: [PATCH v4 03/12] KVM: arm64: guest debug, define API headers In-Reply-To: References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-4-git-send-email-alex.bennee@linaro.org> <20150515144423.GA23652@leverpostej> <874mndlvny.fsf@linaro.org> Message-ID: <20150515154324.GC23652@leverpostej> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, May 15, 2015 at 04:17:46PM +0100, Peter Maydell wrote: > On 15 May 2015 at 16:14, Alex Benn?e wrote: > > > > Mark Rutland writes: > > > >> On Fri, May 15, 2015 at 03:27:06PM +0100, Alex Benn?e wrote: > >>> +/* > >>> + * See v8 ARM ARM D7.3: Debug Registers > >>> + * > >>> + * The control registers are architecturally defined as 32 bits but are > >>> + * stored as 64 bit values alongside the value registers. This is done > >> > >> Stale comment? They're stored as __u32 below. > > > > Gah yes it is. > > > >> It's possible that the registers could grow in future as happened in the > >> case of CLIDR_EL1, so it might be worth treating system registers > >> generally as u64 values. > > > > Really? I mean the existing debug *control* registers have reserved bits > > 24-31 so there is space for expansion. > > Other places in the userspace ABI which deal with sysregs (notably > ONE_REG) consistently define them all as 64-bit Also for pt_regs.pstate. I just spotted that in user_hwdebug_state in ptrace.h we seem to expose the debug control regsiters as __u32 already, aalong with some other registers. So we're already inconsistent w.r.t. how we expose those registers, and I'm not sure what we'd do elsewhere if any registers got expanded. :/ Mark. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1946197AbbEOPnh (ORCPT ); Fri, 15 May 2015 11:43:37 -0400 Received: from foss.arm.com ([217.140.101.70]:42366 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1422708AbbEOPnb (ORCPT ); Fri, 15 May 2015 11:43:31 -0400 Date: Fri, 15 May 2015 16:43:24 +0100 From: Mark Rutland To: Peter Maydell Cc: Alex =?utf-8?Q?Benn=C3=A9e?= , "kvm@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "kvmarm@lists.cs.columbia.edu" , "christoffer.dall@linaro.org" , Marc Zyngier , "agraf@suse.de" , "drjones@redhat.com" , "pbonzini@redhat.com" , "zhichao.huang@linaro.org" , Catalin Marinas , "jan.kiszka@siemens.com" , Will Deacon , open list , "dahi@linux.vnet.ibm.com" , "r65777@freescale.com" , "bp@suse.de" Subject: Re: [PATCH v4 03/12] KVM: arm64: guest debug, define API headers Message-ID: <20150515154324.GC23652@leverpostej> References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-4-git-send-email-alex.bennee@linaro.org> <20150515144423.GA23652@leverpostej> <874mndlvny.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 15, 2015 at 04:17:46PM +0100, Peter Maydell wrote: > On 15 May 2015 at 16:14, Alex Bennée wrote: > > > > Mark Rutland writes: > > > >> On Fri, May 15, 2015 at 03:27:06PM +0100, Alex Bennée wrote: > >>> +/* > >>> + * See v8 ARM ARM D7.3: Debug Registers > >>> + * > >>> + * The control registers are architecturally defined as 32 bits but are > >>> + * stored as 64 bit values alongside the value registers. This is done > >> > >> Stale comment? They're stored as __u32 below. > > > > Gah yes it is. > > > >> It's possible that the registers could grow in future as happened in the > >> case of CLIDR_EL1, so it might be worth treating system registers > >> generally as u64 values. > > > > Really? I mean the existing debug *control* registers have reserved bits > > 24-31 so there is space for expansion. > > Other places in the userspace ABI which deal with sysregs (notably > ONE_REG) consistently define them all as 64-bit Also for pt_regs.pstate. I just spotted that in user_hwdebug_state in ptrace.h we seem to expose the debug control regsiters as __u32 already, aalong with some other registers. So we're already inconsistent w.r.t. how we expose those registers, and I'm not sure what we'd do elsewhere if any registers got expanded. :/ Mark.