Currently, any architecture wishing to use common/ is likely
to be required to implement the functions found in "asm/debugger.h".
Some architectures, however, do not have an actual use for these
functions and so are forced to implement stubs. This patch does the
following:
* Supplies common stubs if !CONFIG_CRASH_DEBUG for any architecture,
removing the need for all new architectures to have "asm/debugger.h".
* Moves the x86 implementation to "arch/x86/debugger.c".
* Removes the ARM calls to its stubs.
* Centralizes x86 code conditionally compiled by CONFIG_CRASH_DEBUG
into arch/x86/debugger.c, which is now conditionally built for
CONFIG_CRASH_DEBUG via Kbuild (i.e., obj-$(CONFIG_CRASH_DEBUG)).
* Tries to improve the x86 implementation by not inlining large
functions (but preserving inlining for those that seemed "small").
Bobby Eshleman (4):
build: use common stubs for debugger_trap_* functions if
!CONFIG_CRASH_DEBUG
arm/traps: remove debugger_trap_fatal() calls
x86/debug: move debugger_trap_entry into debugger.c not inlined
x86/debug: move domain_pause_for_debugger to debugger.c
xen/arch/arm/traps.c | 8 +--
xen/arch/x86/Makefile | 1 +
xen/arch/x86/debug.c | 2 +-
xen/arch/x86/debugger.c | 53 ++++++++++++++++++++
xen/arch/x86/domain.c | 15 +-----
xen/arch/x86/domctl.c | 2 +-
xen/arch/x86/gdbstub.c | 4 +-
xen/arch/x86/hvm/svm/svm.c | 2 +-
xen/arch/x86/hvm/vmx/realmode.c | 2 +-
xen/arch/x86/hvm/vmx/vmx.c | 2 +-
xen/arch/x86/nmi.c | 2 +-
xen/arch/x86/traps.c | 2 +-
xen/arch/x86/x86_64/gdbstub.c | 3 +-
xen/common/domain.c | 2 +-
xen/common/gdbstub.c | 3 +-
xen/common/keyhandler.c | 2 +-
xen/common/shutdown.c | 2 +-
xen/drivers/char/console.c | 2 +-
xen/include/asm-arm/debugger.h | 15 ------
xen/include/asm-x86/debugger.h | 89 ++++-----------------------------
xen/include/xen/debugger.h | 81 ++++++++++++++++++++++++++++++
21 files changed, 166 insertions(+), 128 deletions(-)
create mode 100644 xen/arch/x86/debugger.c
delete mode 100644 xen/include/asm-arm/debugger.h
create mode 100644 xen/include/xen/debugger.h
--
2.30.0