• Punit Agrawal's avatar
    arm64: Add framework for legacy instruction emulation · 587064b6
    Punit Agrawal authored
    Typically, providing support for legacy instructions requires
    emulating the behaviour of instructions whose encodings have become
    undefined. If the instructions haven't been removed from the
    architecture, there maybe an option in the implementation to turn
    on/off the support for these instructions.
    
    Create common infrastructure to support legacy instruction
    emulation. In addition to emulation, also provide an option to support
    hardware execution when supported. The default execution mode (one of
    undef, emulate, hw exeuction) is dependent on the state of the
    instruction (deprecated or obsolete) in the architecture and
    can specified at the time of registering the instruction handlers. The
    runtime state of the emulation can be controlled by writing to
    individual nodes in sysctl. The expected default behaviour is
    documented as part of this patch.
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarPunit Agrawal <punit.agrawal@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    587064b6
armv8_deprecated.c 4.66 KB