Port-mips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: __atomic_test_and_set() and mips o32 - help wanted
Hi Maciej,
"Maciej W. Rozycki" wrote:
> On Mon, 17 Nov 2025, Simon Burge wrote:
>
> > MIPS1 has no ll/sc or any other atomic primatives. SMP R3000
> > boxes (eg DECsystem 54x0) used external hardware for this.
> >
> > Seems like RAS (see rasctl(2)) might be the only (simple?)
> > option for MIPS1/o32 ?
>
> Just trap and emulate LL/SC in the kernel for user software; it's trivial
> for UP and lets software benefit from actual machine instructions when run
> on newer hardware (which is the vast majority nowadays).
Heh, very simple solution... and we already emulate ll/sc!
> For SMP the exception handler could make use of said external logic, but
> I reckon there's no support for such hardware in the OS right now (and
> said hardware is as scarce as hen's teeth anyway).
>
> NB it's the 58x0 that's SMP; the 5400 along with 5500 are ordinary UP
> Q-bus boxes and you can actually swap the CPU modules between them.
That'll teach me for not double checking. I've never seen a 58x0 (or a
5400), but I still for some reason have four 5500's in my garage.
Cheers,
Simon.
Home |
Main Index |
Thread Index |
Old Index