Re: Tester with IP27/IP30 needed
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 ]
Reply to: