The system software on IA-32 has no control over what is stored in the cache aside from invalidating it. The fact that one OS would run on cache that another wouldn't is pure coincidence, not a metric of tolerance of bad hardware. Flakey peripheral hardware on the other hand you will find consistently more useful in open source systems because users send in their custom workarounds to be included in the drivers. Also, you can use bad RAM in Linux by telling the kernel not to use the defective regions.