Category Archives: Intel

Undocumented 8086 Opcodes, Part I

This is a guest post by Raúl Gutiérrez Sanz This multi-part document is about undocumented 8086 processor opcodes and their behavior. Most of the document will likely apply to the 8088 processor as well, but this has not been verified. … Continue reading

Posted in 8086/8088, Intel, Undocumented | 7 Comments

How Apple Created Hackintosh, Part II

There is every indication that throughout the early 2000s, Apple internally built and ran all of OS X on x86 PCs (it’s also something Steve Jobs himself mentioned in 2005). Otherwise why would Apple have x86 drivers for AC’97 audio … Continue reading

Posted in Apple, Intel, OS X, PC history, Pre-release | 10 Comments

HTT Means Hyper-Threading, Right?

In a logical, ordered world, the HTT bit in CPUID would indicate a processor with Hyper-Threading Technology enabled. But of course the world with Intel inside is anything but logical. The actual meaning of the HTT bit changed several times … Continue reading

Posted in Documentation, Intel, Pentium 4 | 13 Comments

How Apple Created Hackintosh, Part I

At a developer conference in June 2005, Apple announced that OS X will transition from PowerPC to Intel processors. The first Intel Macs (sometimes nicknamed “Mactels”) were introduced several months later, in January 2006. The announcement generated significant interest in … Continue reading

Posted in Apple, Intel, PC history, Pre-release | 10 Comments

SYSENTER, Where Are You?

It has only recently been brought to my attention that Intel’s SYSENTER/SYSEXIT instructions have rather unusual past, and their origin is shrouded in mystery and confusion. One facet of the usage of these instructions is also a little unorthodox. Depending … Continue reading

Posted in Intel, PC history, Undocumented | 12 Comments

SGDT/SIDT Fiction and Reality

PSA: Actual hardware behavior takes precedence over vendor documentation. Or, as they say… trust but verify. A reader recently complained how Intel and AMD do not implement the SGDT and SIDT instructions the same way. AMD documentation states that these … Continue reading

Posted in 286, 386, AMD, Documentation, Intel | 38 Comments

How the PC Industry Screws Things Up

I was recently involved in investigating a problem that turns out to be a complete SNAFU which nicely illustrates the chaos that is the PC platform. It’s about the NX/XD bit. Let’s start with a bit of history. It turns … Continue reading

Posted in AMD, Intel, Microsoft | 34 Comments

Something New Every Day…

Apparently in 1990, Intel still sold complete systems, and they were PC compatible at that point. And perhaps not surprisingly, Intel also OEMed MS OS/2 1.21: And there was this cute ASCII-art logo: There very little customization that Intel did, … Continue reading

Posted in Intel, OS/2 | 14 Comments

There’s More to the 286 XENIX Story

It turns out that there is a rather interesting story behind the 286 XENIX incompatibility with 386 and later processors. Here’s roughly what happened in chronological order. In 1982, Intel released the iAPX 286 processor, later known as the 80286 or simply 286. This … Continue reading

Posted in 286, 386, Intel, Microsoft | 39 Comments

PCI Corner Case

Last weekend I had the pleasure of debugging a curious case of older PCI configuration code (circa 2005) failing on newer (post-2010) hardware. The code was well tested on many 1990s and 2000s PCs (and some non-PCs) with PCI/AGP/PCIe and never … Continue reading

Posted in Bugs, Intel, PCI | 11 Comments