From nobody Sun May 5 19:15:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487534618419601.9422580424757; Sun, 19 Feb 2017 12:03:38 -0800 (PST) Received: from localhost ([::1]:34919 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cfXho-0001UT-Q0 for importer@patchew.org; Sun, 19 Feb 2017 15:03:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58578) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cfXgy-0001C3-Gi for qemu-devel@nongnu.org; Sun, 19 Feb 2017 15:02:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cfXgv-0005xH-FG for qemu-devel@nongnu.org; Sun, 19 Feb 2017 15:02:44 -0500 Received: from mout.kundenserver.de ([212.227.126.135]:60496) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cfXgv-0005wO-54 for qemu-devel@nongnu.org; Sun, 19 Feb 2017 15:02:41 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue005 [212.227.15.167]) with ESMTPSA (Nemesis) id 0MVqHM-1cqPdl13d2-00X6y9; Sun, 19 Feb 2017 21:02:37 +0100 From: Laurent Vivier To: Peter Maydell Date: Sun, 19 Feb 2017 21:02:31 +0100 Message-Id: <20170219200231.30672-1-laurent@vivier.eu> X-Mailer: git-send-email 2.9.3 X-Provags-ID: V03:K0:kw17T1nmXHl3BHD0RwcPXaTtbJ1/YNX9cNBBvlzJsE9u2DH+0n7 RVgz4uOx/QCYRN8vb+rEEIwAD28DU//YcmXslmFxbUAGO6HE4lxtz1QznytGM+mP7crZGW2 XLDgG6hYm9p9cPqXpHUIkxxpQGduLrxn0DMOKdfVe7EH1B612LnrAzwPdQJjPRPKG79w1tL Duyqh7dnzLpIaPDz49YWw== X-UI-Out-Filterresults: notjunk:1;V01:K0:lQMQph3jb+4=:9XoH+Xl8m1i32KRUJQwop6 ZPFc2OwCoMJHKrPFh3Ac4AZqUIxv+0oeVXhXqoHT3YuVQ4C85+a2Uj+1Cp+doCrtKKZGbblTk b74IqieJegUEU//80khnkX2S2d1Nf4U+WesKBlR0deaIyWpLpVq6bOmD8cB5peBems35Hl3ta uWaHqNI4C6oDxY9WcMIn79Sztq3KCJ9rHR2wm+rBGLv1pYEPdFlFYgTLTLcf0QdS+9j9GQ1ds pve9ufwE4jssCSMf69gWsVT/BVK6t9vAsBZoi5c9tg6TT2PjZbjBLaokBWQMiGKcYJGCyXfSJ Fm4z/d9C5WNg+Jm9XtMkCHOgNNdpo1W1T6WWRDH2GfW8WqsCNHM+B/5OU9dlGUDpdKu1fMg6V 9VLcP6ixEim0/Zj4V9JDI94B7yhe05we7J3FfVgKQwq6ZcKEHUzvtgCU/267KW1FsEAqo4s0z CBWdFZhZ9Y2b1ZiU6hq2MetUAi+YY3TEFAgxHRsHL1s2Lb09FaaMYCVsW4JdNKk2ozLZRcUFe W8O7NYU/qy5BxmiavwHXLophDR8NwYM7rhPs2PnKvkLW8qz42GLrX+aK4Gv4vtclGzAgvWdVY Tn7ZUCrpWwp+GQAnBKoJWm0MMMrYEm1F2Ik1GY1ssFj8XzIWOAIWfU/S7zWLlNa2yWeoJxhr8 Qqjkkl3fuqrlitnWSeKmC8Ja+e19opSzo6l0pAN/zspY4CPH7QNVyenDS6trAPII5MR8= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.126.135 Subject: [Qemu-devel] [PATCH] risu-m68k: update fpregs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-devel@nongnu.org, Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" f_fpregs is a 2d array, not 1d: typedef struct fpregset { int f_pcr; int f_psr; int f_fpiaddr; #ifdef __mcoldfire__ int f_fpregs[8][2]; #else int f_fpregs[8][3]; #endif } fpregset_t; For the moment, we don't manage ColdFire case, only 680x0. Signed-off-by: Laurent Vivier --- risu_reginfo_m68k.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/risu_reginfo_m68k.c b/risu_reginfo_m68k.c index c9d21cc..d0d47d9 100644 --- a/risu_reginfo_m68k.c +++ b/risu_reginfo_m68k.c @@ -31,9 +31,9 @@ void reginfo_init(struct reginfo *ri, ucontext_t *uc) ri->fpregs.f_psr =3D uc->uc_mcontext.fpregs.f_psr; ri->fpregs.f_fpiaddr =3D uc->uc_mcontext.fpregs.f_fpiaddr; for (i =3D 0; i < 8; i++) { - memcpy(&ri->fpregs.f_fpregs[i * 3], - &uc->uc_mcontext.fpregs.f_fpregs[i * 3], - 3 * sizeof(int)); + memcpy(ri->fpregs.f_fpregs[i], + uc->uc_mcontext.fpregs.f_fpregs[i], + sizeof(ri->fpregs.f_fpregs[0])); } } =20 @@ -64,9 +64,9 @@ int reginfo_is_eq(struct reginfo *m, struct reginfo *a, u= context_t *uc) } =20 for (i =3D 0; i < 8; i++) { - if (m->fpregs.f_fpregs[i * 3] !=3D a->fpregs.f_fpregs[i * 3] || - m->fpregs.f_fpregs[i * 3 + 1] !=3D a->fpregs.f_fpregs[i * 3 + = 1] || - m->fpregs.f_fpregs[i * 3 + 2] !=3D a->fpregs.f_fpregs[i * 3 + = 2]) { + if (m->fpregs.f_fpregs[i][0] !=3D a->fpregs.f_fpregs[i][0] || + m->fpregs.f_fpregs[i][1] !=3D a->fpregs.f_fpregs[i][1] || + m->fpregs.f_fpregs[i][2] !=3D a->fpregs.f_fpregs[i][2]) { return 0; } } @@ -93,8 +93,8 @@ void reginfo_dump(struct reginfo *ri, int is_master) =20 for (i =3D 0; i < 8; i++) { fprintf(stderr, "\tFP%d: %08x %08x %08x\n", i, - ri->fpregs.f_fpregs[i * 3], ri->fpregs.f_fpregs[i * 3 + 1], - ri->fpregs.f_fpregs[i * 3 + 2]); + ri->fpregs.f_fpregs[i][0], ri->fpregs.f_fpregs[i][1], + ri->fpregs.f_fpregs[i][2]); } =20 fprintf(stderr, "\n"); @@ -134,15 +134,14 @@ int reginfo_dump_mismatch(struct reginfo *m, struct r= eginfo *a, FILE *f) } =20 for (i =3D 0; i < 8; i++) { - if (m->fpregs.f_fpregs[i * 3] !=3D a->fpregs.f_fpregs[i * 3] || - m->fpregs.f_fpregs[i * 3 + 1] !=3D a->fpregs.f_fpregs[i * 3 + = 1] || - m->fpregs.f_fpregs[i * 3 + 2] !=3D a->fpregs.f_fpregs[i * 3 + = 2]) { + if (m->fpregs.f_fpregs[i][0] !=3D a->fpregs.f_fpregs[i][0] || + m->fpregs.f_fpregs[i][1] !=3D a->fpregs.f_fpregs[i][1] || + m->fpregs.f_fpregs[i][2] !=3D a->fpregs.f_fpregs[i][2]) { fprintf(f, "Mismatch: Register FP%d\n", i); fprintf(f, "m: [%08x %08x %08x] !=3D a: [%08x %08x %08x]\n", - m->fpregs.f_fpregs[i * 3], m->fpregs.f_fpregs[i * 3 + = 1], - m->fpregs.f_fpregs[i * 3 + 2], a->fpregs.f_fpregs[i * = 3], - a->fpregs.f_fpregs[i * 3 + 1], - a->fpregs.f_fpregs[i * 3 + 2]); + m->fpregs.f_fpregs[i][0], m->fpregs.f_fpregs[i][1], + m->fpregs.f_fpregs[i][2], a->fpregs.f_fpregs[i][0], + a->fpregs.f_fpregs[i][1], a->fpregs.f_fpregs[i][2]); } } =20 --=20 2.9.3