From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49199 invoked by alias); 31 May 2018 11:56:17 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 49187 invoked by uid 89); 31 May 2018 11:56:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.2 spammy=aarch64-tdep.h, aarch64tdeph, UD:aarch64-tdep.h X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 31 May 2018 11:56:15 +0000 Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.183.45]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 10.44.10459.CD2EF0B5; Thu, 31 May 2018 13:56:12 +0200 (CEST) Received: from ESESBMB501.ericsson.se (153.88.183.168) by ESESSHC009.ericsson.se (153.88.183.45) with Microsoft SMTP Server (TLS) id 14.3.382.0; Thu, 31 May 2018 13:55:52 +0200 Received: from ESESBMB501.ericsson.se (153.88.183.168) by ESESBMB501.ericsson.se (153.88.183.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Thu, 31 May 2018 13:55:52 +0200 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (153.88.183.157) by ESESBMB501.ericsson.se (153.88.183.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3 via Frontend Transport; Thu, 31 May 2018 13:55:52 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [10.0.0.110] (192.222.164.54) by SN6PR15MB2400.namprd15.prod.outlook.com (2603:10b6:805:24::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.797.11; Thu, 31 May 2018 11:55:49 +0000 Subject: Re: [PATCH 4/8] Enable SVE for GDB To: Alan Hayward , CC: References: <20180511105256.27388-1-alan.hayward@arm.com> <20180511105256.27388-5-alan.hayward@arm.com> From: Simon Marchi Message-ID: <3641fc23-e712-88f9-327e-bc795b3a1255@ericsson.com> Date: Thu, 31 May 2018 12:22:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180511105256.27388-5-alan.hayward@arm.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR0101CA0029.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00::42) To SN6PR15MB2400.namprd15.prod.outlook.com (2603:10b6:805:24::20) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:SN6PR15MB2400; X-Microsoft-Exchange-Diagnostics: 1;SN6PR15MB2400;3:v3xB72Sw3Ev+lYVx36NR4RVUhTfIgFnnTDdnDfEH3p05qAZOP8k3E3Xyxy6BbLF1HM3/YMeHOspcJ+SzR85L/oO7f53zuU6svYp9heJQ8LQXM+H7yx24CO3BFBcg4Bxf8jdUdrJvjq2S0ZBTVF/rTl5dbPP4cztPogKddEoiLnmas4Hm2BVpC5aOcqrxKuha162GQ15TTHXdA4XejnjquDXZ4rR42VrH6yIZ8yKmsL2s9jHJmYJXuzkPWuRK5zjr;25:wmKpIE1OIb93uGh2VcjMnzDN3MvcJNMrKfh9WCLYbthqV213UFmOnDbYBlHnR8kySUSes1pDageKpcfc3abdw0BlaOdT7Zl0o5VSZo2MSyi+x3QBPsCou9j6gdOX0Zu6RQCq+7e9aIhAyWWVn/w5i0XKPSRsE0kBTMbWiqT99MibnUkTojHQTKGbVghm7BQ0Has6saEcQIgKIHkLcphstL9Y7bnqOYuhgTY5roR5PSmi2nUeHncj0xiXsR59Y/mpp+u12x9hFm8Vpp4uYK7C+J+HIP3hToATY9Z9dLyU4NqxwgIMMsa3VMhneflv7Hfd8Gl5Q2z81gBToVg3SPqqWw==;31:NdVv93NJCo1Tx8I6ySJ0GQzm229ZJMRWHKOkj27OkDc11w6+YYO5y55nDrJKiE8L4bgir+XrpzKB10ZbsFKKBpV6R7Lfo5AQA67wFrBTknKbNOV8IsBySeJoF7hjwGWOGP330iXIrY9rRRMuiEqQJ0aafkTTxsUSPdOoX3UMs/uERSPAM0nmFc/8VaVE9ffklSw+niYLLzS5mlo4nHcu3ldgN2jBMu3cfLlFv5pQ1T8= X-MS-TrafficTypeDiagnostic: SN6PR15MB2400: X-Microsoft-Exchange-Diagnostics: 1;SN6PR15MB2400;20:HQ4kOOQygaPJQOhL0ASuF3yWMnBvyxd9e5OlXU3A06vVYnblo+iuGLzekKK3x7FIsUbfjZmMeStPp9OJXpMPx2qfYSjD1xTRkllL8IDiqluagevlQdHo9cfODW6Jf/m7EDJyt5+iR5YR7wbIbqR+oK9Ym0cpoRp7AC6vjCGTYGGfWE6ldb0I5GyicDWyfIh4W6P6dmcR9N46NmEoM4OgM6hthAX3POM4K20NehYlpTCpmD+EEfsUeM6gsW7DXERm1AjNUEpGIjwgk2Aw+YaJ9ULzLuGbwXMXpZYh5+xXvDk2CZkMdfqAr4WvbIO1JvjMSvw+XNlkPONxuokFzZdXyAxKTvpzusMNvz4fhgrv7lCl/KHKgsNyw0nT/gpOhDI37oQJa06VPtMQU1aa+YBUkCCZ4CHicCfZZaD0B/ApoqtLXbpjjySAlcRWZgJWNiF3JyTIO6aG2lBcrUv8S3suEOcr0F9G7A3eTcvWVszI25Hbt94Z2LvwC2REAieT/2Hp;4:rLXImgBJzTC/Y0zL7XlSaDREAA6dwNyzKrNCiL/bEvJ2e2yW7YBFI8HmExcsZ/B0rHF4WaTbJWwDqM6RgOAejk/0DjCVAcCxNDCthNeRDKR2gyA8biZ8B1fFlZtrtpL8alzRZPPGqD9qtXtvmudBtYJ+SCXxoqstw9fAWN7aOm2yR/3CuytX2EjQfYiDcR/YGDImSRS05QmvZYhKYlaIr85sIfyyNg88ZywMUWTFs18A/Ojw2qutTY6iFe/Rt0nuAZcaa8b+CjJ+hJDzf2u06Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231254)(944501410)(52105095)(93006095)(93001095)(3002001)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016);SRVR:SN6PR15MB2400;BCL:0;PCL:0;RULEID:;SRVR:SN6PR15MB2400; X-Forefront-PRVS: 06891E23FB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(39380400002)(396003)(346002)(39860400002)(366004)(376002)(189003)(199004)(53936002)(52116002)(2486003)(44832011)(16576012)(316002)(7736002)(4326008)(386003)(8936002)(52146003)(23676004)(486006)(58126008)(5660300001)(6246003)(2906002)(66066001)(2616005)(81156014)(76176011)(476003)(6666003)(47776003)(36756003)(8676002)(81166006)(25786009)(68736007)(64126003)(305945005)(956004)(65956001)(65806001)(6116002)(230700001)(3846002)(77096007)(26005)(478600001)(97736004)(11346002)(65826007)(31696002)(186003)(16526019)(86362001)(50466002)(105586002)(446003)(106356001)(59450400001)(229853002)(53546011)(6486002)(31686004);DIR:OUT;SFP:1101;SCL:1;SRVR:SN6PR15MB2400;H:[10.0.0.110];FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjZQUjE1TUIyNDAwOzIzOmN4ejUvSDVTWUtjZUJnT2NuV1J0bm1OcU50?= =?utf-8?B?NExRckdnVTlCUDlzbmFLeWkwK2ZLcmdEZnVxV25CTkIwRExuUlZTL1YyR2Zr?= =?utf-8?B?cmpUZ2o1L09iRHRvdFZudkR2cHk3RGRoMktHbUdjQUk3RW1rQlpZUFNEbXdJ?= =?utf-8?B?bitCWFN1UVM0OEZRTWUxRXpVU0c1K0w1Z0YxbHM0SlBMS1dLQkpNdWtEVlRF?= =?utf-8?B?UFQ1b29uc0JaRkE4L3B3MDVHVFlCb21vSm9GZmRFS3BMRmN0NGJreFQ3RVdK?= =?utf-8?B?aWwvVjdUYWtHMklpRGhlc0tYWEJBYURDVjY4RnVtdHNqRXdGVnlLc1pmMjkw?= =?utf-8?B?eTduMU1UVjQ4UjBrd0pvUTEzQWtvaG9sWm1RaEpTbS85RUJFWHl2MDZ4dDZh?= =?utf-8?B?YzI0Vk1KZWZrc0RvYmhkQUZxczh2UVlZM21NQjZOYkFpclBSQ3o0VUhjYS9H?= =?utf-8?B?ejhkNzh6WFFBcDJFQ1VkbjI0aUthUmExaldJV2VjMmI3eGpYWVRmd0JkdVNC?= =?utf-8?B?ZVpIWkZpZDdUYlNDVGl4YWcrM3VzTDh0YStKTUVTdGpRNFhSQmxUYVpKRDN2?= =?utf-8?B?T3BhV0R3L2tja3lQdW5FQ08reERRV1duNVhaUksxbGsvb3RNbDBrdHBWS3cz?= =?utf-8?B?ME5ac0FoR3N3RFo3MFlKWExRajBDZ1dzTnFRek5iRWhyS08yRnc0OVlLQXEy?= =?utf-8?B?K212d1RBd1RQUzY4cHlJbnJnVG5mVE9wWU1pamgyMEg3WGVEdnhtMS9EMkJE?= =?utf-8?B?YmtXcGVpYmhpcFJ1dVh0QmNqQ3hoR0pZWGdScjRSZGlaZzFGTzczY2twbmh1?= =?utf-8?B?cHovTlN1NHJwVDFCOGhJbXc2YjZGYzdOOVJNb2czTjRsSzZuVWw0NnhRNDM4?= =?utf-8?B?Y2lTMjNIMjl4T0NZYVU0Y1lyOWNPT3lDakJjbmNtb3FLRkYwemkrbnVCU1Iw?= =?utf-8?B?NHdta3FqZnZSMUpiR3ZJWHh2Q3g5czJmMnF3QXh5SG12ODFHR0ZNN1BhUXRO?= =?utf-8?B?citxdmNQaWxOcVpoUloyQjVURWtQbWVSaG12TjBRYlNLVTBYUkwxUWo2OTEx?= =?utf-8?B?endDMjI2cjhuUmNISVVCRjZKMGJUb1FsNFRMUXBPbzZmSzZVOW5kYTUzZ1lR?= =?utf-8?B?QmVPR3MwSFM2UFlRWWpwa1VpYUVhVlEveHR5eHgzSlowOUlia1pKclVXMlZv?= =?utf-8?B?N2NYN09GblVvQXlxdm1xb2hORHdoNEZ3dS9VaTVGN0FmSG04cVMwMmNTMkJP?= =?utf-8?B?VWM2eVJReGhQRFJzdDVwZGJaL2Vyc3FlMmE0YUtKbW9LQThzV0JLOEJhV3Fa?= =?utf-8?B?NFJGYnZsekNMWjZaaDVWTi9pUHZOZHp1OXBHY1BobkdRWFUvUHpjbzUvQVBO?= =?utf-8?B?WVpWZGtqck50cWUzekVsL3prdGwyQkpqdTlHRnJKaEZsWjQ2NU51cGgxUlpI?= =?utf-8?B?NzQ5QXNiejg4eXhyOERoT3RMYVk4QU9SOWNKNkJLWmdFVmdkQnZtY3NNcVlk?= =?utf-8?B?bm02VGJVY1ZSVmg2L0VHQzAvOFZPRVNlZWg2Y1lKY0xrV3ZOZW5CRU5xcWZC?= =?utf-8?B?dkxYc05wSnVSTDJmMEdMYmhjbVNDTkV5dUhqRnFaZGhJWkpEVlIyZ3BmK0xD?= =?utf-8?B?bnNzU1VGWWpUUXdlNkpaanI3ZlRwb1YxbWV5RExybFQyQm5OZHZ3V1oyRGZ5?= =?utf-8?B?VnpXVXQ2SXJJYW1DQzU5LzZUMGVhdVdQZm0xMEwvUTRnVTVqU1J6bFR3RjIz?= =?utf-8?B?RU93enBLMjVzUmw4ZWdPY1djN3pEdjdDYnVaY1VzWG1EWDRXZnV6ZTErZlAz?= =?utf-8?B?YWw5cFA4OStxdXhWRnVkRUN4YWR4SEFtMlNqdGVVNFRFWTgwaURwZEZXZVJ4?= =?utf-8?B?ZHI2UGlKRzd5U0NaY2ltOVBrTThReGVNQlZPSFg2K0V3Tkxya0JpVms3ZC94?= =?utf-8?Q?RmkCrVc9j6sl5qA4wyk4Bh+V7jxk9k=3D?= X-Microsoft-Antispam-Message-Info: vyHnVo/+5NBY+HDkVokXCx78nrM8hOxo27gWdI2p69kcdpi5XY5w7b+I6RJQVolZOaRBJQqjpAev3P85sCbYjtVNGJ/GRYdTzSfsQCgpgd+mxAV4JEJ8nYIC1NPangMS0n1iRYkaR6JOMFWDv0+j7WcivSE0zFn2Ig4yWeRyR5lkIPleVGagWt8G73JzFeLh X-Microsoft-Exchange-Diagnostics: 1;SN6PR15MB2400;6:DCL8qb+xoGzRjZUiZXcNifvsur4ubtScvJ/3S8Cp+VoNkIUAeAkVuJPjEkBjVBDs2XzLUPEjJtPZaa8nib2GZL4talA1qwIlYPHWGenD1V0Mcnvdfmhp2u8vanHf/iMDuSOW9BnJH8iKYqp8EhtbhXQKZPYto6j3jpm0LzoJWXy0rhZh92dSZltlwHbN/eujodc5/wndb6nxR4vjQ5BbSzwQfymut++UqKuQn393IqZ3kwKSxInLmK4CsNTYgao1EHDLtZBm2DQh7xNIjsJdGI7keJAQKwIYMJa81KlpSIOemc5u6GTAdnBBXDf4F9tPaE4wRAQwq9BB6WlYNca48xwzfF80caAGb2OeXF28tB07OuddwkNgP7GGMeY5NIaXQUEERPDSbm6VHeMjtU9cTr+R3SGlZx9Or3pUYC2YFXaT0JoRCrIs2jCjgtJ2SSbvMtUldtgtqqlLjqB0UMyu1Q==;5:pTpYYmcPb+FK7kQ8IzuY9kndx0i01FnKrj78sizjMzAlDEVXO5zV2jN5p+rtv6Yyx88R0Xv6vydD0N+Mi8foO1YMuONk3n04Adp47C1pToMWnIy1NMPVInCMPmACFlBD7i4A24Z5XaRgihLUsprDIFlbGrjEjkIPYH5eMr1tSiM=;24:MWJ8oqKqanFxZE5urrfGTFSjP4Y6G8J0OEAO7ACBHQkI81uuEl5r8HBkOA4iHrpqkdZ6xwGwDsY3W7t9m+m/UVHYx6FEVKiUom4lV1X5pEc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN6PR15MB2400;7:z8Po6vpCyXpq0XZziMcIS3rxhBW1DkfyO9YldVfKJV1IlDNv5xWPueQYMU0cxNpyIGUzmxFj4rO5TFgBe4icl9/bPiVInvkrS4X71Ca/Qx5JXFbYXNHQNrbqyON1l31AqEWLcj6lN7HVE3T/OHArM+ero29oASVbFAnZAbggLCWUoc/mBDwJhGQRWrImcDX44/IxG4KkO/Qhj4WVHyA9rxsbxpDiYsUwqAHmNxE++eDqhpUJcSjdKREZCFnzt2tb X-MS-Office365-Filtering-Correlation-Id: bdc4eae3-1622-4e2b-f376-08d5c6ed7436 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2018 11:55:49.7881 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bdc4eae3-1622-4e2b-f376-08d5c6ed7436 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR15MB2400 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-05/txt/msg00843.txt.bz2 On 2018-05-11 06:52 AM, Alan Hayward wrote: > This patch enables SVE support for GDB by reading the VQ when > creating a target description. > > It also ensures that SVE is taken into account when creating > the tdep structure, and stores the current VQ value directly > in tdep. > > With this patch, gdb on an aarch64 system with SVE will now detect > SVE. The SVE registers will be displayed (but the contents will be > invalid). The following patches fill out the contents. LGTM, with some nits. > @@ -2911,25 +2933,45 @@ aarch64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) > /* Validate the descriptor provides the mandatory core R registers > and allocate their numbers. */ > for (i = 0; i < ARRAY_SIZE (aarch64_r_register_names); i++) > - valid_p &= > - tdesc_numbered_register (feature, tdesc_data, AARCH64_X0_REGNUM + i, > - aarch64_r_register_names[i]); > + valid_p &= tdesc_numbered_register (feature_core, tdesc_data, > + AARCH64_X0_REGNUM + i, > + aarch64_r_register_names[i]); > > num_regs = AARCH64_X0_REGNUM + i; > > - /* Look for the V registers. */ > - feature = tdesc_find_feature (tdesc, "org.gnu.gdb.aarch64.fpu"); > - if (feature) > + /* Add the V registers. */ > + if (feature_fpu != NULL) > { > + gdb_assert (feature_sve == NULL); Again, if this situation can result from a bad input passed to GDB (a bad tdesc sent by the remote), we shouldn't gdb_assert on it, but show an error message and gracefully fail. > + > /* Validate the descriptor provides the mandatory V registers > - and allocate their numbers. */ > + and allocate their numbers. */ > for (i = 0; i < ARRAY_SIZE (aarch64_v_register_names); i++) > - valid_p &= > - tdesc_numbered_register (feature, tdesc_data, AARCH64_V0_REGNUM + i, > - aarch64_v_register_names[i]); > + valid_p &= tdesc_numbered_register (feature_fpu, tdesc_data, > + AARCH64_V0_REGNUM + i, > + aarch64_v_register_names[i]); > > num_regs = AARCH64_V0_REGNUM + i; > + } > + > + /* Add the SVE registers. */ > + if (feature_sve != NULL) > + { > + gdb_assert (feature_fpu == NULL); Same here. > diff --git a/gdb/aarch64-tdep.h b/gdb/aarch64-tdep.h > index c9fd7b3578..046de6228f 100644 > --- a/gdb/aarch64-tdep.h > +++ b/gdb/aarch64-tdep.h > @@ -73,6 +73,15 @@ struct gdbarch_tdep > > /* syscall record. */ > int (*aarch64_syscall_record) (struct regcache *regcache, unsigned long svc_number); > + > + /* The VQ value for SVE targets, or zero if SVE is not supported. */ > + long vq; > + > + /* Returns true if the target supports SVE. */ > + bool has_sve () > + { > + return vq != 0; > + } This method can be const. Simon