Linked by Thom Holwerda on Sun 29th Apr 2012 20:28 UTC
BeOS & Derivatives "During the coding period, I will first work on the boot loader. I intend to modify the existing x86 boot loader so that it is capable of loading both a 32-bit Haiku kernel and a 64-bit one. Once this is done, I will work on implementing the x86_64 architecture functionality in the kernel. Finally, I will port modules and drivers to the 64-bit kernel. Should I have time, I will also begin work on porting userland." Heck. Yes.
Permalink for comment 516318
To read all comments associated with this story, please click here.
RE[5]: Cool, but...
by umccullough on Mon 30th Apr 2012 14:36 UTC in reply to "RE[4]: Cool, but..."
Member since:

This is especially true on Haiku, since it's compiled for i586, which means but it'll run on a Pentium Pro, but precludes using SSE2 or later in binaries.

Actually, 586 also includes the original Pentium - Pentium Pro was the first of the 686 instruction set.

It's important to note that regardless of what x86 arch the compiler targets by default, programs can detect and use any instructions they find at runtime. For example, ffmpeg does this to detect the best encoding/decoding algorithm for each processor it runs on. I remember one such example where a bi-linear scaling mechanism in the app_server was written with several different instruction sets and detected at runtime as well.

This is what cpuid is used for... you detect features, you use what you find, you degrade gracefully with slower fallback mechanisms.

Reply Parent Score: 3