xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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
>

  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).