Hacker News new | ask | show | jobs
by efuquen 4532 days ago
Why should everyone else pay the 20K to subsidize ancient hardware support? If there really is a subset of people who really really depend on this, then they should be forking up the cash to pay for something that could be had for free elsewhere if support was restricted to 95% of the platforms in use by the vast majority of people.

If there is an argument that maintaining this will somehow improve security overall and not just on ancient hardware then I would love to see it. But if the Devs working on it could care less of what the rest of us think, then maybe those Devs should pay their electricity bills to support their toy platforms because I could care less about what they think too ...

1 comments

That is the argument. Obscure kernel and driver bugs are frequently only made apparent as edge cases on said ancient weird hardware, but the fixes benefit all platforms from a code-correctness point-of-view.
But many of those old hardware platforms can be emulated. So if their reason of existence is only triggering edge cases, there are other ways to do so.
Actually most can't be emulated because emulators don't exist and those which can typically can't be emulated correctly (Sparc emulators for example which are notoriously sparse and bad quality).

Some of the architectures also have different endianess and incredibly complicated peripherals to the cost effective host machines as well meaning that it's actually more power efficient to run native. A headless 100MHz VAXstation for example draws less power than the equivalent host that would be required to provide a full, accurate emulation with peripherals. These aren't arcade machines.

OTOH, the preservation of such historically relevant architectures would benefit enormously from emulation. This is an aspect that should get some attention and which could, possibly, open up another funding avenue to the project as a side effect.
Not really. The OS syscall interface, ABI and the fact everything is abstracted via your C compiler normalises the differences between the machines pretty well meaning you only end up dealing with portability issues.

Portability issues is where real hardware benefits. It's where you have battles of unusual register sizes, endianess, host/network order differences, different memory models and memory protection, different performance characteristics, different timings and different exploits.

Unless the emulation is 100% accurate, including timing, which is a really difficult thing to do (look at the effort MAME goes to), then the benefits over real hardware is moot.

Emulators are also expensive to write due to the above, have their own bugs and don't always recreate the bugs in the real hardware (which are sometimes exploitable).

I was thinking about MAME (more specifically, about MESS). If two groups benefit from a single effort, it seems to be an good investment, even if it costs nearly twice as much.

Also, using emulated hardware could cut down the usage of the real pieces, which could then be better studied and preserved. Doing less builds on vintage hardware is, actually, a good idea.

Emulation isn't guaranteed to manifest the same edge case issues that surface these defects, though.

Then again, it's possible that emulation could surface other edge case issues. That's completely orthogonal to the value of non-emulated archaic architectures for this purpose, however.