This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: m68k bootstrapping broken
Peter Barada wrote:
Yeah, that's the one I was referring to. Being able to run uClinux
in the emulator is amazing, but it's much slower than the real thing.
It's not that slow when you run it on a honking x86 box!
I've not done any real benchmarking, but the feeling is an order of
magnitude slower than the 5272EVM on my Athlon 2200. Instead, UAE
runs 3x faster than a 50MHz 68060 even with JIT turned off.
A nice project would be porting it to the GDB simulator infrastructure,
but I realized it would be a lot of work. Besides, it only emulates a
5200, which renders it almost useless for automated GCC regression
testing.
It won't be that hard to make it work for a 5206e/5272/528x/5249, at
least from the core perspective(just need to add the div/mod
instructions and the extra v2 insn for the 528x). Adding in the v4
instructions shouldn't be too hard either.
Yes, but I think the emulator also lacks the required infrastructure
to select multiple CPUs at run-time.
And we also need to emulate the 680x0 family in order to run the
testsuite properly :-(
I've looked at porting it over to GDB, and came to the same conclusion
about the scale of work required. It's probably easier to start over
using the GDB simulator framework.
My thought too, but the emulator core could still be ripped off
the ColdFire emulator or UAE instead of starting over.
Anyone game to help on that?
I'd like too, but I'm afraid I lack both time and knowledge.
If you're going to write the core code, I could contribute testing,
bug-fixing and small enhancements. I also volunteer doing the work
of submitting patches for integration into the sourceware repository.
Another possibility could be porting the UAE emulation core instead.
It doesn't handle ColdFire processors, but adding the CF instruction
set shouldn't be too much work. The real issue is emulating all the
ColdFire peripherals :-(
Do we really need all the peripherals? Just the serial ports should do.
Besides, the UAE doesn't handle the GDB simulator framework either.
Serial ports suffice to test m68k-elf. If we ever want to support
m68k-uclinux, we'll have to provide everything that the uClinux kernel
expects, like the ColdFire emulator does. If we even want to run
m68k-linux, we'll also have to emulate the MMU and perhaps even caches.
The Sky Eye emulator does that for ARM processors, but it's an
ambitious project with lots of resources.
--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/