Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

To get an idea of what kind of grief arises from a legacy kernel on significantly newer hardware: XP doesn't know how to save and restore AVX register state across context switches. The cpuid instruction doesn't look at the OS, so AVX is detected as being available, but it doesn't work right. (This has been an actual problem for crypto code in Firefox.)


XP doesn't natively support hard disks with non-512-byte sectors, leading to performance degradation (and possibly more wear?) on modern, higher-capacity hard drives which use 4096-byte sectors and have to emulate 512-byte sectors for Windows XP's sake.


Vanilla Windows 7 doesn't support 4K sectors either.

I discovered this when I unthinkingly replaced my laptop's failing disk with a 4K disk. Windows 7 installed itself from the recovery DVD, but would blue screen on the first reboot.


If I remember correctly, Intel CPUs had support in hardware for automatically saving and restoring the CPU state (doing a task switch) since the 386, and there was a way to query the CPU for how big that state needs to be. That would've enabled automatic forward-compatibility, but I have a feeling that feature got broken sometime around the AMD64 timeframe (by AMD, not Intel.)


Yeah but nobody used it - the task state segment was slow to write and read - so it was faster to push/pop registers. Pity - because this forward-compatibility argument might have convinced folks back then.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: