]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: KVM: implement lazy world switch for debug registers
authorMarc Zyngier <marc.zyngier@arm.com>
Wed, 7 May 2014 12:44:49 +0000 (13:44 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Fri, 11 Jul 2014 11:57:46 +0000 (04:57 -0700)
commit385be79de364fb1d95516e2daf4d29a1a4115c03
tree81b25e5f5cdb4523b747971ddd4698c3acd7a292
parentb44b789afbe006f16d6bd105c37b41dad1fe4709
arm64: KVM: implement lazy world switch for debug registers

Implement switching of the debug registers. While the number
of registers is massive, CPUs usually don't implement them all
(A57 has 6 breakpoints and 4 watchpoints, which gives us a total
of 22 registers "only").

Also, we only save/restore them when MDSCR_EL1 has debug enabled,
or when we've flagged the debug registers as dirty. It means that
most of the time, we only save/restore MDSCR_EL1.

Reviewed-by: Anup Patel <anup.patel@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm64/kernel/asm-offsets.c
arch/arm64/kvm/hyp.S