Re: Interesting Emulation/Project idea for Linux.

Systemkennung Linux (
Sun, 6 Apr 1997 23:21:08 +0200 (MET DST)


people that are interested in all that simulation stuff should take a
look at the SimOS project of the University of Stanford. SimOS is a
simulation framework that can be extended to simulate arbitrary
CPUs and operating systems. Their first simulation target was
a IRIX 5.3 running on a Sparc host; now they're also running little
endian Linux/MIPS. The interesting thing in SimOS is that it can
simulate machine using a couple of different simulators ranging from
fast (3-7 slower than host running native code) to slow but very detailed
simulators. The detailed simulators can also give detailed data
about cache hits and other data. SimOS can load/store a complete
context of the virtual machine - very handy for debugging with GDB.

Handy for kernel hacking and needs no kernel mods at all. If I remember
right they're also working on Alpha simulation.


> My attention has been garnered by the quasi-announcement of x86-ELF
> emulation on the Alpha. I was listing off all the environments for which
> we can, in one form or another, run some sort of emulator... Macs
> (executor), Amigas (UAE), HP48 calculators, x86-ELF Linux binaries,
> Commodore-64 machines, et cetera. In short, we have support of some
> variety or another for a LOT of current (and dead/dying) platforms. Now,
> since we have (Most of) the source to emulation environments for these
> various platforms available, what is stopping someone from adding hooks to
> the kernel to provide low-level system services to these emulators? Seems
> to me that doing some of the work at the kernel-level would be a heck of a
> lot faster than relying entirely upon user-level programming to provide
> emulation. Adding this functionality as a module subsystem is probably
> the most acceptable route, since that would reduce the necessary code
> bloat that would go along with including this in a kernel-level system.
> Another handy feature provided by doing something like this would be
> increased opportunities for folks doing embedded work to use Linux as a
> platform. The _ELKS_ project might also benefit from work projected in
> such directions, since that would alleviate the need for them to actually
> do all their development on the projected hardware platforms. A little
> CPU, MMU, and io-controller emulator could be really handy.
> A generic core of code might be a good start here. It seems that a lot of
> the work done by hardware is pretty common to various platforms with only
> the specifics differing.
> Now, obviously I'm not a wonderful enough programmer to actually make
> any or all of this come to pass. In fact, this is WAAAAAY bigger than
> anything I'd even want to consider taking on. =) But, it could be cool.
> =)
> Linus may nix this whole idea as being completely silly. Opinions
> requested, please; flames to /dev/null.
> --elijah

Ralf Baechle

Internet: Fido: Ralf Baechle 2:245/5618.2 Mud: arrow@Mythos