Support for Microsoft eMIPS ("Extensible MIPS") platform committed
In April 2009 I got an email from Alessandro Forin containing this picture as an attachment. His group at Microsoft Research was investigating dynamically reconfigurable computing and needed an operating system for testing purposes. I was happy that they were using NetBSD for their research and was especially pleased to learn that they had also evaluated another general purpose open source OS but found NetBSD vastly superior for their purposes. Jokingly I even suggested they should send patches. A few months later I got another mail from Sandro saying: "Believe it or not this might actually happen". There were a number of issues to work on, including the paperwork for getting the copyright transferred from Microsoft Corporation to The NetBSD Foundation and forward-porting the NetBSD 4.x-based code to -current, but now I am pleased to announce I have just committed the eMIPS port to the NetBSD source tree.
The Microsoft Research eMIPS page gives the following summary of the eMIPS architecture:
The "extensible MIPS" is a dynamically extensible processor for general-purpose, multi-user systems. The reconfigurable logic (Extensions) dynamically load/unload application-specific circuits. Extensions add specialized instructions to the processor, security monitors, debuggers, new on-chip peripherals. Extended Instructions dramatically speedup application programs, just by patching their binaries. eMIPS runs NetBSD on the Xilinx ML401/2 (Virtex V4) XUP (V5), and on the BEE3(4xV5).
What makes NetBSD/emips an appealing platform for researchers and hobbyists interested in the MIPS architecture is the full availability of the CPU and platform peripheral source code. Testing of modifications can be done on FPGA platforms or in the Giano system simulator which available for download here.
The NetBSD port page for eMIPS is at http://www.NetBSD.org/ports/emips/. Among other things, it contains links to hardware vendors and installation instructions for NetBSD/emips using the Giano simulator. The NetBSD daily autobuild system will eventually offer NetBSD/emips binaries for download. Meanwhile, Microsoft Research offers a download for NetBSD 4.0.1 here.
In addition to the eMIPS port, Microsoft contributed a machine independent framework for hardware accelerator scheduling, a scheduling policy for it, and a secure executable format. They will be proposed shortly on the tech-kern mailing list. Meanwhile, please have fun with eMIPS!
[0 comments]