arm64: hw_breakpoint: use target state to determine ABI behaviour
authorWill Deacon <will.deacon@arm.com>
Wed, 7 Oct 2015 10:37:36 +0000 (11:37 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 7 Oct 2015 13:19:10 +0000 (14:19 +0100)
commit8f48c0629049fdebb6e783803325bff19176d3fd
tree9a4db87caafbcecc4bd96fce953b6a884a081774
parent120798d2e7d1ac87365fe5ea91b074bb42ca1eff
arm64: hw_breakpoint: use target state to determine ABI behaviour

The arm64 hw_breakpoint interface is slightly less flexible than its
32-bit counterpart, thanks to some changes in the architecture rendering
unaligned watchpoint addresses obselete for AArch64.

However, in a multi-arch environment (i.e. debugging a 32-bit target
with a 64-bit GDB under a 64-bit kernel), we need to provide a feature
compatible interface to GDB in order for debugging to function correctly.

This patch adds a new helper, is_compat_bp,  to our hw_breakpoint
implementation which changes the interface behaviour based on the
architecture of the debug target as opposed to the debugger itself.
This allows debugged to function as expected for multi-arch
configurations without relying on deprecated architectural behaviours
when debugging native applications.

Cc: Yao Qi <yao.qi@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/hw_breakpoint.c