aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bvm
diff options
context:
space:
mode:
authorNeel Natu <neel@FreeBSD.org>2012-10-27 22:54:23 +0000
committerNeel Natu <neel@FreeBSD.org>2012-10-27 22:54:23 +0000
commit1ea1e1849014192d01e735715b2d3eecebde8f82 (patch)
tree797e0b6400ebc0b313563ddeb79794fb13c90751 /sys/dev/bvm
parente365fca6c8e62e74fb5bfd1aa5ef885538c80a18 (diff)
Notes
Diffstat (limited to 'sys/dev/bvm')
-rw-r--r--sys/dev/bvm/bvm_dbg.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/sys/dev/bvm/bvm_dbg.c b/sys/dev/bvm/bvm_dbg.c
index 6ae935711a6d..1ba7ce06c430 100644
--- a/sys/dev/bvm/bvm_dbg.c
+++ b/sys/dev/bvm/bvm_dbg.c
@@ -49,6 +49,8 @@ GDB_DBGPORT(bvm, bvm_dbg_probe, bvm_dbg_init, bvm_dbg_term,
#define BVM_DBG_PORT 0x224
static int bvm_dbg_port = BVM_DBG_PORT;
+#define BVM_DBG_SIG ('B' << 8 | 'V')
+
static int
bvm_dbg_probe(void)
{
@@ -56,17 +58,21 @@ bvm_dbg_probe(void)
disabled = 0;
resource_int_value("bvmdbg", 0, "disabled", &disabled);
- if (disabled)
- return (-1);
- if (resource_int_value("bvmdbg", 0, "port", &port) == 0)
- bvm_dbg_port = port;
+ if (!disabled) {
+ if (resource_int_value("bvmdbg", 0, "port", &port) == 0)
+ bvm_dbg_port = port;
+
+ if (inw(bvm_dbg_port) == BVM_DBG_SIG) {
+ /*
+ * Return a higher priority than 0 to override other
+ * gdb dbgport providers that may be present (e.g. uart)
+ */
+ return (1);
+ }
+ }
- /*
- * Return a higher priority than 0 to override other
- * gdb dbgport providers that may be present (e.g. uart)
- */
- return (1);
+ return (-1);
}
static void