From: Jan Bobek <jan.bobek@gmail.com>
To: "Richard Henderson" <richard.henderson@linaro.org>,
"Alex Bennée" <alex.bennee@linaro.org>
Cc: "qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [RISU v2 07/11] test_i386: change syntax from nasm to gas
Date: Tue, 21 May 2019 13:07:27 -0400 [thread overview]
Message-ID: <96e76878-7838-80e4-cf0a-2f9804709e49@gmail.com> (raw)
In-Reply-To: <06dee3da-977b-4b7f-e96a-80cdbac4db99@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 1208 bytes --]
On 5/21/19 12:56 PM, Richard Henderson wrote:
> On 5/21/19 12:48 PM, Jan Bobek wrote:
>> I get the same behavior, but it only occurs on 32bit builds of
>> RISU. Specifically, in risu_reginfo_i386.c, lines 172--178:
>>
>> for (i = 0; i < nvecregs; ++i) {
>> #ifdef __x86_64__
>> memcpy(&ri->vregs[i], &fp->xmm_space[i], 16);
>> #else
>> memcpy(&ri->vregs[i], &fp->_xmm[i * 4], 16);
>> #endif
>> }
>>
>> In the #else branch, fp->_xmm has type _libc_xmmreg[16], and
>> _libc_xmmreg itself is a struct with a 4-element array of uint32s. On
>> my box, this gets fixed by dropping the multiplication from the index,
>> i.e.
>>
>> memcpy(&ri->vregs[i], &fp->_xmm[i], 16);
>>
>> I wonder why Richard wrote it like this in the first place; did
>> fp->_xmm use to be an array of uint32s in previous versions of this
>> API?
>
> I dunno what happened, but these indexes are backward.
>
>>From <asm/sigcontext.h>:
>
> struct _fpstate_32 {
> ...
> struct _xmmreg _xmm[8];
>
>
> struct _fpstate_64 {
> ...
> __u32 xmm_space[64]; /* 16x XMM registers, 16 bytes each */
Indeed; that makes for one more fix in v3.
-Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-05-21 17:08 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-17 22:44 [Qemu-devel] [RISU v2 00/11] Support for i386/x86_64 with vector extensions Jan Bobek
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 01/11] Makefile: undefine the arch name symbol Jan Bobek
2019-05-18 15:26 ` Richard Henderson
2019-05-20 11:47 ` Alex Bennée
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 02/11] risu_i386: move reginfo_t and related defines to risu_reginfo_i386.h Jan Bobek
2019-05-18 15:27 ` Richard Henderson
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 03/11] risu_i386: move reginfo-related code to risu_reginfo_i386.c Jan Bobek
2019-05-18 15:27 ` Richard Henderson
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 04/11] risu_reginfo_i386: implement arch-specific reginfo interface Jan Bobek
2019-05-18 15:31 ` Richard Henderson
2019-05-20 12:11 ` Alex Bennée
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 05/11] risu_i386: implement missing CPU-specific functions Jan Bobek
2019-05-18 15:34 ` Richard Henderson
2019-05-20 12:12 ` Alex Bennée
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 06/11] risu_i386: remove old unused code Jan Bobek
2019-05-18 15:35 ` Richard Henderson
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 07/11] test_i386: change syntax from nasm to gas Jan Bobek
2019-05-18 15:37 ` Richard Henderson
2019-05-20 12:17 ` Alex Bennée
2019-05-20 22:43 ` Richard Henderson
2019-05-21 9:08 ` Alex Bennée
2019-05-21 13:32 ` Richard Henderson
2019-05-21 15:30 ` Alex Bennée
2019-05-21 16:48 ` Jan Bobek
2019-05-21 16:56 ` Richard Henderson
2019-05-21 17:07 ` Jan Bobek [this message]
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 08/11] configure: add i386/x86_64 architectures Jan Bobek
2019-05-18 15:37 ` Richard Henderson
2019-05-20 12:17 ` Alex Bennée
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 09/11] i386: Add avx512 state to reginfo_t Jan Bobek
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 10/11] risu_reginfo_i386: replace xfeature constants with symbolic names Jan Bobek
2019-05-18 15:59 ` Richard Henderson
2019-05-20 12:18 ` Alex Bennée
2019-05-17 22:44 ` [Qemu-devel] [RISU v2 11/11] risu_reginfo_i386: accept named feature sets for --xfeature Jan Bobek
2019-05-18 16:00 ` Richard Henderson
2019-05-18 12:23 ` [Qemu-devel] [RISU v2 00/11] Support for i386/x86_64 with vector extensions Alex Bennée
2019-05-20 12:30 ` Alex Bennée
2019-05-21 15:28 ` Jan Bobek
2019-05-21 16:49 ` Richard Henderson
2019-05-23 18:03 ` Jan Bobek
2019-05-23 18:29 ` Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=96e76878-7838-80e4-cf0a-2f9804709e49@gmail.com \
--to=jan.bobek@gmail.com \
--cc=alex.bennee@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).