From: "H. Peter Anvin" <[email protected]>
Give a debugger access to the visible part of the GDT and LDT. This
allows a debugger to find out what a particular segment descriptor
corresponds to; e.g. if %cs is 16, 32, or 64 bits.
v3:
Requalify LDT segments for selectors that have actually changed.
v2:
Add missing change to elf.h for the very last patch.
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Chang S. Bae <[email protected]>
Cc: Markus T. Metzger <[email protected]>
Cc: H. Peter Anvin <[email protected]>
arch/x86/Kconfig | 4 +
arch/x86/include/asm/desc.h | 24 +++-
arch/x86/include/asm/ldt.h | 16 +++
arch/x86/include/asm/segment.h | 10 ++
arch/x86/kernel/Makefile | 3 +-
arch/x86/kernel/ldt.c | 283 ++++++++++++++++++++++++++++++++---------
arch/x86/kernel/ptrace.c | 103 ++++++++++++++-
arch/x86/kernel/tls.c | 102 +++++----------
arch/x86/kernel/tls.h | 8 +-
include/uapi/linux/elf.h | 2 +
10 files changed, 413 insertions(+), 142 deletions(-)