10 ms·
By what legal mechanism is it restricted that not any random company can make their own independent implementation of hardware that interoperates with x86 softw
by dzdt 1y ago
By what legal mechanism is it restricted that not any random company can make their own independent implementation of hardware that interoperates with x86 software?
- mschuster91 1y agoThere are independent implementations of x86 at least in software - QEMU can do full emulation at the cost of it being dog slow, which is about the only choice for running fully x86 virtual machines on ARM - no aid from Rosetta for anything. The problem is the hardware magics you need to make x86 actually performant, there's a lot of patents surrounding that area.
- fluoridation 1y ago>The problem is the hardware magics you need to make x86 actually performant, there's a lot of patents surrounding that area. Those aren't even patented, they're straight up trade secrets. The relevant IPs concern the ISAs alone. Without doing anything too crazy you could implement x86 on your own silicon and make something that's slower than mainstream processors, but still usable for some things; certainly better than emulation in software, that's for sure.
- jacquesm 1y agoDo you have an example of such a project? I'd love to do this on an FPGA.
- phendrenad2 1y agohttps://github.com/MiSTer-devel/ao486_MiSTer https://github.com/MiSTer-devel/ao486_MiSTer Google is your freeeend
- jacquesm 1y agoNot quite. That's a board that contains both an FPGA and an ARM, what I meant was a board that just uses the FPGA for everything and an i386 or better core without any auxiliary processors. 100% clean hardware. But thank you for the link, fascinating project.
- fluoridation 1y agoNot really sure what you mean by "no auxiliary processors". Even the on the original IBM PC the CPU was not directly in charge of all the devices. That's generally undesirable because it means any IO ties up the CPU. I think that's what they're using the ARM core for, though I've only just heard of this board minutes ago.
- jacquesm 1y agoThat's a bit different. The whole idea I have revolves around a clean computer without any kind of 3rd party hidden tricks. Of course, the original PC already had several auxiliary processors in places that are important, such as drives, keyboard etc. But let's take those for granted. Adding a soft-core FPGA based i486 to a much more powerful ARM system opens up a massive can of worms: that ARM could do just about anything to the poor 486 without it ever being the wiser. Anyway, this project may be useful (I've been digging around in it some more since making the previous comment) because the FPGA itself is fairly common and the i486 bits and pieces could probably be recycled in something much simpler.
- fluoridation 1y ago>that ARM could do just about anything to the poor 486 without it ever being the wiser. Any device with DMA has that same issue, though. You could plug in a hard drive that takes control of the CPU by writing new instructions when certain conditions are met. Even if it doesn't have DMA, it could fulfill a request with crafted data. You can't defend against an adversary in your own machine.
- astrange 1y ago
- elzbardico 1y agoPatents, licenses. AMD and Intel, AFAIK, have extensive cross-licensing agreements.
- aidenn0 1y agoAMD and Intel have a cross-licensing agreement for patents. Via also has one (two? I don't remember if Centaur and Cyrix's licenses were separate), Via's x86 division was basically disbanded in 2021.
- mook 1y agoWasn't Via involved with Zhaoxin? That's still going as far as I know, doing something with Zen1 derived things.
- evolighting 1y agono they are different, for AMD zen1 stuff: https://en.wikipedia.org/wiki/AMD%E2%80%93Chinese_joint_venture https://en.wikipedia.org/wiki/AMD%E2%80%93Chinese_joint_vent...
- phendrenad2 1y agoWho says it is? There's a long list of emulators and hardware recreatements that proves it isn't.
- MadnessASAP 1y agoI would suspect that the patents and other IP dont protect against a software implementation of x86-*. Similar to the way copyright doesnt protect against somebody else making a clean room implementation of an API. No idea what happens around firmware implementations or an FPGA.
- daft_pink 1y agoHaven’t the patents for x86 long expired?
- trenchpilgrim 1y agoEvery time new extensions get added to x86 new patents and copyrights are issued to cover those extensions. If you want to make a CPU compatible with what a current compiler produces, you need most of those extensions.
- jacquesm 1y agoOr you could just limit your compiler to the subset that worked a while ago.
- trenchpilgrim 1y agoSure, but that limits what code you can use. A lot of consumer software won't work without the SSE extensions, for example.
- jacquesm 1y agoYou'd expect some kind of fall-back in place for older CPUs, no?
- trenchpilgrim 1y agoNo, often any fallback would be unusuably slow anyway.
- gary_0 1y agoSome of SSE is required as part of the x86_64 ABI, and also new versions of Windows (infamously, now) add required CPU extensions so software will often base its requirements on that. And SSE4x is ubiquitous enough (99% of PCs) that some software/games will just require it and simply crash if it can't use those instructions.
- okanat 1y agoUsually patents and the risk of being sued out of existence despite having the right to implement clean-room clones. Patents use sly language and legalese spagetti. If your implementation looks similar, you may lose the right to manufacture certain parts or the entire thing. The law is deliberately vague and you are at the whims of the judge.
- overfeed 1y agoThere is no reason to assume it's an independent implementation, it very well could be a company partnered with Intel or AMD. Hypothetically, Sony could ask AMD to support additional custom opcodes for a still-under-development PlayStation 6 processor, and it would be legally kosher.