• James Morse's avatar
    arm64: sysreg: Move to use definitions for all the SCTLR bits · 7a00d68e
    James Morse authored
    __cpu_setup() configures SCTLR_EL1 using some hard coded hex masks,
    and el2_setup() duplicates some this when setting RES1 bits.
    
    Lets make this the same as KVM's hyp_init, which uses named bits.
    
    First, we add definitions for all the SCTLR_EL{1,2} bits, the RES{1,0}
    bits, and those we want to set or clear.
    
    Add a build_bug checks to ensures all bits are either set or clear.
    This means we don't need to preserve endian-ness configuration
    generated elsewhere.
    
    Finally, move the head.S and proc.S users of these hard-coded masks
    over to the macro versions.
    Signed-off-by: default avatarJames Morse <james.morse@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    7a00d68e
sysreg.h 23.6 KB