Port-mips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: MIPS Alchemy machine don't boot
Simon Burge wrote:
> KIYOHARA Takashi wrote:
>
> > Hi! Simon,
> >
> >
> > From: Simon Burge <simonb%NetBSD.org@localhost>
> > Date: Fri, 08 Jan 2010 23:03:20 +1100
> >
> > > This is all sounding like some 64-bit code merge issue. I wonder if any
> > > 32-bit evbmips machines were tested during or after that merge?
> >
> > I had not tested long time.
> >
> > Maybe, I cannot solve it. Should I post to tech-kern@ this problem?
>
> This should be the right list, but I've CC'd Matt Thomas as well.
Which I forgot to do :)
I've found the problem. In lock_stubs.S we have the following
code:
.set mips3
...
move t1, a2
which will always generate a 64-bit move, since the ".set mips3"
will override any -mabi=<abi> command line flag.
The following snippet from mipsX_subr.S shows what is needed. Perhaps
we can wrap this up in a macro?
/*
* Set ISA level for the assembler.
*/
#if defined(MIPS3)
.set mips3
#endif
#if defined(MIPS32)
.set mips32
#endif
#if defined(MIPS64)
.set mips64
#endif
The three ".set mips3" in locore.S look to be safe. The same in
locore_mips3.S I think we get lucky because we don't use "move" that
file. We will need to fix that, but should be ok for today.
Kiyohara - I've committed a workaround to lock_stubs.S - can you cvs
update and test on your Alchemy board? I hope that this is the only
place it causes a problem. I can't see any others in the kernel or
userland.
Matt - was there any testing the merged 64-bit code on 32-bit only
hardware (either mips1 or mips32)?
Cheers,
Simon.
Home |
Main Index |
Thread Index |
Old Index