]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: Add framework for legacy instruction emulation
authorPunit Agrawal <punit.agrawal@arm.com>
Tue, 18 Nov 2014 11:41:24 +0000 (11:41 +0000)
committerWill Deacon <will.deacon@arm.com>
Thu, 20 Nov 2014 16:33:53 +0000 (16:33 +0000)
commitdf58d2061444bffcd76d2beb5136c027730f7124
tree4170a2e03c6d046c45811f22ab662b988d73ae48
parent19414d9c573aa695fe58f8790586830ad1d39835
arm64: Add framework for legacy instruction emulation

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: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Documentation/arm64/legacy_instructions.txt [new file with mode: 0644]
arch/arm64/Kconfig
arch/arm64/kernel/Makefile
arch/arm64/kernel/armv8_deprecated.c [new file with mode: 0644]