The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/lib/bust_spinlocks.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * lib/bust_spinlocks.c
    3  *
    4  * Provides a minimal bust_spinlocks for architectures which don't have one of their own.
    5  *
    6  * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG()
    7  * and panic() information from reaching the user.
    8  */
    9 
   10 #include <linux/config.h>
   11 #include <linux/kernel.h>
   12 #include <linux/spinlock.h>
   13 #include <linux/tty.h>
   14 #include <linux/wait.h>
   15 #include <linux/vt_kern.h>
   16 
   17 extern spinlock_t timerlist_lock;
   18 
   19 void bust_spinlocks(int yes)
   20 {
   21         spin_lock_init(&timerlist_lock);
   22         if (yes) {
   23                 oops_in_progress = 1;
   24         } else {
   25                 int loglevel_save = console_loglevel;
   26 #ifdef CONFIG_VT
   27                 unblank_screen();
   28 #endif
   29                 oops_in_progress = 0;
   30                 /*
   31                  * OK, the message is on the console.  Now we call printk()
   32                  * without oops_in_progress set so that printk() will give klogd
   33                  * and the blanked console a poke.  Hold onto your hats...
   34                  */
   35                 console_loglevel = 15;          /* NMI oopser may have shut the console up */
   36                 printk(" ");
   37                 console_loglevel = loglevel_save;
   38         }
   39 }
   40 
   41 

Cache object: 6258af4b6caa95d8cebefa8046546abe


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.