Module Name: src
Committed By: dyoung
Date: Sun Apr 3 22:29:28 UTC 2011
Modified Files:
src/sys/arch/amd64/amd64: db_interface.c kgdb_machdep.c trap.c
src/sys/arch/amd64/conf: files.amd64
src/sys/arch/i386/i386: db_interface.c kgdb_machdep.c trap.c
src/sys/arch/i386/include: mca_machdep.h
src/sys/arch/i386/mca: mca_machdep.c
src/sys/arch/x86/include: intr.h
src/sys/arch/x86/x86: intr.c
src/sys/arch/xen/conf: files.xen
src/sys/kern: kgdb_stub.c
src/sys/sys: kgdb.h
Added Files:
src/sys/arch/x86/x86: x86_stub.c
Log Message:
Clean up excessive #ifdef'age of NMI trap handling for amd64/i386/xen.
Handle NMI in all Xen kernels.
To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/amd64/amd64/db_interface.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/amd64/amd64/kgdb_machdep.c
cvs rdiff -u -r1.65 -r1.66 src/sys/arch/amd64/amd64/trap.c
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/amd64/conf/files.amd64
cvs rdiff -u -r1.65 -r1.66 src/sys/arch/i386/i386/db_interface.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/i386/kgdb_machdep.c
cvs rdiff -u -r1.260 -r1.261 src/sys/arch/i386/i386/trap.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/i386/include/mca_machdep.h
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/i386/mca/mca_machdep.c
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/x86/include/intr.h
cvs rdiff -u -r1.70 -r1.71 src/sys/arch/x86/x86/intr.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/x86/x86/x86_stub.c
cvs rdiff -u -r1.113 -r1.114 src/sys/arch/xen/conf/files.xen
cvs rdiff -u -r1.23 -r1.24 src/sys/kern/kgdb_stub.c
cvs rdiff -u -r1.11 -r1.12 src/sys/sys/kgdb.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/amd64/amd64/db_interface.c
diff -u src/sys/arch/amd64/amd64/db_interface.c:1.22 src/sys/arch/amd64/amd64/db_interface.c:1.23
--- src/sys/arch/amd64/amd64/db_interface.c:1.22 Mon Dec 20 00:25:24 2010
+++ src/sys/arch/amd64/amd64/db_interface.c Sun Apr 3 22:29:25 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: db_interface.c,v 1.22 2010/12/20 00:25:24 matt Exp $ */
+/* $NetBSD: db_interface.c,v 1.23 2011/04/03 22:29:25 dyoung Exp $ */
/*
* Mach Operating System
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.22 2010/12/20 00:25:24 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.23 2011/04/03 22:29:25 dyoung Exp $");
#include "opt_ddb.h"
#include "opt_multiprocessor.h"
@@ -173,9 +173,11 @@
db_regs_t dbreg;
switch (type) {
+ case T_NMI: /* NMI */
+ printf("NMI ... going to debugger\n");
+ /*FALLTHROUGH*/
case T_BPTFLT: /* breakpoint */
case T_TRCTRAP: /* single_step */
- case T_NMI: /* NMI */
case -1: /* keyboard interrupt */
break;
default:
Index: src/sys/arch/amd64/amd64/kgdb_machdep.c
diff -u src/sys/arch/amd64/amd64/kgdb_machdep.c:1.7 src/sys/arch/amd64/amd64/kgdb_machdep.c:1.8
--- src/sys/arch/amd64/amd64/kgdb_machdep.c:1.7 Mon Dec 20 00:25:24 2010
+++ src/sys/arch/amd64/amd64/kgdb_machdep.c Sun Apr 3 22:29:25 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: kgdb_machdep.c,v 1.7 2010/12/20 00:25:24 matt Exp $ */
+/* $NetBSD: kgdb_machdep.c,v 1.8 2011/04/03 22:29:25 dyoung Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -56,7 +56,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.7 2010/12/20 00:25:24 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.8 2011/04/03 22:29:25 dyoung Exp $");
#include "opt_ddb.h"
@@ -99,6 +99,13 @@
return (1);
}
+void
+kgdb_entry_notice(int type, db_regs_t *regs)
+{
+ if (type == T_NMI)
+ printf("NMI ... going to debugger\n");
+}
+
/*
* Translate a trap number into a unix compatible signal value.
* (gdb only understands unix signal numbers).
Index: src/sys/arch/amd64/amd64/trap.c
diff -u src/sys/arch/amd64/amd64/trap.c:1.65 src/sys/arch/amd64/amd64/trap.c:1.66
--- src/sys/arch/amd64/amd64/trap.c:1.65 Mon Dec 20 00:25:24 2010
+++ src/sys/arch/amd64/amd64/trap.c Sun Apr 3 22:29:25 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.65 2010/12/20 00:25:24 matt Exp $ */
+/* $NetBSD: trap.c,v 1.66 2011/04/03 22:29:25 dyoung Exp $ */
/*-
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.65 2010/12/20 00:25:24 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.66 2011/04/03 22:29:25 dyoung Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@@ -98,9 +98,7 @@
#include <machine/reg.h>
#include <machine/trap.h>
#include <machine/userret.h>
-#ifdef DDB
#include <machine/db_machdep.h>
-#endif
#include <x86/nmi.h>
@@ -108,9 +106,7 @@
#include "isa.h"
#endif
-#ifdef KGDB
#include <sys/kgdb.h>
-#endif
#ifdef KDTRACE_HOOKS
#include <sys/dtrace_bsd.h>
@@ -283,24 +279,17 @@
" %lx cpl %x rsp %lx\n",
type, frame->tf_err, (u_long)frame->tf_rip, frame->tf_cs,
frame->tf_rflags, rcr2(), curcpu()->ci_ilevel, frame->tf_rsp);
-#ifdef DDB
if (kdb_trap(type, 0, frame))
return;
-#endif
-#ifdef KGDB
if (kgdb_trap(type, frame))
return;
- else {
- /*
- * If this is a breakpoint, don't panic
- * if we're not connected.
- */
- if (type == T_BPTFLT) {
- printf("kgdb: ignored %s\n", trap_type[type]);
- return;
- }
+ /*
+ * If this is a breakpoint, don't panic if we're not connected.
+ */
+ if (type == T_BPTFLT && kgdb_disconnected()) {
+ printf("kgdb: ignored %s\n", trap_type[type]);
+ return;
}
-#endif
panic("trap");
/*NOTREACHED*/
@@ -675,32 +664,17 @@
break;
case T_NMI:
-#if !defined(XEN)
if (nmi_dispatch(frame))
return;
-#endif /* !defined(XEN) */
-#if NISA > 0
-#if defined(KGDB) || defined(DDB)
/* NMI can be hooked up to a pushbutton for debugging */
- printf ("NMI ... going to debugger\n");
-#ifdef KGDB
-
if (kgdb_trap(type, frame))
return;
-#endif
-#ifdef DDB
if (kdb_trap(type, 0, frame))
return;
-#endif
-#endif /* KGDB || DDB */
/* machine/parity/power fail/"kitchen sink" faults */
- if (x86_nmi() != 0)
- goto we_re_toast;
- else
- return;
-#endif /* NISA > 0 */
- ; /* avoid a label at end of compound statement */
+ x86_nmi();
+ return;
}
if ((type & T_USER) == 0)
Index: src/sys/arch/amd64/conf/files.amd64
diff -u src/sys/arch/amd64/conf/files.amd64:1.69 src/sys/arch/amd64/conf/files.amd64:1.70
--- src/sys/arch/amd64/conf/files.amd64:1.69 Thu Jul 8 11:24:59 2010
+++ src/sys/arch/amd64/conf/files.amd64 Sun Apr 3 22:29:26 2011
@@ -1,4 +1,4 @@
-# $NetBSD: files.amd64,v 1.69 2010/07/08 11:24:59 rmind Exp $
+# $NetBSD: files.amd64,v 1.70 2011/04/03 22:29:26 dyoung Exp $
#
# new style config file for amd64 architecture
#
@@ -111,6 +111,9 @@
# TSC timecounter support
file arch/x86/x86/tsc.c
+# Stubs for x86 routines not included in the system
+file arch/x86/x86/x86_stub.c
+
# attribute used to represent the "keyboard controller"
# XXX should be a real device
define pckbcport { [irq = -1], [port = -1] }
Index: src/sys/arch/i386/i386/db_interface.c
diff -u src/sys/arch/i386/i386/db_interface.c:1.65 src/sys/arch/i386/i386/db_interface.c:1.66
--- src/sys/arch/i386/i386/db_interface.c:1.65 Wed Jun 9 02:48:52 2010
+++ src/sys/arch/i386/i386/db_interface.c Sun Apr 3 22:29:26 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: db_interface.c,v 1.65 2010/06/09 02:48:52 mrg Exp $ */
+/* $NetBSD: db_interface.c,v 1.66 2011/04/03 22:29:26 dyoung Exp $ */
/*
* Mach Operating System
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.65 2010/06/09 02:48:52 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.66 2011/04/03 22:29:26 dyoung Exp $");
#include "opt_ddb.h"
#include "opt_multiprocessor.h"
@@ -182,9 +182,11 @@
regs->tf_err &= ~TC_FLAGMASK;
switch (type) {
+ case T_NMI: /* NMI */
+ printf("NMI ... going to debugger\n");
+ /*FALLTHROUGH*/
case T_BPTFLT: /* breakpoint */
case T_TRCTRAP: /* single_step */
- case T_NMI: /* NMI */
case -1: /* keyboard interrupt */
break;
default:
Index: src/sys/arch/i386/i386/kgdb_machdep.c
diff -u src/sys/arch/i386/i386/kgdb_machdep.c:1.21 src/sys/arch/i386/i386/kgdb_machdep.c:1.22
--- src/sys/arch/i386/i386/kgdb_machdep.c:1.21 Sun Oct 18 18:14:00 2009
+++ src/sys/arch/i386/i386/kgdb_machdep.c Sun Apr 3 22:29:26 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: kgdb_machdep.c,v 1.21 2009/10/18 18:14:00 snj Exp $ */
+/* $NetBSD: kgdb_machdep.c,v 1.22 2011/04/03 22:29:26 dyoung Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -56,7 +56,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.21 2009/10/18 18:14:00 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.22 2011/04/03 22:29:26 dyoung Exp $");
#include "opt_ddb.h"
@@ -105,6 +105,13 @@
return (1);
}
+void
+kgdb_entry_notice(int type, db_regs_t *regs)
+{
+ if (type == T_NMI)
+ printf("NMI ... going to debugger\n");
+}
+
/*
* Translate a trap number into a unix compatible signal value.
* (gdb only understands unix signal numbers).
Index: src/sys/arch/i386/i386/trap.c
diff -u src/sys/arch/i386/i386/trap.c:1.260 src/sys/arch/i386/i386/trap.c:1.261
--- src/sys/arch/i386/i386/trap.c:1.260 Mon Dec 20 00:25:35 2010
+++ src/sys/arch/i386/i386/trap.c Sun Apr 3 22:29:26 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.260 2010/12/20 00:25:35 matt Exp $ */
+/* $NetBSD: trap.c,v 1.261 2011/04/03 22:29:26 dyoung Exp $ */
/*-
* Copyright (c) 1998, 2000, 2005, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.260 2010/12/20 00:25:35 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.261 2011/04/03 22:29:26 dyoung Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@@ -102,22 +102,16 @@
#include <machine/reg.h>
#include <machine/trap.h>
#include <machine/userret.h>
-#ifdef DDB
#include <machine/db_machdep.h>
-#endif
#include "mca.h"
-#if NMCA > 0
#include <machine/mca_machdep.h>
-#endif
#include <x86/nmi.h>
#include "isa.h"
-#ifdef KGDB
#include <sys/kgdb.h>
-#endif
#include "npx.h"
@@ -388,24 +382,17 @@
check_dr0();
else
trap_print(type, frame);
-#ifdef DDB
if (kdb_trap(type, 0, frame))
return;
-#endif
-#ifdef KGDB
if (kgdb_trap(type, frame))
return;
- else {
- /*
- * If this is a breakpoint, don't panic
- * if we're not connected.
- */
- if (type == T_BPTFLT) {
- printf("kgdb: ignored %s\n", trap_type[type]);
- return;
- }
+ /*
+ * If this is a breakpoint, don't panic if we're not connected.
+ */
+ if (type == T_BPTFLT && kgdb_disconnected()) {
+ printf("kgdb: ignored %s\n", trap_type[type]);
+ return;
}
-#endif
panic("trap");
/*NOTREACHED*/
@@ -806,40 +793,16 @@
break;
case T_NMI:
-#if !defined(XEN)
if (nmi_dispatch(frame))
return;
-#if (NISA > 0 || NMCA > 0)
-#if defined(KGDB) || defined(DDB)
/* NMI can be hooked up to a pushbutton for debugging */
- printf ("NMI ... going to debugger\n");
-#ifdef KGDB
-
if (kgdb_trap(type, frame))
return;
-#endif
-#ifdef DDB
if (kdb_trap(type, 0, frame))
return;
-#endif
-#endif /* KGDB || DDB */
/* machine/parity/power fail/"kitchen sink" faults */
-
-#if NMCA > 0
- /* mca_nmi() takes care to call x86_nmi() if appropriate */
- if (mca_nmi() != 0)
- goto we_re_toast;
- else
- return;
-#else /* NISA > 0 */
- if (x86_nmi() != 0)
- goto we_re_toast;
- else
- return;
-#endif /* NMCA > 0 */
-#endif /* (NISA > 0 || NMCA > 0) */
-#endif /* !defined(XEN) */
- ; /* avoid a label at end of compound statement */
+ mca_nmi();
+ x86_nmi();
}
if ((type & T_USER) == 0)
Index: src/sys/arch/i386/include/mca_machdep.h
diff -u src/sys/arch/i386/include/mca_machdep.h:1.13 src/sys/arch/i386/include/mca_machdep.h:1.14
--- src/sys/arch/i386/include/mca_machdep.h:1.13 Mon May 4 12:19:29 2009
+++ src/sys/arch/i386/include/mca_machdep.h Sun Apr 3 22:29:26 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: mca_machdep.h,v 1.13 2009/05/04 12:19:29 cegger Exp $ */
+/* $NetBSD: mca_machdep.h,v 1.14 2011/04/03 22:29:26 dyoung Exp $ */
/*
* Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -42,7 +42,7 @@
/* set to 1 if MCA bus is detected */
extern int MCA_system;
-int mca_nmi(void);
+void mca_nmi(void);
/*
* Types provided to machine-independent MCA code.
Index: src/sys/arch/i386/mca/mca_machdep.c
diff -u src/sys/arch/i386/mca/mca_machdep.c:1.39 src/sys/arch/i386/mca/mca_machdep.c:1.40
--- src/sys/arch/i386/mca/mca_machdep.c:1.39 Tue Mar 23 21:18:23 2010
+++ src/sys/arch/i386/mca/mca_machdep.c Sun Apr 3 22:29:27 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: mca_machdep.c,v 1.39 2010/03/23 21:18:23 dyoung Exp $ */
+/* $NetBSD: mca_machdep.c,v 1.40 2011/04/03 22:29:27 dyoung Exp $ */
/*-
* Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mca_machdep.c,v 1.39 2010/03/23 21:18:23 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mca_machdep.c,v 1.40 2011/04/03 22:29:27 dyoung Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -236,7 +236,7 @@
* Handle a NMI.
* return true to panic system, false to ignore.
*/
-int
+void
mca_nmi(void)
{
/*
@@ -272,9 +272,8 @@
out:
if (!mcanmi) {
/* no CHCK bits asserted, assume ISA NMI */
- return (x86_nmi());
- } else
- return(0);
+ x86_nmi();
+ }
}
/*
Index: src/sys/arch/x86/include/intr.h
diff -u src/sys/arch/x86/include/intr.h:1.41 src/sys/arch/x86/include/intr.h:1.42
--- src/sys/arch/x86/include/intr.h:1.41 Sun May 2 18:03:31 2010
+++ src/sys/arch/x86/include/intr.h Sun Apr 3 22:29:27 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.h,v 1.41 2010/05/02 18:03:31 plunky Exp $ */
+/* $NetBSD: intr.h,v 1.42 2011/04/03 22:29:27 dyoung Exp $ */
/*-
* Copyright (c) 1998, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -171,7 +171,7 @@
struct pcibus_attach_args;
void intr_default_setup(void);
-int x86_nmi(void);
+void x86_nmi(void);
void *intr_establish(int, struct pic *, int, int, int, int (*)(void *), void *, bool);
void intr_disestablish(struct intrhand *);
void intr_add_pcibus(struct pcibus_attach_args *);
Index: src/sys/arch/x86/x86/intr.c
diff -u src/sys/arch/x86/x86/intr.c:1.70 src/sys/arch/x86/x86/intr.c:1.71
--- src/sys/arch/x86/x86/intr.c:1.70 Sat Jan 22 14:01:27 2011
+++ src/sys/arch/x86/x86/intr.c Sun Apr 3 22:29:27 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.c,v 1.70 2011/01/22 14:01:27 tsutsui Exp $ */
+/* $NetBSD: intr.c,v 1.71 2011/04/03 22:29:27 dyoung Exp $ */
/*-
* Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -133,7 +133,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.70 2011/01/22 14:01:27 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.71 2011/04/03 22:29:27 dyoung Exp $");
#include "opt_intrdebug.h"
#include "opt_multiprocessor.h"
@@ -222,12 +222,11 @@
* Handle a NMI, possibly a machine check.
* return true to panic system, false to ignore.
*/
-int
+void
x86_nmi(void)
{
log(LOG_CRIT, "NMI port 61 %x, port 70 %x\n", inb(0x61), inb(0x70));
- return(0);
}
/*
Index: src/sys/arch/xen/conf/files.xen
diff -u src/sys/arch/xen/conf/files.xen:1.113 src/sys/arch/xen/conf/files.xen:1.114
--- src/sys/arch/xen/conf/files.xen:1.113 Thu Feb 24 10:56:03 2011
+++ src/sys/arch/xen/conf/files.xen Sun Apr 3 22:29:27 2011
@@ -1,4 +1,4 @@
-# $NetBSD: files.xen,v 1.113 2011/02/24 10:56:03 jruoho Exp $
+# $NetBSD: files.xen,v 1.114 2011/04/03 22:29:27 dyoung Exp $
# NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp
# NetBSD: files.i386,v 1.254 2004/03/25 23:32:10 jmc Exp
@@ -255,6 +255,9 @@
file arch/x86/x86/acpi_machdep.c acpi
file arch/x86/x86/i8259.c
+# Stubs for x86 routines not included in the system
+file arch/x86/x86/x86_stub.c
+
# MP configuration using Intel SMP specification 1.4
file arch/x86/x86/mpbios.c mpbios
@@ -265,6 +268,7 @@
file arch/x86/pci/pci_addr_fixup.c pci_addr_fixup
file arch/x86/x86/apic.c ioapic
+file arch/x86/x86/nmi.c
device ioapic
attach ioapic at ioapicbus
Index: src/sys/kern/kgdb_stub.c
diff -u src/sys/kern/kgdb_stub.c:1.23 src/sys/kern/kgdb_stub.c:1.24
--- src/sys/kern/kgdb_stub.c:1.23 Sun Jan 11 10:20:53 2009
+++ src/sys/kern/kgdb_stub.c Sun Apr 3 22:29:28 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: kgdb_stub.c,v 1.23 2009/01/11 10:20:53 cegger Exp $ */
+/* $NetBSD: kgdb_stub.c,v 1.24 2011/04/03 22:29:28 dyoung Exp $ */
/*
* Copyright (c) 1990, 1993
@@ -45,7 +45,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kgdb_stub.c,v 1.23 2009/01/11 10:20:53 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kgdb_stub.c,v 1.24 2011/04/03 22:29:28 dyoung Exp $");
#include "opt_kgdb.h"
@@ -94,6 +94,16 @@
*/
void (*db_trap_callback)(int);
+void kgdb_voidop(void);
+
+__weak_alias(kgdb_entry_notice, kgdb_voidop);
+
+void
+kgdb_voidop(void)
+{
+ return;
+}
+
/*
* This little routine exists simply so that bcopy() can be debugged.
*/
@@ -321,6 +331,8 @@
size_t len;
u_char *p;
+ kgdb_entry_notice(type, regs);
+
if (kgdb_dev == NODEV || kgdb_getc == NULL) {
/* not debugging */
return (0);
@@ -527,3 +539,9 @@
kgdb_recover = 0;
return (1);
}
+
+int
+kgdb_disconnected(void)
+{
+ return 1;
+}
Index: src/sys/sys/kgdb.h
diff -u src/sys/sys/kgdb.h:1.11 src/sys/sys/kgdb.h:1.12
--- src/sys/sys/kgdb.h:1.11 Sun Jan 11 10:20:53 2009
+++ src/sys/sys/kgdb.h Sun Apr 3 22:29:28 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: kgdb.h,v 1.11 2009/01/11 10:20:53 cegger Exp $ */
+/* $NetBSD: kgdb.h,v 1.12 2011/04/03 22:29:28 dyoung Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -89,12 +89,14 @@
void kgdb_connect(int);
void kgdb_panic(void);
int kgdb_trap(int, db_regs_t *);
+int kgdb_disconnected(void);
/*
* Machine dependent functions needed by kgdb_stub.c
*/
int kgdb_signal(int);
int kgdb_acc(vaddr_t, size_t);
+void kgdb_entry_notice(int, db_regs_t *);
void kgdb_getregs(db_regs_t *, kgdb_reg_t *);
void kgdb_setregs(db_regs_t *, kgdb_reg_t *);
Added files:
Index: src/sys/arch/x86/x86/x86_stub.c
diff -u /dev/null src/sys/arch/x86/x86/x86_stub.c:1.1
--- /dev/null Sun Apr 3 22:29:28 2011
+++ src/sys/arch/x86/x86/x86_stub.c Sun Apr 3 22:29:27 2011
@@ -0,0 +1,28 @@
+/* $NetBSD: x86_stub.c,v 1.1 2011/04/03 22:29:27 dyoung Exp $ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: x86_stub.c,v 1.1 2011/04/03 22:29:27 dyoung Exp $");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kgdb.h>
+
+int x86_nullop(void);
+void x86_voidop(void);
+
+void
+x86_voidop(void)
+{
+}
+
+int
+x86_nullop(void)
+{
+ return 0;
+}
+
+__weak_alias(kdb_trap, x86_nullop);
+__weak_alias(kgdb_disconnected, x86_nullop);
+__weak_alias(kgdb_trap, x86_nullop);
+__weak_alias(mca_nmi, x86_voidop);
+__weak_alias(x86_nmi, x86_voidop);