linux-mips
[Top] [All Lists]

Re: Tester with IP27/IP30 needed

To: Florian Lohoff <flo@rfc822.org>
Subject: Re: Tester with IP27/IP30 needed
From: tsbogend@alpha.franken.de (Thomas Bogendoerfer)
Date: Thu, 17 Jan 2008 01:40:54 +0100
Cc: linux-mips@linux-mips.org, debian-mips@lists.debian.org
In-reply-to: <20080115112719.GB7920@paradigm.rfc822.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20080115112420.GA7347@alpha.franken.de> <20080115112719.GB7920@paradigm.rfc822.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.13 (2006-08-11)
On Tue, Jan 15, 2008 at 12:27:19PM +0100, Florian Lohoff wrote:
> Simple testcase for me is:

now even simpler:

----------------------------------------------------------------------
void spin(void *a0)
{
        while (1) {
                asm volatile(
                "    .set mips3       \n"
                "    sync             \n"
                "1:  ll $5, 0($4)     \n"
                "    sc $3, 0($4)     \n"
                "    beqz $3, 1b      \n"
                "    .word 0x7c03e83b \n" /* rdhwr */
                "    lw $3, 0($4)     \n"
                "    nop              \n"
                );
        }
}

int main()
{
        int a;

        spin(&a);
}
----------------------------------------------------------------------

this kills my IP28 after a few seconds. If I drop rdhwr or sync the
machine hasn't locked up after running for several minutes. Looks
like we are hiting a strange condition.

This sort of code could be found in glibc 2.7 all over the place...

Thomas.

PS: Using rdhwr_noopt doesn't make a difference...

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea.                                                [ RFC1925, 2.3 ]

<Prev in Thread] Current Thread [Next in Thread>