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.