qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Jermar <jakub@jermar.eu>
To: HelenOS development mailing list <helenos-devel@lists.modry.cz>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [HelenOS-devel] [sparc64] Miscomputed minimum of a group of numbers in sparc64 emulation
Date: Fri, 01 Jul 2011 16:11:24 +0200	[thread overview]
Message-ID: <4E0DD58C.2070001@jermar.eu> (raw)
In-Reply-To: <4E0DC450.4000700@jermar.eu>

On 1.7.2011 14:57, Jakub Jermar wrote:
> On 1.7.2011 12:41, Artyom Tarasenko wrote:
>> Looks like it's a pretty nice test case.
>>
>> The test case scenario is to load the initial values into the
>> registers (you already know them),
>> calculate the mins, cmp the result with expected and jump somewhere.
>> Since it happens with interrupts disabled, we don't need an OS or bios
>> to test that. The binary just has to have an entry point at 0x20,
>> then we can load it instead of bios.
>>
>> Care to produce the test case? (Otherwise I'll do it, but probably not
>> until the weekend after the next one).
> 
> Yes I have a small reproducible testcase, see the attachments.

Actually, the testcase can be further reduced into:

.global _start

.text

.space 0x20

_start:
	set 110393, %i1
	set 0x40, %i2

	cmp  %i1, %i2
	udivx  %g0, 1, %g0
	movgu  %xcc, %i2, %i1
	cmp  %i1, 512
	bgu  %xcc, 0f
	nop

succ:
	ta 0

fail:
0:
	ta 1

The presence of the `udivx` instruction seems to be essential. Even
though it has no effect on the computation, removing it will make the
testcase non-reproducible.

Jakub

  reply	other threads:[~2011-07-01 14:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-30 21:12 [Qemu-devel] [sparc64] Miscomputed minimum of a group of numbers in sparc64 emulation Jakub Jermar
2011-07-01  9:15 ` [Qemu-devel] [HelenOS-devel] " Artyom Tarasenko
2011-07-01  9:36   ` Jakub Jermar
2011-07-01 10:41     ` Artyom Tarasenko
2011-07-01 12:57       ` Jakub Jermar
2011-07-01 14:11         ` Jakub Jermar [this message]
2011-07-01 14:24           ` Laurent Desnogues
2011-07-01 14:28             ` Jakub Jermar
2011-07-01 15:08               ` Artyom Tarasenko
2011-07-01 14:15         ` Laurent Desnogues
2011-07-01 14:21           ` Jakub Jermar
2011-07-01 15:03           ` Artyom Tarasenko
2011-07-01 15:20             ` Laurent Desnogues
2011-07-01 15:53               ` Artyom Tarasenko
2011-07-01 16:14                 ` Artyom Tarasenko

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=4E0DD58C.2070001@jermar.eu \
    --to=jakub@jermar.eu \
    --cc=helenos-devel@lists.modry.cz \
    --cc=qemu-devel@nongnu.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).