3 ms·
Apple isn't going to somehow make 64 bit ARM in to something proprietary. Sure, they have their own special instructions for stuff like high performance x86 emu
by johnklos 4y ago
Apple isn't going to somehow make 64 bit ARM in to something proprietary. Sure, they have their own special instructions for stuff like high performance x86 emulation, but aarch64 on Apple is only going to mean more stuff is optimized for ARM, which is good not only for Linux, but for other open source OSes like the BSDs.
- saagarjha 4y agoThere are no special instructions for x86 emulation.
- LordDragonfang 4y agoThere's a whole special CPU/memory mode for it, actually. https://twitter.com/ErrataRob/status/1331735383193903104 https://twitter.com/ErrataRob/status/1331735383193903104
- saagarjha 4y agoI don't really need Rob to explain to me how Apple's processors do TSO ;) There are no special instructions for Rosetta regardless.
- LordDragonfang 4y ago>I don't really need Rob to explain to me how Apple's processors do TSO ;) Lemme just look up TSO and... https://github.com/saagarjha/TSOEnabler https://github.com/saagarjha/TSOEnabler ...Oh. Fair enough, my mistake :P Is there not an instruction to switch into TSO mode, though? Wouldn't that technically count? :P
- saagarjha 4y agoIt happens to be a standard ARM instruction, Apple pushes some bits into ACTLR_EL1 (Auxiliary Control Register, EL1, "Provides IMPLEMENTATION DEFINED configuration and control options for execution at EL1 and EL0") in the kernel on context switch. The DTKs used a proprietary register and touched it using msr, but again, no custom instructions. Apple does in fact ship custom instructions on their silicon, but where those are used, how they work, and how ARM lets them get away with it is a story for another day :)
- johnklos 4y agoYou know what I mean ;)
- rodgerd 4y agoApple are, if anything, more helpful to the Linux community that Qualcomm.