Morello Curiosities

This page is to help developers explain behaviour of the ARM Morello SoC that may seem curious.

Branching to capabilities with LSB 0

Branching to a capability with LSB 0 will disable purecap capability mode.

Quoting from the Arm® Architecture Reference Manual Supplement Morello for A-profile Architecture, p. 1264:

BranchXToCapability(Capability target, BranchType branch_type)
        PSTATE.C64 = target<0>;
        target<0> = '0';
        BranchToCapability(target, branch_type);

Branching to a capability with LSB 1 will enable purecap capability mode.