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);