Port-m68k archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: New pmap module for m68k
> On Nov 13, 2025, at 1:05 AM, Romain Dolbeau <romain%dolbeau.org@localhost> wrote:
>
> * MC68030
> - a pure shared bus is severely impaired by the bus arbitration
> mechanism. The '030 doesn't request the bus, it uses it unless someone
> else owns it. So one would basically need to round-robin between the
> '030s, compromising latency. Of course one can isolate '030 from one
> another on independent buses, but it requires a lot more hardware.
> Though if the design requires interfacing with 3V3 devices, the level
> shifters could also be used to isolate signals.
> - the data caches don't play well with one another, so any potentially
> shared page has to be marked as non-cacheable, severely impairing
> performances
I agree, the 68030 is not a practical CPU for such an endeavor.
> * MC68040
> - bus arbitration is saner, and in theory could be done with just an
> external arbiter (for CPUs and DMA devices). The documentation for
> external arbiters is unfortunately errata'ed to "broken beyond repair,
> don't look at it", which isn't helpful
> * the data caches don't play well with one another even with snooping,
> so so any potentially shared page has to be set to write-through
> rather than write-back, impairing performances
Yah, I spent a little time looking at the 68040’s arbitration and cache coherency protocols for another project (I have a series of 68k home-brews in the works), but I haven’t spent much time working out all the details, even for my simple use case.
> * MC68060
> - AFAICT, SMP should be implementable with no major downside (other
> than all the unimplemented instructions in the '060, like CAS2)
Well, the major downside of 68060s is that they’re pretty hard to come by, comparatively.
> I'm not entirely sure which core can be emulated in QEmu ; I know the
> '040 can but I don't think the '060 is there?
Qemu models the 68040 only, and not 100% accurately.
> If anyone wanted to look at SMP support in NetBSD/virt68k, the best
> bet would likely be the MC68040 as caches and arbiters won't be an
> issue (I'm assuming it's a functional model, not a RTL-accurate one),
It is a functional model. Adding dual-CPU support to it should not be terribly difficult if the goal is to prep software.
-- thorpej
Home |
Main Index |
Thread Index |
Old Index