From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5042 invoked by alias); 12 Jun 2019 10:59:19 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 5033 invoked by uid 89); 12 Jun 2019 10:59:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.4 required=5.0 tests=AWL,BAYES_00,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy=H*i:sk:87v9xbd, H*f:sk:87v9xbd X-HELO: EUR04-VI1-obe.outbound.protection.outlook.com Received: from mail-eopbgr80049.outbound.protection.outlook.com (HELO EUR04-VI1-obe.outbound.protection.outlook.com) (40.107.8.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 12 Jun 2019 10:59:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e/00UKVuhIOamJpRmg/SyScWonWCV65tPqwvPyMwLDQ=; b=tuJkXUEzAE2gYIMwG3kS6iwLus9pd5D/KtcR3ONurL0BRjm7hXdKY2l86xyxjs9FSTYqdrZyGYjqX+FQjalN6+Mm/47+yFjG3ft6AiIZ8CxurFXfI1Cy/lDocLCYSDlg8pDzAzVY+mU+m3RJrmri+vBpt3Jmr4sAcC7NqO+qxog= Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.227.22) by DB6PR0802MB2216.eurprd08.prod.outlook.com (10.172.227.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.14; Wed, 12 Jun 2019 10:59:14 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::8c26:bb4b:6c93:9d40]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::8c26:bb4b:6c93:9d40%2]) with mapi id 15.20.1965.017; Wed, 12 Jun 2019 10:59:14 +0000 From: Alan Hayward To: =?utf-8?B?QWxleCBCZW5uw6ll?= CC: Dave P Martin , Will Deacon , Peter Maydell , Catalin Marinas , Zhang Lei , Julien Grall , "gdb@sourceware.org" , "linux-arm-kernel@lists.infradead.org" , nd Subject: Re: [PATCH 0/2] arm64/sve: Fix mutating register endianness on big-endian Date: Wed, 12 Jun 2019 10:59:00 -0000 Message-ID: <889DC301-3504-4F96-9F33-FCCD792DD877@arm.com> References: <1559839495-22315-1-git-send-email-Dave.Martin@arm.com> <20190607093858.GA21378@fuggles.cambridge.arm.com> <20190607154832.GH28398@e103592.cambridge.arm.com> <207E140D-AC57-4B0D-B838-94B92BE2B0A0@arm.com> <87v9xbdr3o.fsf@zen.linaroharston> In-Reply-To: <87v9xbdr3o.fsf@zen.linaroharston> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-ms-oob-tlc-oobclassifiers: OLM:8882; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Alan.Hayward@arm.com X-SW-Source: 2019-06/txt/msg00019.txt.bz2 DQoNCj4gT24gMTIgSnVuIDIwMTksIGF0IDExOjQwLCBBbGV4IEJlbm7DqWUg PGFsZXguYmVubmVlQGxpbmFyby5vcmc+IHdyb3RlOg0KPiANCj4gDQo+IEFs YW4gSGF5d2FyZCA8QWxhbi5IYXl3YXJkQGFybS5jb20+IHdyaXRlczoNCj4g DQo+Pj4gT24gNyBKdW4gMjAxOSwgYXQgMTY6NDgsIERhdmUgTWFydGluIDxE YXZlLk1hcnRpbkBhcm0uY29tPiB3cm90ZToNCj4+PiANCj4+PiBPbiBGcmks IEp1biAwNywgMjAxOSBhdCAxMDozODo1OEFNICswMTAwLCBXaWxsIERlYWNv biB3cm90ZToNCj4+Pj4gT24gVGh1LCBKdW4gMDYsIDIwMTkgYXQgMDU6NDQ6 NTNQTSArMDEwMCwgRGF2ZSBNYXJ0aW4gd3JvdGU6DQo+Pj4+PiBCeSBpbnNw ZWN0aW9uIHdoaWxlIGRlYnVnZ2luZyBzb21ldGhpbmcgZWxzZSwgSSBub3Rp Y2VkIHRoYXQgdGhlIGJ5dGUNCj4+Pj4+IG9yZGVyIG9mIEZQU0lNRCBWLXJl Z2lzdGVyIHN0b3JlcyBhbmQgU1ZFIFotcmVnaXN0ZXIgc3RvcmVzIGlzIG5v dCB0aGUNCj4+Pj4+IHNhbWUgd2hlbiBydW5uaW5nIG9uIGJpZy1lbmRpYW4u DQo+Pj4+PiANCj4+Pj4+IFRoaXMgaXMgbm90IHByb3Blcmx5IHRha2VuIGlu dG8gYWNjb3VudCB3aGVuIG1vdmluZyBiZXR3ZWVuIHRoZSBGUFNJTUQNCj4+ Pj4+IGFuZCBTVkUgcmVnaXN0ZXIgdmlld3MgaW5zaWRlIHRoZSBrZXJuZWws IHJlc3VsdGluZyBpbiB0aGUgYnl0ZXMgb2YgYQ0KPj4+Pj4gVi1yZWdpc3Rl ciBnZXR0aW5nIHNwb250YW5lb3VzbHkgcmV2ZXJzZWQgaW4gc29tZSBzaXR1 YXRpb25zLCBmcm9tDQo+Pj4+PiB1c2Vyc3BhY2UncyBwb2ludCBvZiB2aWV3 LiAgVGhlIHNpZ25hbCBmcmFtZSBhbmQgcHRyYWNlIGludGVyZmFjZSBhcmUN Cj4+Pj4+IGFsc28gYWZmZWN0ZWQuICBUaGUgS1ZNIEFCSSBmb3JiaWRzIG1p eGluZyB0aGUgdHdvIHZpZXdzIGFuZCBzbyBzaG91bGQNCj4+Pj4+IG5vdCBi ZSBhZmZlY3RlZC4NCj4+Pj4+IA0KPj4+Pj4gU2VlIHBhdGNoIDIgZm9yIGRl dGFpbHMuDQo+Pj4+PiANCj4+Pj4+IFBhdGNoIDEgZG9lcyBzb21lIHRyaXZp YWwgcHJlcGFyYXRvcnkgcmVmYWN0b3JpbmcuDQo+Pj4+IA0KPj4+PiBTb3Jy eSB0byBiZSBhIHBhaW4sIGJ1dCB3b3VsZCB5b3UgYmUgYWJsZSB0byBmbGlw IHRoaXMgc2VyaWVzIHJvdW5kIHNvIHRoYXQNCj4+Pj4gdGhlIGZpeCBkb2Vz bid0IGRlcGVuZCBvbiB0aGUgcmVmYWN0b3JpbmcsIHBsZWFzZT8gVGhhdCB3 YXkgd2UgY2FuIHB1dCBpdA0KPj4+PiBpbnRvIHN0YWJsZSB3aXRob3V0IHRo ZSBkZXBlbmRlbmN5Lg0KPj4+PiANCj4+Pj4+IGdkYiBtYXkgb3IgbWF5IG5v dCBiZSBhZmZlY3RlZCBieSB0aGlzLCBkZXBlbmRpbmcgb24gaG93IGl0IHVz ZXMgdGhlDQo+Pj4+PiBOVF9QUkZQUkVHIGFuZCBOVF9BUk1fU1ZFIHJlZ3Nl dHMuICBJJ2xsIGxlYXZlIGl0IHRvIHRoZSBkZXZlbG9wZXJzIHRvDQo+Pj4+ PiBhc3Nlc3MgdGhhdC4NCj4+Pj4gDQo+Pj4+IFdvdWxkbid0IHRoaXMgYmUg ZWFzeSBlbm91Z2ggdG8gdGVzdD8NCj4+PiANCj4+PiBTbywgZ2RiIHdvcmtz IE9LIG9uIGJpZy1lbmRpYW4gYnV0IHdlaXJkIHN0dWZmIGhhcHBlbmluZyBv biBib3RoIHdpdGgNCj4+PiBhbmQgd2l0aG91dCB0aGUgZml4Lg0KPj4+IA0K Pj4+IFRoZXJlIGFyZSBwbGFjZXMgaW4gdGhlIGdkYiBjb2RlIGl0c2VsZiB3 aGVyZSBpdCBpcyBsaWtlbHkgbWlzc2luZw0KPj4+IGVuZGlhbm5lc3MgY29u dmVyc2lvbnMsIGJ1dCBJIG5lZWQgdG8gZm9sbG93IHVwIHdpdGggdGhlIGdk YiBmb2xrcyB0bw0KPj4+IGNsYXJpZnkgd2hldGhlciBteSBwYXRjaCBpcyBt aXNzaW5nIHNvbWV0aGluZ+KApg0KPj4gDQo+PiAoSSBhZGRlZCB0aGUgU1ZF IHN1cHBvcnQgZm9yIEdEQikuDQo+PiANCj4+IEnigJl2ZSB0cmllZCB0aGVz ZSBjaGFuZ2VzIG91dCBteXNlbGYgdXNpbmcgR0RCLg0KPj4gV2l0aCB5b3Vy IGNoYW5nZXMgZXZlcnl0aGluZyBsb29rcyBnb29kLCBhcGFydCBmcm9tOg0K Pj4gKiBHREIgZ2V0cyBpdCB3cm9uZyB3aGVuIHRoZSBwdHJhY2Ugc3ZlIHN0 cnVjdHVyZSBjb250YWlucyBhIGZwc2ltZC4NCj4+ICogSSBuZWVkIHRvIGRv IHNvbWUgdGVzdGluZyBhcm91bmQgc2lnY29udGV4dHMsIGJ1dCBhZ2FpbiBJ IHRoaW5rIEdEQg0KPj4gIHdpbGwgbmVlZCBhIHNsaWdodCBjaGFuZ2UuDQo+ PiBJ4oCZbGwgZ2V0IHNvbWUgcGF0Y2hlcyB0b2dldGhlciBmb3IgR0RCLg0K PiANCj4gV2hlcmUgaXMgdGhlIGxhdGVzdCBzdGF0ZSBvZiBTVkUgc3VwcG9y dCBmb3IgR0RCPyBJIHJlYWxseSBzaG91bGQgY2hlY2sNCj4gdGhlIFFFTVUg Z2Ric3R1YiBkb2VzIHRoZSBjb3JyZWN0IHRoaW5ncyBmb3IgU1ZFIHJlZ2lz dGVycyBidXQgSSB3YXMNCj4gd2FpdGluZyBmb3IgdXBzdHJlYW0gZ2RiIHN1 cHBvcnQuDQoNClNWRSBpcyBzdXBwb3J0ZWQgaW4gR0RCIDguMi4NCg0KSWYg eW91ciBwcm9ncmFtIHN0YXJ0cyBjaGFuZ2luZyB2ZWN0b3IgbGVuZ3RocyB3 aGlsc3QgdGhlIHByb2Nlc3MgaXMgcnVubmluZywNCnRoZW4geW914oCZbGwg cnVuIGludG8gaXNzdWVzLiBGaXhlZCBmb3IgR0RCIGluIEhFQUQsIGJ1dCBu b3QgZm9yIHJlbW90ZSBzdHVicy4NCkxldCBtZSBrbm93IGlmIHRoYXTigJlz IGEgcHJvYmxlbSBmb3IgeW91IC0gSeKAmXZlIHlldCB0byBmaW5kIHJlYWwg dXNlcyBjYXNlcw0KZm9yIG5lZWRpbmcgaXQuDQoNCg0KQWxhbi4NCg0KPiAN Cj4gLS0NCj4gQWxleCBCZW5uw6llDQoNCg== >From gdb-return-47054-listarch-gdb=sources.redhat.com@sourceware.org Wed Jun 12 12:47:20 2019 Return-Path: Delivered-To: listarch-gdb@sources.redhat.com Received: (qmail 22692 invoked by alias); 12 Jun 2019 12:47:20 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Delivered-To: mailing list gdb@sourceware.org Received: (qmail 22684 invoked by uid 89); 12 Jun 2019 12:47:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-10.8 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.110.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 12 Jun 2019 12:47:18 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9C21128; Wed, 12 Jun 2019 05:47:16 -0700 (PDT) Received: from e103592.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 477653F246; Wed, 12 Jun 2019 05:47:15 -0700 (PDT) Date: Wed, 12 Jun 2019 12:47:00 -0000 From: Dave Martin To: Alex =?iso-8859-1?Q?Benn=E9e?= Cc: Alan Hayward , Peter Maydell , Catalin Marinas , Will Deacon , Zhang Lei , Julien Grall , "gdb@sourceware.org" , nd , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH 0/2] arm64/sve: Fix mutating register endianness on big-endian Message-ID: <20190612124712.GR28398@e103592.cambridge.arm.com> References: <1559839495-22315-1-git-send-email-Dave.Martin@arm.com> <20190607093858.GA21378@fuggles.cambridge.arm.com> <20190607154832.GH28398@e103592.cambridge.arm.com> <207E140D-AC57-4B0D-B838-94B92BE2B0A0@arm.com> <87v9xbdr3o.fsf@zen.linaroharston> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87v9xbdr3o.fsf@zen.linaroharston> User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2019-06/txt/msg00020.txt.bz2 Content-length: 2444 On Wed, Jun 12, 2019 at 11:40:11AM +0100, Alex Bennée wrote: > > Alan Hayward writes: > > >> On 7 Jun 2019, at 16:48, Dave Martin wrote: > >> > >> On Fri, Jun 07, 2019 at 10:38:58AM +0100, Will Deacon wrote: > >>> On Thu, Jun 06, 2019 at 05:44:53PM +0100, Dave Martin wrote: > >>>> By inspection while debugging something else, I noticed that the byte > >>>> order of FPSIMD V-register stores and SVE Z-register stores is not the > >>>> same when running on big-endian. > >>>> > >>>> This is not properly taken into account when moving between the FPSIMD > >>>> and SVE register views inside the kernel, resulting in the bytes of a > >>>> V-register getting spontaneously reversed in some situations, from > >>>> userspace's point of view. The signal frame and ptrace interface are > >>>> also affected. The KVM ABI forbids mixing the two views and so should > >>>> not be affected. > >>>> > >>>> See patch 2 for details. > >>>> > >>>> Patch 1 does some trivial preparatory refactoring. > >>> > >>> Sorry to be a pain, but would you be able to flip this series round so that > >>> the fix doesn't depend on the refactoring, please? That way we can put it > >>> into stable without the dependency. > >>> > >>>> gdb may or may not be affected by this, depending on how it uses the > >>>> NT_PRFPREG and NT_ARM_SVE regsets. I'll leave it to the developers to > >>>> assess that. > >>> > >>> Wouldn't this be easy enough to test? > >> > >> So, gdb works OK on big-endian but weird stuff happening on both with > >> and without the fix. > >> > >> There are places in the gdb code itself where it is likely missing > >> endianness conversions, but I need to follow up with the gdb folks to > >> clarify whether my patch is missing something… > > > > (I added the SVE support for GDB). > > > > I’ve tried these changes out myself using GDB. > > With your changes everything looks good, apart from: > > * GDB gets it wrong when the ptrace sve structure contains a fpsimd. > > * I need to do some testing around sigcontexts, but again I think GDB > > will need a slight change. > > I’ll get some patches together for GDB. > > Where is the latest state of SVE support for GDB? I really should check > the QEMU gdbstub does the correct things for SVE registers but I was > waiting for upstream gdb support. Does this issue need looking at for the QEMU userspace emulation too? Cheers ---Dave