From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by sourceware.org (Postfix) with ESMTPS id 3112F39540EC for ; Tue, 6 Oct 2020 15:47:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3112F39540EC Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gmx.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=n54@gmx.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1601999237; bh=7Ofzco9tzDmKgIQ5Rw+MWkZvPmptvyJ+YzW8NRtl2hY=; h=X-UI-Sender-Class:To:Cc:References:From:Subject:Date:In-Reply-To; b=aDR3FVveorrOU8AajxFEJiI0DvAPgbVRsO0v8yxDzPneq2dfqP41utcjx9qFnitKV DW3vew+JNXmoP0UbbZfquEzs3Huj2M1yV+iownj5hbWFS48oDA7Vp6uwQ1JonUZrvu 927/S0NPKRpqB7b/OAHGWDD2bmLjScKEJtzmxOqU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.0.241] ([89.79.191.25]) by mail.gmx.com (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MPGRp-1k0rgO2WSb-00PfGQ; Tue, 06 Oct 2020 17:47:17 +0200 To: Luis Machado , gdb-patches@sourceware.org References: <20201006000120.8166-1-n54@gmx.com> <2a4dac0f-0ee8-dd71-3f59-900bf4163660@linaro.org> From: Kamil Rytarowski Autocrypt: addr=n54@gmx.com; prefer-encrypt=mutual; keydata= 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 4XSbcg== Subject: Re: [PATCH] Add NetBSD/aarch64 gdbserver support Message-ID: <8d4e7967-b2b7-92f1-7f3f-138bc70ce9a2@gmx.com> Date: Tue, 6 Oct 2020 17:44:02 +0200 User-Agent: Mozilla/5.0 (X11; NetBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <2a4dac0f-0ee8-dd71-3f59-900bf4163660@linaro.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="YVYd3RCG2oUBHOXawJjJuZGScpr7jXgxf" X-Provags-ID: V03:K1:yDj2Ru0T/reMgKyYEkdIRWr/+vmOX7GLXQOOoyNHBKZn7iMNfhK kvtQrI3r1ZZYlM2HMwJgpcfF1UPzvAJ6AywJF7pxpYs8U6ocvc0p8qpKv/cvOlOpivV6y17 SE8dY8UEGp0qcX6Qrd8DHd1zWbbaM+p+VDDfOOihC7gmk2nDR3aCdiDU2CxvRCQI2F2FOyq CsbfeTjRzwlaVBMoKu5pw== X-UI-Out-Filterresults: notjunk:1;V03:K0:1mWUgFDn02s=:m/5IFWdW8BwKpLuYZcDKXJ ljtPkbMNOi6HrwMyi4dnVam77vkW93VOuO1T5eDCF76T9KeyEmH8dkYnvP2pZqQyKZg6v+UJb kjlUSq7K8YR5Dg/ut6WpWDbHjBGQvAc24hHza0JI3W9htBOUCiL4rf+U6KLVcq2QGm4nnRlEV Fev8MhTBxIh2r3FdIVC8OtWgRF4+Q9LRf2yqxgIVMxcQN1D1A2ZXjzym49edAC8JkINF9WmP9 upWxBJe+Zfdat9fg2FnW0tvfmuIhNjdwkvN+BwncFc/HoTEWm8cUknoWFzxiHCkIdiogSobev AB3td7g/MAioSqYTICPpxAo0h3HlNkJLPv3vBR38dYEdOPIrgC2x/joH97igQ6k11HlEJKo9b MMVGF47FetaAhToUVGXH0732xgxgYAZBaNLy74KxV0GxxDrNofr8nzZH+QLNMcX2SneN6aOCJ jAjajGpmauNC6irDKvMcQxNFGs/rd3aQC/TmEpr8eo7A5c8TELMFTpPtH2bn0uyAMoy8jXsB5 fVnoHdCSp3T+LgFrTlsFxjOaNdQGcZFhs0Xq3FAwP31/5A/AHhvJf5TVxP0oHUaZJXtCXVF/s JISvyMoGxhuv5QBLKkG+n6ObyZXcGoXcgDcvvpo/v9ZIrg6xtKv2ZbPVVRtZYaWDs+ZVzRoIQ WzXnJK1QpVp2p1hMUILUdpElKU+9BURSzQccPpIYfzf7FtqblVywHM8dF1xFpvkPtNi3/GBCR ylbWeFy+CLYEL9pahjxMgt1RPxGlMbE3DpN176DWDONADj1fT6wmAB8YHGdb5xMLVIrRomIjU TdJ3LMbOObh+F3ntKiq2WV9zzCsvYOLqPoW3ODGpSg+jaAhpK94AQmcJLcLLKGYhhY7RhB1OG 3J7YitOALMVnAl4RD5aoWywk196yHrhfmJHvjFfj9AaVj5u+V9ydc3RwFaoouzOgTLw3cvvdq g7pPc6a6qKFr4d/weSlSD8cJ7mfQ/niZhO8oYN+9MK9LVzVXnyLHk42zB2MSerDe3dxLIjyjv UlTRWWY1yZ6tIgLGhGawJ08Usiwfsww39YPP4drjGDV904EIElPBDpXcnxM1ma81oB5mI4rpN pkCW4aNKoxaUydj5DVScYLmgNeiP+bRpkA7fT4aN5W3VJWfqCbNo96HcZ3X2Y4r7u73+Fn2oe iYXuYY6ZkZzuofsSDW+W0//8dvBW21/AVUBh+WAO+hzYIorZrC5sRUOlsAkDHVNOgR644CmSE +LlQ4yQ9VQQj1xHL5 X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Oct 2020 15:47:23 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --YVYd3RCG2oUBHOXawJjJuZGScpr7jXgxf Content-Type: multipart/mixed; boundary="FBKxaVFtuBfDQziUwVwgC9gJpWLPbmquf"; protected-headers="v1" From: Kamil Rytarowski To: Luis Machado , gdb-patches@sourceware.org Cc: Alan Hayward Message-ID: <8d4e7967-b2b7-92f1-7f3f-138bc70ce9a2@gmx.com> Subject: Re: [PATCH] Add NetBSD/aarch64 gdbserver support References: <20201006000120.8166-1-n54@gmx.com> <2a4dac0f-0ee8-dd71-3f59-900bf4163660@linaro.org> In-Reply-To: <2a4dac0f-0ee8-dd71-3f59-900bf4163660@linaro.org> --FBKxaVFtuBfDQziUwVwgC9gJpWLPbmquf Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 06.10.2020 16:27, Luis Machado wrote: > Hi, >=20 > On 10/5/20 9:01 PM, Kamil Rytarowski wrote: >> The support is on par with NetBSD/amd64, thus GPR works, >> single step and software breakpoint are operational, and the >> SVR4 r_debug integration is functional. >> >> gdbserver/ChangeLog: >> >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * netbsd-aarch64-low.= cc: Add. >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Makefile.in (SFILES= ): Register "netbsd-aarch64-low.c". >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * configure.srv: Add = aarch64*-*-netbsd*. >> --- >> =C2=A0 gdbserver/ChangeLog=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 6 ++ >> =C2=A0 gdbserver/Makefile.in=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 1 + >> =C2=A0 gdbserver/configure.srv=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 |=C2=A0=C2=A0 6 ++ >> =C2=A0 gdbserver/netbsd-aarch64-low.cc | 113 +++++++++++++++++++++++++= +++++++ >> =C2=A0 4 files changed, 126 insertions(+) >> =C2=A0 create mode 100644 gdbserver/netbsd-aarch64-low.cc >> >> diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog >> index d667a203e67..5fd71b6ee71 100644 >> --- a/gdbserver/ChangeLog >> +++ b/gdbserver/ChangeLog >> @@ -1,3 +1,9 @@ >> +2020-10-01=C2=A0 Kamil Rytarowski=C2=A0 >> + >> +=C2=A0=C2=A0=C2=A0 * netbsd-aarch64-low.cc: Add. >> +=C2=A0=C2=A0=C2=A0 * Makefile.in (SFILES): Register "netbsd-aarch64-l= ow.c". >> +=C2=A0=C2=A0=C2=A0 * configure.srv: Add aarch64*-*-netbsd*. >> + >> =C2=A0 2020-10-01=C2=A0 Kamil Rytarowski=C2=A0 >> >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * netbsd-i386-low.cc: Add. >> diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in >> index 8b80acebdf1..442a34b381f 100644 >> --- a/gdbserver/Makefile.in >> +++ b/gdbserver/Makefile.in >> @@ -193,6 +193,7 @@ SFILES =3D \ >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(srcdir)/linux-x86-low.cc \ >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(srcdir)/linux-xtensa-low.cc \ >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(srcdir)/mem-break.cc \ >> +=C2=A0=C2=A0=C2=A0 $(srcdir)/netbsd-aarch64-low.cc \ >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(srcdir)/netbsd-amd64-low.cc \ >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(srcdir)/netbsd-i386-low.cc \ >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(srcdir)/netbsd-low.cc \ >> diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv >> index c4fe4ca81ee..cd25b1574e0 100644 >> --- a/gdbserver/configure.srv >> +++ b/gdbserver/configure.srv >> @@ -61,6 +61,12 @@ case "${gdbserver_host}" in >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ipa_obj=3D"${ipa_obj} linux-aarch64-tdesc-ipa.o" >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ipa_obj=3D"${ipa_obj} arch/aarch64-ipa.o" >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ;; >> +=C2=A0 aarch64*-*-netbsd*)=C2=A0=C2=A0=C2=A0 srv_regobj=3D"" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sr= v_tgtobj=3D"netbsd-low.o netbsd-aarch64-low.o fork-child.o" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sr= v_tgtobj=3D"${srv_tgtobj} nat/fork-inferior.o" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sr= v_tgtobj=3D"${srv_tgtobj} nat/netbsd-nat.o" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sr= v_tgtobj=3D"${srv_tgtobj} arch/aarch64-insn.o >> arch/aarch64.o" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;;= >> =C2=A0=C2=A0=C2=A0 arm*-*-linux*)=C2=A0=C2=A0=C2=A0 srv_tgtobj=3D"$srv= _linux_obj linux-arm-low.o" >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 srv_tgtobj=3D"$srv_tgtobj linux-arm-tdesc.o" >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 srv_tgtobj=3D"$srv_tgtobj linux-aarch32-low.o" >> diff --git a/gdbserver/netbsd-aarch64-low.cc >> b/gdbserver/netbsd-aarch64-low.cc >> new file mode 100644 >> index 00000000000..d0e485649d9 >> --- /dev/null >> +++ b/gdbserver/netbsd-aarch64-low.cc >> @@ -0,0 +1,113 @@ >> +/* Copyright (C) 2020 Free Software Foundation, Inc. >> + >> +=C2=A0=C2=A0 This file is part of GDB. >> + >> +=C2=A0=C2=A0 This program is free software; you can redistribute it a= nd/or modify >> +=C2=A0=C2=A0 it under the terms of the GNU General Public License as = published by >> +=C2=A0=C2=A0 the Free Software Foundation; either version 3 of the Li= cense, or >> +=C2=A0=C2=A0 (at your option) any later version. >> + >> +=C2=A0=C2=A0 This program is distributed in the hope that it will be = useful, >> +=C2=A0=C2=A0 but WITHOUT ANY WARRANTY; without even the implied warra= nty of >> +=C2=A0=C2=A0 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.=C2=A0= See the >> +=C2=A0=C2=A0 GNU General Public License for more details. >> + >> +=C2=A0=C2=A0 You should have received a copy of the GNU General Publi= c License >> +=C2=A0=C2=A0 along with this program.=C2=A0 If not, see >> .=C2=A0 */ >> + >> +#include >> +#include >> +#include >> + >> +#include "server.h" >> +#include "netbsd-low.h" >> +#include "arch/aarch64.h" >> +#include "arch/aarch64-insn.h" >> +#include "tdesc.h" >> + >> +/* The fill_function for the general-purpose register set.=C2=A0 */ >> + >> +static void >> +netbsd_aarch64_fill_gregset (struct regcache *regcache, char *buf) >> +{ >> +=C2=A0 struct reg *r =3D (struct reg *) buf; >> + >> +#define netbsd_aarch64_collect_gp(regnum, fld) do {=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 \ >> +=C2=A0=C2=A0=C2=A0 collect_register (regcache, regnum, &r->fld);=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \ >> +=C2=A0 } while (0) >=20 > Do we really need the above instead of using the for loop below? >=20 This macro is used for consistency with other supported CPU architectures in gdbserver. I don't want to diverge them in style. >> + >> +=C2=A0 for (size_t i =3D 0; i < 31; i++) >> +=C2=A0=C2=A0=C2=A0 netbsd_aarch64_collect_gp (AARCH64_X0_REGNUM + i, = r_reg[i]); >=20 > A matter of taste, but we could define a reasonably-named constant for > "31" instead of hardcoding it here. >=20 I will change this hardcode magic value to ARRAY_SIZE() or similar. >> + >> +=C2=A0 netbsd_aarch64_collect_gp (AARCH64_SP_REGNUM, r_sp); >> +=C2=A0 netbsd_aarch64_collect_gp (AARCH64_PC_REGNUM, r_pc); >> +} >> + >> +/* The store_function for the general-purpose register set.=C2=A0 */ >> + >> +static void >> +netbsd_aarch64_store_gregset (struct regcache *regcache, const char >> *buf) >> +{ >> +=C2=A0 struct reg *r =3D (struct reg *) buf; >> + >> +#define netbsd_aarch64_supply_gp(regnum, fld) do {=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 \ >> +=C2=A0=C2=A0=C2=A0 supply_register (regcache, regnum, &r->fld);=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \ >> +=C2=A0 } while(0) >=20 > Same as above. Do we really need this construct? >=20 Same here, for the consistency. >> + >> +=C2=A0 for (size_t i =3D 0; i < 31; i++) >> +=C2=A0=C2=A0=C2=A0 netbsd_aarch64_supply_gp (AARCH64_X0_REGNUM + i, r= _reg[i]); >=20 > Same suggestion to replace the hardcoded constant with a define. >=20 I will do it. >> + >> +=C2=A0 netbsd_aarch64_supply_gp (AARCH64_SP_REGNUM, r_sp); >> +=C2=A0 netbsd_aarch64_supply_gp (AARCH64_PC_REGNUM, r_pc); >> +} >> + >> +/* Description of all the aarch64-netbsd register sets.=C2=A0 */ >> + >> +static const struct netbsd_regset_info netbsd_target_regsets[] =3D >> +{ >> +=C2=A0 /* General Purpose Registers.=C2=A0 */ >> +=C2=A0 {PT_GETREGS, PT_SETREGS, sizeof (struct reg), >> +=C2=A0 netbsd_aarch64_fill_gregset, netbsd_aarch64_store_gregset}, >> +=C2=A0 /* End of list marker.=C2=A0 */ >> +=C2=A0 {0, 0, -1, NULL, NULL } >> +}; >> + >> +/* NetBSD target op definitions for the aarch64 architecture.=C2=A0 *= / >> + >> +class netbsd_aarch64_target : public netbsd_process_target >> +{ >> +protected: >> +=C2=A0 const netbsd_regset_info *get_regs_info () override; >> + >> +=C2=A0 void low_arch_setup () override; >> +}; >> + >> +/* Return the information to access registers.=C2=A0 */ >> + >> +const netbsd_regset_info * >> +netbsd_aarch64_target::get_regs_info () >> +{ >> +=C2=A0 return netbsd_target_regsets; >> +} >> + >> +/* Architecture-specific setup for the current process.=C2=A0 */ >> + >> +void >> +netbsd_aarch64_target::low_arch_setup () >> +{ >> +=C2=A0 target_desc *tdesc >> +=C2=A0=C2=A0=C2=A0 =3D aarch64_create_target_description (0, false); >=20 > Did you choose to go with the standard core registers with CPSR and no > TPIDR? >=20 In this minimal version, CPSR and TPIDR are not necessary. > Otherwise this looks good and I don't have any more comments. I'm going to submit a v2 of this patch. --FBKxaVFtuBfDQziUwVwgC9gJpWLPbmquf-- --YVYd3RCG2oUBHOXawJjJuZGScpr7jXgxf Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEELaxVpweEzw+lMDwuS7MI6bAudmwFAl98kMoACgkQS7MI6bAu dmwBcBAAposFZYNTVGRtUiRDNCqfgSUfc9N3Yv7erYLJQ+NHuXnOutXq9IxKaTlJ wcjLR5icoMvpLHrOda+B6dooGWwwVcBBBw7Vz4IiLwAa+gVm7S3m1mfD1U+O+8VU 8/HN5ERY1ztZSauXpZvKzTk3cyhhmBUrP2r1LuyYjiAjAkpANu8iO5Dbj13PtFTl CPHh2phna8wSi0x9mD3IjCtdroTaWJhbdjZ+dNuWks1wwH9uqorZ9I5LMIWCCkqu zf79mBCK11Nz4EnLR8GpsXKcCC6cYxqWq4d9Ebf+cSP1sMrGM65liJiJDjpJIglv owtBSFuNb7pdM64mLMYA68JU5pLYTh5/s5DCTZ3OMzJ/ysQsbIlnphHsRlLCAK28 sTM+U6bX08SODtg5lKiZVpi6puQNLvnUg5xKmJG13QOQh4OzidUF5LrFUIOtxMly /nrmblEwd/15JVrD3jhEICW/WGiTkn+qYP1CsWOmZ+uuDrhZ5Aw8W8d61i0PdLgt Oma8gusHV76PnKxlsmSNvkd7JE/tcQWZijeVzIEfXxbTXpW23Prj4MEq8SkEM0in XPmhmtbEqBpPheYBqFjR6J+IJ4FqYTwxIJ5ywEuoQGrMx21nhdsRj2xRnrGnyNem fUffXRCQ1GKVwItJhSZH9q74fn7YJyG4efgFkLWIFkdgLXrT+5E= =Uc9Q -----END PGP SIGNATURE----- --YVYd3RCG2oUBHOXawJjJuZGScpr7jXgxf--