The content of this blog is my personal opinion only. Although I am an employee - currently of Nvidia, in the past of other companies such as Iagination Technologies, MIPS, Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Tuesday, September 01, 2015

Development Platforms for MIPS (esp MIPS64)

I have often been asked by my hacker friends "Where do I get a MIPS based system to play with?"  As in home, personal, hacking and experimentation. SW and/or HW.

Apart from saying "Well, your home router probably has a MIPS CPU" or "Install OpenWRT or the like on a home router" I have never really had a good answer for my friends.

In particular, I did not know where to find a MIPS64 development system - to recommend to my friends, but also for my playing around with at home.

I just found the webpage of MIPS development systems here, and in particular the Ubiqiti Edgemac ERlite-3.  With its big brothers in the Ubiqiti EdgeRouter family (datasheet), the ER-8 and the ERpro-8, ranging from

2 MIPS64 cores (from Cavium) @ 500 MHz

512MB DRAM / 2GB flash / 4 ports


2 MIPS64 cores @ 1 GHz

2G DRAM / 4GB flash / 8 ports

with prices from circa 92$ to 345$ on Amazon.

I was about to complain about the relatively small amounts of DRAM and Flash for 64-bit OS development.  (Although, a lot more than most routers have.)

But: this is MIPS.  SW TLB miss handling is the norm.  If you can memory map the flash, you could make the flash part of the memory hierarchy beyond DRAM.  I.e. treat DRAM as a cache for flash, write absorbing.

Heck, this could be a fun system for ASPLOS type OS hacking, designing alternative page table structures for OSes, virtual machines, etc.

Attach a NAS to the ethernet ports, and away you go.

A very nice system for SW hacking, especially if you hack at the virtual memory level.

Unclear how much hardware hacking you can do.

Daddy knows what he wants for Christmas.