From: Don Slutz <dslutz@verizon.com>
To: Jan Beulich <JBeulich@suse.com>, Don Slutz <dslutz@verizon.com>
Cc: Keir Fraser <keir@xen.org>, xen-devel@lists.xen.org
Subject: test_x86_emulator (was Re: [PATCH optional v2 01/10] hvm/hpet: Add manual unit test code.)
Date: Mon, 14 Apr 2014 13:29:20 -0400 [thread overview]
Message-ID: <534C1AF0.3060707@terremark.com> (raw)
In-Reply-To: <534BAD0F0200007800008407@nat28.tlf.novell.com>
On 04/14/14 03:40, Jan Beulich wrote:
>>>> On 11.04.14 at 19:40, <dslutz@verizon.com> wrote:
>> Testing movdqu %xmm2,(%ecx)... okay
>> Testing movdqu (%edx),%xmm4... okay
>>
>> Breakpoint 3, main (argc=<optimized out>, argv=<optimized out>) at
>> test_x86_emulator.c:661
>> 661 if ( (rc != X86EMUL_OKAY) || memcmp(res, res + 16, 64) )
>> (gdb) p rc
>> $4 = 7
>> (gdb) q
> I don't see how a return code of 7 could ever be observed here. But
> It's then apparently not the suspected XMM register clobbering.
On ac0f56a + All these patches (which should not effect this)
It is more complex then it appears at 1st look.
-O1:
...
Testing movdqu (%edx),%xmm4... okay
Testing vmovdqu %ymm2,(%ecx)... skipped
Testing vmovdqu (%edx),%ymm4... skipped
Testing movsd %xmm5,(%ecx)... okay
Testing movaps (%edx),%xmm7... okay
...
-O2:
...
Testing movdqu (%edx),%xmm4... okay
Testing vmovdqu %ymm2,(%ecx)... failed!
make: *** [run] Error 1
How I got here:
...
Testing movq (%edx),%mm5... okay
Testing movdqu %xmm2,(%ecx)... okay
Testing movdqu (%edx),%xmm4... okay
Breakpoint 1, main (argc=<optimized out>, argv=<optimized out>) at test_x86_emulator.c:702
702 printf("%-40s", "Testing vmovdqu %ymm2,(%ecx)...");
(gdb) c
Continuing.
Breakpoint 3, x86_emulate (ctxt=ctxt@entry=0x7fffffffdb80, ops=ops@entry=0x6152a0 <emulops>)
at x86_emulate/x86_emulate.c:4164
4164 get_fpu(X86EMUL_FPU_ymm, &fic);
(gdb) p rc
$2 = 0
(gdb) s
get_fpu (exception_callback=0x402a60 <fpu_handle_exception>, exception_callback_arg=0x7fffffffd7d0,
type=X86EMUL_FPU_ymm, ctxt=0x7fffffffdb80) at test_x86_emulator.c:138
138 switch ( type )
(gdb) n
137 {
(gdb)
138 switch ( type )
(gdb)
154 return X86EMUL_OKAY;
(gdb)
138 switch ( type )
(gdb)
152 return X86EMUL_UNHANDLEABLE;
(gdb)
138 switch ( type )
(gdb)
132 int get_fpu(
(gdb)
155 }
(gdb)
x86_emulate (ctxt=ctxt@entry=0x7fffffffdb80, ops=ops@entry=0x6152a0 <emulops>) at x86_emulate/x86_emulate.c:4525
4525 }
(gdb)
main (argc=<optimized out>, argv=<optimized out>) at test_x86_emulator.c:719
719 if ( (rc != X86EMUL_OKAY) || memcmp(res, res + 16, 64) )
(gdb)
934 printf("failed!\n");
And so I tried at the lower -O1, and "it works".
>> This is from 4.3.1...
> I.e. not really meaningful if not proven to behave the same on
> -unstable. And anyway, if you're not up to debugging this, I don't
> think there's much we can do.
Since I know almost nothing about both AVX instructions and x86_emulate, it is
hard for me to quickly help.
-Don Slutz
> Jan
>
next prev parent reply other threads:[~2014-04-14 17:29 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-08 14:24 [PATCH v2 00/10] Prevent one cause of "MP-BIOS bug: 8254 timer"... message from linux Don Slutz
2014-04-08 14:24 ` [PATCH v2 01/10] hvm/hpet: Add manual unit test code Don Slutz
2014-04-09 16:08 ` Jan Beulich
2014-04-09 18:35 ` Don Slutz
2014-04-10 6:11 ` Jan Beulich
2014-04-11 2:53 ` Don Slutz
2014-04-11 7:45 ` Jan Beulich
2014-04-11 11:57 ` [PATCH optional " Don Slutz
2014-04-11 12:09 ` Jan Beulich
2014-04-11 12:48 ` Don Slutz
2014-04-11 15:14 ` Jan Beulich
2014-04-11 17:40 ` Don Slutz
2014-04-14 7:40 ` Jan Beulich
2014-04-14 17:29 ` Don Slutz [this message]
2014-04-15 6:49 ` test_x86_emulator Jan Beulich
2014-04-15 14:24 ` test_x86_emulator Don Slutz
2014-04-16 8:26 ` test_x86_emulator Jan Beulich
2014-04-16 9:32 ` test_x86_emulator Keir Fraser
2014-04-16 15:21 ` test_x86_emulator Don Slutz
2014-04-08 14:24 ` [PATCH v2 02/10] hvm/hpet: Only call guest_time_hpet(h) one time per action Don Slutz
2014-04-14 14:31 ` Jan Beulich
2014-04-14 17:38 ` Don Slutz
2014-04-08 14:24 ` [PATCH v2 03/10] hvm/hpet: Only set comparator or period not both Don Slutz
2014-04-14 14:58 ` Jan Beulich
2014-04-14 22:53 ` Don Slutz
2014-04-15 6:59 ` Jan Beulich
2014-04-16 4:06 ` Don Slutz
2014-04-08 14:24 ` [PATCH v2 04/10] hvm/hpet: In hpet_save, correctly compute mc64 Don Slutz
2014-04-08 14:24 ` [PATCH v2 05/10] hvm/hpet: Init comparator64 like comparator Don Slutz
2014-04-08 14:24 ` [PATCH v2 06/10] hvm/hpet: comparator can only change when master clock is enabled Don Slutz
2014-04-14 15:07 ` Jan Beulich
2014-04-14 19:50 ` Don Slutz
2014-04-15 7:05 ` Jan Beulich
2014-04-15 15:53 ` Don Slutz
2014-04-15 16:14 ` Jan Beulich
2014-04-15 18:11 ` Don Slutz
2014-04-16 8:42 ` Jan Beulich
2014-04-08 14:24 ` [PATCH v2 07/10] hvm/hpet: Call hpet_get_comparator during hpet_save Don Slutz
2014-04-14 15:13 ` Jan Beulich
2014-04-15 0:21 ` Don Slutz
2014-04-15 7:06 ` Jan Beulich
2014-04-15 14:18 ` Don Slutz
2014-04-08 14:24 ` [PATCH v2 08/10] hvm/hpet: Prevent master clock equal to comparator while enabled Don Slutz
2014-04-08 14:24 ` [PATCH v2 09/10] hvm/hpet: Correctly limit period to a maximum Don Slutz
2014-04-08 14:24 ` [PATCH v2 10/10] hvm/hpet: handle 1st period special Don Slutz
2014-04-14 15:27 ` Jan Beulich
2014-04-15 0:21 ` Don Slutz
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=534C1AF0.3060707@terremark.com \
--to=dslutz@verizon.com \
--cc=JBeulich@suse.com \
--cc=keir@xen.org \
--cc=xen-devel@lists.xen.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).