Hacker News new | ask | show | jobs
by rc4algorithm 3863 days ago
The vast majority of MIPS systems are bargain-basement embedded systems, though. Also, the ISA is pretty messy (especially at the kernel layer) and doesn't support many modern features such as per-page W^X or crypto acceleration.

I dislike monopolies more than most, but MIPS isn't currently a very strong contender for ARM's market share.

1 comments

Right now MIPS rules the television and set-top-box world, because there are, I think, two Chinese companies both of which own the IP for a MIPS core and all the digital TV decoder logic; which means that they can produce a complete end-to-end TV chipset and not have to pay anyone anything. So they're vastly cheaper than anything else.

Also, don't dismiss them. My last company was a startup producing a portable native gaming platform. I did a couple of ports to some MIPS-based smart TVs, and it totally rocked; I think we ended up with Lego Batman running on it in HD with an XBox 360 controller plugged into the USB diagnostics port on the back.

Of course, at the userland level all these platforms are horrible piles of fail. The ones I've seen all run badly-ported Linux kernels, and on at least one they hadn't bothered to write device drivers, and as a result the TV UI stack did audio by talking via pipes to a standalone executable, running as root, which fiddled with the hardware registers. Unsurprisingly we had latency problems...

I believe MIPS is a popular choice with internet routers too (at least the ones designed for domestic use).

Out of interest, what did you use for your base OS when you were doing MIPS development? Did you reuse an existing distro? Does Linaro support MIPS?

EDIT: Just found out there's a Linaro-like organisation for MIPS called Prpl. Is that what you used?

http://linuxgizmos.com/mips-supporters-form-a-linaro-like-co...

We didn't have control over the base OS --- we just had to port to whatever foul junk the manufacturers had put on it, and usually had to link to their UI libraries, as our platform was intended to run alongside the vendor UI.

I vaguely remember Linaro, but that might have been ARM (which we also supported). I don't recall Prpl.