• Jonathan Austin's avatar
    ARM: mpu: add MPU probe and initialisation functions in C · 5ad7dcbe
    Jonathan Austin authored
    This patch adds new functions for probing and initialising the ARMv7
    PMSA-compliant MPU.
    
    These use the pre-defined and reserved MPU_PROBE_REGION for establishing
    properties of the MPU, which is necessary because certain probe operations
    require modifying region properties and reading back the results.
    
    This patch also introduces a minimal sanity_check_meminfo_mpu function, that
    ensures that the memory set-up passed to the kernel can be used in conjunction
    with the MPU. The base address of a region must be aligned to the region size,
    otherwise behavior is unpredictable and region sizes can only be specified as a
    power-of-two. To simplify the satisfaction of these requirements this
    implementation currently enforces that all memory is contiguous from
    PHYS_OFFSET, merging banks that are contiguous but passed in separately.
    
    The functions are added in this patch but wired in to the boot process later
    in the series.
    Signed-off-by: default avatarJonathan Austin <jonathan.austin@arm.com>
    Reviewed-by: default avatarWill Deacon <will.deacon@arm.com>
    CC: Hyok S. Choi <hyok.choi@samsung.com>
    5ad7dcbe
nommu.c 9.44 KB