IRIX and Software

Irix binary compatibility for Linux on MIPS64? - Page 2

nyef wrote: It should be possible to implement IRIX binary compatibility for Linux purely from user mode.

Yes, it would be slow in execution. But you would have the improved cycle time of not needing to deal with a full kernel build (or even "just" the dance for a loadable module), you can bring a normal debugger to bear, and so on. And once it's all running reasonably well, then you can consider building it as a kernel module. And until then, well, now you don't have to worry nearly as much about keeping it in sync with the Linux kernel because the ABI doesn't change incompatibly all that often.


The SimOS project achieved emulating IRIX. The SimOS project is open-source now and available on the internet.
A quote from the SimOS PHD:

"The initial version of SimOS models uniprocessor and multiprocessor computer
systems in enough detail to run Silicon Graphics’s IRIX operating system as well as the
large class of applications designed for this platform."

He even had access to the IRIX source code as the second quote shows:
"I would also like to thank the National Science Foundation and the Intel Foundation for
the graduate research fellowships that supported me at Stanford, ARPA for funding this
project in contract DABT63-94-C-0054, and Silicon Graphics for the machines and IRIX
source code with which SimOS was developed."

Another quote from the PHD:
"By running the IRIX operating system, a SimOS-modeled computer system is binary-compatible with
computer systems shipped by Silicon Graphics, and can support the execution of almost
any program designed for that platform."

I have attached the SimOS PHD.
:Fuel: 600 MHz, 2 GB RAM, 72 GB 15k RPM HD
:O2: 180 MHz
rwengerter wrote:
nyef wrote: It should be possible to implement IRIX binary compatibility for Linux purely from user mode.

The SimOS project achieved emulating IRIX. The SimOS project is open-source now and available on the internet.

That's cute, but very, very different from what I had in mind. I was thinking syscall-level simulation of IRIX by means of using ptrace() against a Linux process to intercept syscalls, signals, and the like, and present an overall IRIX-like process environment. Not a full-system simulation that requires a custom patched IRIX kernel!