From: Doug Goldstein <cardoe@cardoe.com>
To: xen-devel@lists.xen.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
Wei Liu <wei.liu2@citrix.com>,
George Dunlap <George.Dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Doug Goldstein <cardoe@cardoe.com>, Tim Deegan <tim@xen.org>,
Jan Beulich <jbeulich@suse.com>,
Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [PATCH v3 2/6] build: convert crash_debug to Kconfig
Date: Tue, 10 May 2016 16:05:25 -0500 [thread overview]
Message-ID: <1462914329-8797-3-git-send-email-cardoe@cardoe.com> (raw)
In-Reply-To: <1462914329-8797-1-git-send-email-cardoe@cardoe.com>
Convert the crash_debug option to Kconfig as CONFIG_CRASH_DEBUG. This
was previously togglable on the command line so this adds a message for
users enabling it from the command line to tell them to enable it from
make menuconfig.
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Tim Deegan <tim@xen.org>
CC: Wei Liu <wei.liu2@citrix.com>
---
INSTALL | 1 -
docs/misc/crashdb.txt | 4 ++--
xen/Kconfig.debug | 7 +++++++
xen/Rules.mk | 5 +++--
xen/arch/x86/Makefile | 3 +--
xen/arch/x86/x86_64/Makefile | 2 +-
xen/common/Makefile | 2 +-
xen/include/asm-x86/debugger.h | 2 +-
xen/include/xen/gdbstub.h | 2 +-
9 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/INSTALL b/INSTALL
index 95fa94d..2974b9b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -231,7 +231,6 @@ verbose=y
perfc=y
perfc_arrays=y
lock_profile=y
-crash_debug=y
frame_pointer=y
lto=y
diff --git a/docs/misc/crashdb.txt b/docs/misc/crashdb.txt
index b41a538..9733666 100644
--- a/docs/misc/crashdb.txt
+++ b/docs/misc/crashdb.txt
@@ -5,7 +5,7 @@ Xen has a simple gdb stub for doing post-mortem debugging i.e. once
you've crashed it, you get to poke around and find out why. There's
also a special key handler for making it crash, which is handy.
-You need to have crash_debug=y set when compiling , and you also need
+You need to have CRASH_DEBUG=y set when compiling, and you also need
to enable it on the Xen command line, eg by gdb=com1.
If you need to have a serial port shared between gdb and the console,
@@ -19,7 +19,7 @@ if you have a simple null modem connection between the test box and
the workstation, and aren't using a H/L split console:
* Set debug=y in Config.mk
- * Set crash_debug=y in xen/Rules.mk
+ * Set CRASH_DEBUG=y with `make -C xen menuconfig`
* Make the changes in the attached patch, and build.
* Arrange to pass gdb=com1 as a hypervisor command line argument
(I already have com1=38400,8n1 console=com1,vga sync_console)
diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index 47dc885..8abfbaa 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -1,6 +1,13 @@
menu "Debugging Options"
+config CRASH_DEBUG
+ bool "Crash Debugging Support"
+ depends on X86
+ ---help---
+ If you want to be able to attach gdb to Xen to be able to debug
+ Xen if it crashes then say Y.
+
config DEBUG
bool "Developer Checks"
---help---
diff --git a/xen/Rules.mk b/xen/Rules.mk
index f73d86e..1a220bd 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -7,7 +7,6 @@ verbose ?= n
perfc ?= n
perfc_arrays ?= n
lock_profile ?= n
-crash_debug ?= n
frame_pointer ?= n
lto ?= n
@@ -28,6 +27,9 @@ endif
ifneq ($(origin kexec),undefined)
$(error "You must use 'make menuconfig' to enable/disable kexec now.")
endif
+ifneq ($(origin crash_debug),undefined)
+$(error "You must use 'make menuconfig' to enable/disable crash_debug now.")
+endif
# Set ARCH/SUBARCH appropriately.
override TARGET_SUBARCH := $(XEN_TARGET_ARCH)
@@ -56,7 +58,6 @@ CFLAGS += -Wa,--strip-local-absolute
endif
CFLAGS-$(verbose) += -DVERBOSE
-CFLAGS-$(crash_debug) += -DCRASH_DEBUG
CFLAGS-$(perfc) += -DPERF_COUNTERS
CFLAGS-$(perfc_arrays) += -DPERF_ARRAYS
CFLAGS-$(lock_profile) += -DLOCK_PROFILE
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 4665a68..4ccef4a 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -27,6 +27,7 @@ obj-y += domain_page.o
obj-y += e820.o
obj-y += extable.o
obj-y += flushtlb.o
+obj-$(CONFIG_CRASH_DEBUG) += gdbstub.o
obj-y += i387.o
obj-y += i8259.o
obj-y += io_apic.o
@@ -66,8 +67,6 @@ obj-y += vm_event.o
obj-$(CONFIG_XSPLICE) += alternative.o xsplice.o
obj-y += xstate.o
-obj-$(crash_debug) += gdbstub.o
-
x86_emulate.o: x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h
efi-y := $(shell if [ ! -r $(BASEDIR)/include/xen/compile.h -o \
diff --git a/xen/arch/x86/x86_64/Makefile b/xen/arch/x86/x86_64/Makefile
index 5b54c16..d8815e7 100644
--- a/xen/arch/x86/x86_64/Makefile
+++ b/xen/arch/x86/x86_64/Makefile
@@ -14,4 +14,4 @@ obj-y += cpu_idle.o
obj-y += cpufreq.o
obj-bin-$(CONFIG_KEXEC) += kexec_reloc.o
-obj-$(crash_debug) += gdbstub.o
+obj-$(CONFIG_CRASH_DEBUG) += gdbstub.o
diff --git a/xen/common/Makefile b/xen/common/Makefile
index afd84b6..a98bcc2 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -8,6 +8,7 @@ obj-y += domain.o
obj-y += event_2l.o
obj-y += event_channel.o
obj-y += event_fifo.o
+obj-$(CONFIG_CRASH_DEBUG) += gdbstub.o
obj-y += grant_table.o
obj-y += guestcopy.o
obj-bin-y += gunzip.init.o
@@ -64,7 +65,6 @@ obj-$(CONFIG_XSPLICE) += xsplice_elf.o
obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma unlzo unlz4 earlycpio,$(n).init.o)
obj-$(perfc) += perfc.o
-obj-$(crash_debug) += gdbstub.o
obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o kernel.o memory.o multicall.o xlat.o)
diff --git a/xen/include/asm-x86/debugger.h b/xen/include/asm-x86/debugger.h
index 33f4700..271cbaa 100644
--- a/xen/include/asm-x86/debugger.h
+++ b/xen/include/asm-x86/debugger.h
@@ -39,7 +39,7 @@
#define DEBUGGER_trap_fatal(_v, _r) \
if ( debugger_trap_fatal(_v, _r) ) return;
-#if defined(CRASH_DEBUG)
+#ifdef CONFIG_CRASH_DEBUG
#include <xen/gdbstub.h>
diff --git a/xen/include/xen/gdbstub.h b/xen/include/xen/gdbstub.h
index ab710da..a5e6714 100644
--- a/xen/include/xen/gdbstub.h
+++ b/xen/include/xen/gdbstub.h
@@ -23,7 +23,7 @@
#include <asm/atomic.h>
#include <asm/page.h>
-#ifdef CRASH_DEBUG
+#ifdef CONFIG_CRASH_DEBUG
struct gdb_context {
int serhnd; /* handle on our serial line */
--
2.7.3
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-05-10 21:05 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-10 21:05 [PATCH v3 0/6] Kconfig debug options Doug Goldstein
2016-05-10 21:05 ` [PATCH v3 1/6] build: add debug menu to Kconfig Doug Goldstein
2016-05-13 18:07 ` Konrad Rzeszutek Wilk
2016-05-10 21:05 ` Doug Goldstein [this message]
2016-05-11 9:47 ` [PATCH v3 2/6] build: convert crash_debug " Jan Beulich
2016-05-11 17:35 ` Doug Goldstein
2016-05-12 9:03 ` Jan Beulich
2016-05-18 2:15 ` Doug Goldstein
2016-05-18 9:14 ` Jan Beulich
2016-05-10 21:05 ` [PATCH v3 3/6] build: convert verbose " Doug Goldstein
2016-05-11 9:45 ` Jan Beulich
2016-05-11 17:37 ` Doug Goldstein
2016-05-12 9:04 ` Jan Beulich
2016-05-18 2:16 ` Doug Goldstein
2016-05-18 9:18 ` Jan Beulich
2016-05-10 21:05 ` [PATCH v3 4/6] build: convert frame_pointer " Doug Goldstein
2016-05-10 21:05 ` [PATCH v3 5/6] build: convert perfc{, _arrays} " Doug Goldstein
2016-05-11 9:53 ` Jan Beulich
2016-05-11 18:39 ` Doug Goldstein
2016-05-12 9:07 ` Jan Beulich
2016-05-10 21:05 ` [PATCH v3 6/6] build: convert lock_profile " Doug Goldstein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1462914329-8797-3-git-send-email-cardoe@cardoe.com \
--to=cardoe@cardoe.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=sstabellini@kernel.org \
--cc=tim@xen.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).