• P
    arm: Add support for M profile CPUs having different MMU index semantics · 8bd5c820
    Peter Maydell 提交于
    The M profile CPU's MPU has an awkward corner case which we
    would like to implement with a different MMU index.
    
    We can avoid having to bump the number of MMU modes ARM
    uses, because some of our existing MMU indexes are only
    used by non-M-profile CPUs, so we can borrow one.
    To avoid that getting too confusing, clean up the code
    to try to keep the two meanings of the index separate.
    
    Instead of ARMMMUIdx enum values being identical to core QEMU
    MMU index values, they are now the core index values with some
    high bits set. Any particular CPU always uses the same high
    bits (so eventually A profile cores and M profile cores will
    use different bits). New functions arm_to_core_mmu_idx()
    and core_to_arm_mmu_idx() convert between the two.
    
    In general core index values are stored in 'int' types, and
    ARM values are stored in ARMMMUIdx types.
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    Message-id: 1493122030-32191-3-git-send-email-peter.maydell@linaro.org
    8bd5c820
translate.h 5.7 KB