• P
    target-arm: Split cpreg access checks out from read/write functions · f59df3f2
    Peter Maydell 提交于
    Several of the system registers handled via the ARMCPRegInfo
    mechanism have access trap control bits controlling whether the
    registers are accessible to lower privilege levels. Replace
    the existing mechanism (allowing the read and write functions
    to return EXCP_UDEF if access is denied) with a dedicated
    "check access rights" function pointer in the ARMCPRegInfo.
    This will allow us to simplify some of the register definitions,
    which no longer need read/write functions purely to handle
    the access checks.
    
    We take the opportunity to define the return value from the
    access checking function in a way that allows us to set the
    correct exception syndrome information for exceptions taken
    to AArch64 (which may need to distinguish access failures due
    to a configurable trap or enable from other kinds of access
    failure).
    
    This commit defines the new mechanism but does not move any
    of the registers across to use it.
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
    f59df3f2
cpu.h 41.8 KB