OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [lib/] [bust_spinlocks.c] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
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
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.