This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]