# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1280743913 -3600
# Node ID b4a45cd33f80cf64ecaebebf13c0a9f5152f1153
# Parent e6b5b2cb8146979de9a24bec60e20b244f9236ec
gdbsx: Always build -- remove build-time config option.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset: 21702:2846fd19945c
xen-unstable date: Fri Jul 02 18:52:12 2010 +0100
tools/debugger/gdbsx: build enabled by default
Submitted-by: Bruce Edge <bruce.edge@xxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
xen-unstable changeset: 21752:29e545151078
xen-unstable date: Thu Jul 08 16:50:34 2010 +0100
tools/debugger/gdbsx: enabled by only x86
The changeset 21752:29e545151078 breaks ia64, since gdbsx supports
only x86.
Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
xen-unstable changeset: 21788:8429a8a23241
xen-unstable date: Tue Jul 13 19:08:48 2010 +0100
---
tools/Makefile | 12 ++++++++++++
xen/Rules.mk | 2 --
xen/arch/x86/Makefile | 2 +-
xen/arch/x86/domctl.c | 9 +++------
xen/arch/x86/hvm/svm/svm.c | 2 --
xen/arch/x86/hvm/vmx/vmx.c | 2 --
xen/include/asm-x86/debugger.h | 2 --
xen/include/asm-x86/domain.h | 2 --
8 files changed, 16 insertions(+), 17 deletions(-)
diff -r e6b5b2cb8146 -r b4a45cd33f80 tools/Makefile
--- a/tools/Makefile Sun Jul 25 22:22:43 2010 +0100
+++ b/tools/Makefile Mon Aug 02 11:11:53 2010 +0100
@@ -36,6 +36,7 @@ SUBDIRS-y += libxl
SUBDIRS-y += libxl
SUBDIRS-y += remus
SUBDIRS-$(CONFIG_X86) += xenpaging
+SUBDIRS-$(CONFIG_X86) += debugger/gdbsx
# These don't cross-compile
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
@@ -134,3 +135,14 @@ subdir-clean-ocaml-xenstored:
$(MAKE) -C ocaml-xenstored clean; \
fi
+subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
+ $(MAKE) -C debugger/gdbsx clean
+
+subdir-install-debugger/gdbsx: .phony
+ $(MAKE) -C debugger/gdbsx install
+
+subdir-all-debugger/gdbsx: .phony
+ $(MAKE) -C debugger/gdbsx all
+
+subdir-distclean-firmware: .phony
+ $(MAKE) -C firmware distclean
diff -r e6b5b2cb8146 -r b4a45cd33f80 xen/Rules.mk
--- a/xen/Rules.mk Sun Jul 25 22:22:43 2010 +0100
+++ b/xen/Rules.mk Mon Aug 02 11:11:53 2010 +0100
@@ -8,7 +8,6 @@ perfc_arrays ?= n
perfc_arrays ?= n
lock_profile ?= n
crash_debug ?= n
-gdbsx ?= n
frame_pointer ?= n
XEN_ROOT=$(BASEDIR)/..
@@ -53,7 +52,6 @@ CFLAGS-$(perfc_arrays) += -DPERF_ARRAYS
CFLAGS-$(perfc_arrays) += -DPERF_ARRAYS
CFLAGS-$(lock_profile) += -DLOCK_PROFILE
CFLAGS-$(frame_pointer) += -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER
-CFLAGS-$(gdbsx) += -DXEN_GDBSX_CONFIG
ifneq ($(max_phys_cpus),)
CFLAGS-y += -DMAX_PHYS_CPUS=$(max_phys_cpus)
diff -r e6b5b2cb8146 -r b4a45cd33f80 xen/arch/x86/Makefile
--- a/xen/arch/x86/Makefile Sun Jul 25 22:22:43 2010 +0100
+++ b/xen/arch/x86/Makefile Mon Aug 02 11:11:53 2010 +0100
@@ -13,6 +13,7 @@ obj-y += clear_page.o
obj-y += clear_page.o
obj-y += copy_page.o
obj-y += compat.o
+obj-y += debug.o
obj-y += delay.o
obj-y += dmi_scan.o
obj-y += domctl.o
@@ -56,7 +57,6 @@ obj-y += bzimage.o
obj-y += bzimage.o
obj-$(crash_debug) += gdbstub.o
-obj-$(gdbsx) += debug.o
x86_emulate.o: x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h
diff -r e6b5b2cb8146 -r b4a45cd33f80 xen/arch/x86/domctl.c
--- a/xen/arch/x86/domctl.c Sun Jul 25 22:22:43 2010 +0100
+++ b/xen/arch/x86/domctl.c Mon Aug 02 11:11:53 2010 +0100
@@ -34,7 +34,6 @@
#include <public/mem_event.h>
#include <asm/mem_sharing.h>
-#ifdef XEN_GDBSX_CONFIG
#ifdef XEN_KDB_CONFIG
#include "../kdb/include/kdbdefs.h"
#include "../kdb/include/kdbproto.h"
@@ -43,8 +42,9 @@ typedef unsigned char kdbbyt_t;
typedef unsigned char kdbbyt_t;
extern int dbg_rw_mem(kdbva_t, kdbbyt_t *, int, domid_t, int, uint64_t);
#endif
-static int
-gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
+
+static int gdbsx_guest_mem_io(
+ domid_t domid, struct xen_domctl_gdbsx_memio *iop)
{
ulong l_uva = (ulong)iop->uva;
iop->remain = dbg_rw_mem(
@@ -52,7 +52,6 @@ gdbsx_guest_mem_io(domid_t domid, struct
iop->gwr, iop->pgd3val);
return (iop->remain ? -EFAULT : 0);
}
-#endif /* XEN_GDBSX_CONFIG */
long arch_do_domctl(
struct xen_domctl *domctl,
@@ -1296,7 +1295,6 @@ long arch_do_domctl(
}
break;
-#ifdef XEN_GDBSX_CONFIG
case XEN_DOMCTL_gdbsx_guestmemio:
{
struct domain *d;
@@ -1405,7 +1403,6 @@ long arch_do_domctl(
rcu_unlock_domain(d);
}
break;
-#endif /* XEN_GDBSX_CONFIG */
#ifdef __x86_64__
case XEN_DOMCTL_mem_event_op:
diff -r e6b5b2cb8146 -r b4a45cd33f80 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c Sun Jul 25 22:22:43 2010 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c Mon Aug 02 11:11:53 2010 +0100
@@ -1431,9 +1431,7 @@ asmlinkage void svm_vmexit_handler(struc
if ( (inst_len = __get_instruction_length(v, INSTR_INT3)) == 0 )
break;
__update_guest_eip(regs, inst_len);
-#ifdef XEN_GDBSX_CONFIG
current->arch.gdbsx_vcpu_event = TRAP_int3;
-#endif
domain_pause_for_debugger();
break;
diff -r e6b5b2cb8146 -r b4a45cd33f80 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c Sun Jul 25 22:22:43 2010 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c Mon Aug 02 11:11:53 2010 +0100
@@ -2421,9 +2421,7 @@ asmlinkage void vmx_vmexit_handler(struc
goto exit_and_crash;
inst_len = __get_instruction_length(); /* Safe: INT3 */
__update_guest_eip(inst_len);
-#ifdef XEN_GDBSX_CONFIG
current->arch.gdbsx_vcpu_event = TRAP_int3;
-#endif
domain_pause_for_debugger();
break;
case TRAP_no_device:
diff -r e6b5b2cb8146 -r b4a45cd33f80 xen/include/asm-x86/debugger.h
--- a/xen/include/asm-x86/debugger.h Sun Jul 25 22:22:43 2010 +0100
+++ b/xen/include/asm-x86/debugger.h Mon Aug 02 11:11:53 2010 +0100
@@ -68,10 +68,8 @@ static inline int debugger_trap_entry(
if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached &&
((vector == TRAP_int3) || (vector == TRAP_debug)) )
{
-#ifdef XEN_GDBSX_CONFIG
if ( vector != TRAP_debug ) /* domain pause is good enough */
current->arch.gdbsx_vcpu_event = vector;
-#endif
domain_pause_for_debugger();
return 1;
}
diff -r e6b5b2cb8146 -r b4a45cd33f80 xen/include/asm-x86/domain.h
--- a/xen/include/asm-x86/domain.h Sun Jul 25 22:22:43 2010 +0100
+++ b/xen/include/asm-x86/domain.h Mon Aug 02 11:11:53 2010 +0100
@@ -446,9 +446,7 @@ struct arch_vcpu
struct mapcache_vcpu mapcache;
#endif
-#if XEN_GDBSX_CONFIG
uint32_t gdbsx_vcpu_event;
-#endif
/* A secondary copy of the vcpu time info. */
XEN_GUEST_HANDLE(vcpu_time_info_t) time_info_guest;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|