3 ms·
The Arm specification primarily focuses on the protected mode opcodes used by applications. This is why Arm application binaries are portable across machines.
by wtracy 12y ago
The Arm specification primarily focuses on the protected mode opcodes used by applications. This is why Arm application binaries are portable across machines.
The real mode opcodes needed to bring up a kernel are a mess on Arm, with each manufacture using their own instruction set.
- pjc50 12y agoThis explanation is garbled. The opcodes are not fundamentally different (although more are added from ARMv6 to ARMv7 e.g. the Pi 1 to Pi 2 transition), and there isn't the X86 different set of "real mode" opcodes. What is different is the boot sequence and system register layout. On a PC you can write one bootloader that works across multiple systems because either the peripherals are at the same place or BIOS/UEFI code is provided to sort it out for you. This is not the case on ARM; uboot and devicetree are attempts to fix it.