x86/debug: Change thread.debugreg6 to thread.virtual_dr6
authorPeter Zijlstra <peterz@infradead.org>
Wed, 2 Sep 2020 13:26:02 +0000 (15:26 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 4 Sep 2020 13:12:58 +0000 (15:12 +0200)
commitd53d9bc0cf783e93b374de3895145c7375e570ba
treefb95a9c74cba7e6a7d93f58f80f542e941f99997
parentf4956cf83ed12271bdbd5b547f3378add72bbffb
x86/debug: Change thread.debugreg6 to thread.virtual_dr6

Current usage of thread.debugreg6 is convoluted at best. It starts life as
a copy of the hardware DR6 value, but then various bits are cleared and
set.

Replace this with a new variable thread.virtual_dr6 that is initialized to
0 when DR6 is read and only gains bits, at the same time the actual (on
stack) dr6 value which is read from the hardware only gets bits cleared.

Suggested-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20200902133201.415372940@infradead.org
arch/x86/include/asm/processor.h
arch/x86/kernel/hw_breakpoint.c
arch/x86/kernel/kgdb.c
arch/x86/kernel/ptrace.c
arch/x86/kernel/traps.c