subr_kdb.c (228424) | subr_kdb.c (228632) |
---|---|
1/*- 2 * Copyright (c) 2004 The FreeBSD Project 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * --- 11 unchanged lines hidden (view full) --- 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2004 The FreeBSD Project 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * --- 11 unchanged lines hidden (view full) --- 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/sys/kern/subr_kdb.c 228424 2011-12-11 21:02:01Z avg $"); | 28__FBSDID("$FreeBSD: head/sys/kern/subr_kdb.c 228632 2011-12-17 15:11:22Z avg $"); |
29 30#include "opt_kdb.h" 31#include "opt_stack.h" 32 33#include <sys/param.h> 34#include <sys/systm.h> | 29 30#include "opt_kdb.h" 31#include "opt_stack.h" 32 33#include <sys/param.h> 34#include <sys/systm.h> |
35#include <sys/cons.h> |
|
35#include <sys/kdb.h> 36#include <sys/kernel.h> 37#include <sys/malloc.h> 38#include <sys/pcpu.h> 39#include <sys/proc.h> 40#include <sys/sbuf.h> 41#include <sys/smp.h> 42#include <sys/stack.h> --- 574 unchanged lines hidden (view full) --- 617 kdb_frame = tf; 618 619 /* Let MD code do its thing first... */ 620 kdb_cpu_trap(type, code); 621 622 makectx(tf, &kdb_pcb); 623 kdb_thr_select(curthread); 624 | 36#include <sys/kdb.h> 37#include <sys/kernel.h> 38#include <sys/malloc.h> 39#include <sys/pcpu.h> 40#include <sys/proc.h> 41#include <sys/sbuf.h> 42#include <sys/smp.h> 43#include <sys/stack.h> --- 574 unchanged lines hidden (view full) --- 618 kdb_frame = tf; 619 620 /* Let MD code do its thing first... */ 621 kdb_cpu_trap(type, code); 622 623 makectx(tf, &kdb_pcb); 624 kdb_thr_select(curthread); 625 |
626 cngrab(); 627 |
|
625 for (;;) { 626 handled = be->dbbe_trap(type, code); 627 if (be == kdb_dbbe) 628 break; 629 be = kdb_dbbe; 630 if (be == NULL || be->dbbe_trap == NULL) 631 break; 632 printf("Switching to %s back-end\n", be->dbbe_name); 633 } 634 | 628 for (;;) { 629 handled = be->dbbe_trap(type, code); 630 if (be == kdb_dbbe) 631 break; 632 be = kdb_dbbe; 633 if (be == NULL || be->dbbe_trap == NULL) 634 break; 635 printf("Switching to %s back-end\n", be->dbbe_name); 636 } 637 |
638 cnungrab(); 639 |
|
635 kdb_active--; 636 637#ifdef SMP 638 if (did_stop_cpus) 639 restart_cpus(stopped_cpus); 640#endif 641 642 intr_restore(intr); 643 644 return (handled); 645} | 640 kdb_active--; 641 642#ifdef SMP 643 if (did_stop_cpus) 644 restart_cpus(stopped_cpus); 645#endif 646 647 intr_restore(intr); 648 649 return (handled); 650} |