5 ms·
Why creating native x86 needs a licence, but emulation don't? If a cpu is running microcode, how far away it is from emulation?
by intricatedetail 6y ago
Why creating native x86 needs a licence, but emulation don't? If a cpu is running microcode, how far away it is from emulation?
- avianlyric 6y agoI wouldn’t assume that there isn’t a licence involved. Intel have clearly indicated in the past that they think licensing is a requirement for emulating x86[0]. I imagine that Apple are only emulating x86-64, since they dropped 32bit support in their last OS. I believe that x86-64 is owned by AMD, so I imagine Apple has a licensing deal with them. [0] https://www.forbes.com/sites/tiriasresearch/2017/06/16/intel-threatens-microsoft-and-qualcomm-over-x86-emulation/ https://www.forbes.com/sites/tiriasresearch/2017/06/16/intel...
- saagarjha 6y agoApparently Rosetta emulates 32-bit as well (of course, the kernel will not load these binaries directly). I can only think of CrossOver that needs it, so I'm not quite sure why they went through the effort to add it…
- klelatti 6y agoI think that the legal requirements will depend on the precise instructions - eg your linked article mentions SIMD. Certainly the basic x86-64 extension to x86 originated at AMD who (due to cross license deals) licenses them to Intel but things like AVX are Intel. I suspect that code emitted by Xcode omits these newer instructions. Bear in mind too that a lot of the x86 patents will have expired by now.
- saagarjha 6y agoXcode will emit those if you ask for it, and macOS ships some binaries that use those instructions. However, Rosetta doesn't do AVX.
- SXX 6y agoMy educated guess would be the difference between hardware and software patents. There is organizations like Open Invention Network that help to support open source software. Also I not sure how important this is, but AMD / Intel contribute a lot into GCC under GPLv3 which have patents grant so they can't just go after someone who using their instruction set. This of course also apply for software under Apache license 2.0.
- intricatedetail 6y agoAren't CPU instructions like an API and it means why some one couldn't do clean room implementation?