aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-08-02 11:11:53 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-08-02 11:11:53 +0100
commitf187d23f35719057ebe8f788f4a12a9d13034d0b (patch)
treea52c9aea2a9b3f3bb0a30b6983a6006e7657d016
parent470427c7d682d2229cfc11fc8e917de81ac6913f (diff)
downloadxen-f187d23f35719057ebe8f788f4a12a9d13034d0b.tar.gz
xen-f187d23f35719057ebe8f788f4a12a9d13034d0b.tar.bz2
xen-f187d23f35719057ebe8f788f4a12a9d13034d0b.zip
gdbsx: Always build -- remove build-time config option.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com> 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@gmail.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> 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@jp.fujitsu.com> xen-unstable changeset: 21788:8429a8a23241 xen-unstable date: Tue Jul 13 19:08:48 2010 +0100
-rw-r--r--tools/Makefile12
-rw-r--r--xen/Rules.mk2
-rw-r--r--xen/arch/x86/Makefile2
-rw-r--r--xen/arch/x86/domctl.c9
-rw-r--r--xen/arch/x86/hvm/svm/svm.c2
-rw-r--r--xen/arch/x86/hvm/vmx/vmx.c2
-rw-r--r--xen/include/asm-x86/debugger.h2
-rw-r--r--xen/include/asm-x86/domain.h2
8 files changed, 16 insertions, 17 deletions
diff --git a/tools/Makefile b/tools/Makefile
index 48c98026b8..44366f0327 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -36,6 +36,7 @@ SUBDIRS-y += xenpmd
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 --git a/xen/Rules.mk b/xen/Rules.mk
index 53bfab459d..d3348144c0 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -8,7 +8,6 @@ perfc ?= n
perfc_arrays ?= n
lock_profile ?= n
crash_debug ?= n
-gdbsx ?= n
frame_pointer ?= n
XEN_ROOT=$(BASEDIR)/..
@@ -53,7 +52,6 @@ CFLAGS-$(perfc) += -DPERF_COUNTERS
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 --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index ba5da39e4b..3179f736e2 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -13,6 +13,7 @@ obj-y += bitops.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 += hpet.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 --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index d87301b7d7..15554e26c5 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -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 long kdbva_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 xen_domctl_gdbsx_memio *iop)
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 --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 1b4be70dc7..723f84a071 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1431,9 +1431,7 @@ asmlinkage void svm_vmexit_handler(struct cpu_user_regs *regs)
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 --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d5c8f0161a..8c510ce8e8 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2421,9 +2421,7 @@ asmlinkage void vmx_vmexit_handler(struct cpu_user_regs *regs)
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 --git a/xen/include/asm-x86/debugger.h b/xen/include/asm-x86/debugger.h
index 318b38a3e7..9fea5d64e8 100644
--- a/xen/include/asm-x86/debugger.h
+++ b/xen/include/asm-x86/debugger.h
@@ -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 --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 846f281414..19461000ad 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -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;