https://github.com/torvalds/linux
Revision 95069f89e80bb49ecc1b135bf85747e8dc6681f9 authored by Andres Salomon on 06 July 2007, 18:17:30 UTC, committed by Linus Torvalds on 06 July 2007, 18:45:11 UTC
Writing to MSR 0x51400017 forces a hard reset on CS5536-based machines,
this has the reboot fixup do just that if such a board is detected.

Acked-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 1feb17e
Raw File
Tip revision: 95069f89e80bb49ecc1b135bf85747e8dc6681f9 authored by Andres Salomon on 06 July 2007, 18:17:30 UTC
GEODE: reboot fixup for geode machines with CS5536 boards
Tip revision: 95069f8
bust_spinlocks.c
/*
 * lib/bust_spinlocks.c
 *
 * Provides a minimal bust_spinlocks for architectures which don't have one of their own.
 *
 * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG()
 * and panic() information from reaching the user.
 */

#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/tty.h>
#include <linux/wait.h>
#include <linux/vt_kern.h>


void __attribute__((weak)) bust_spinlocks(int yes)
{
	if (yes) {
		oops_in_progress = 1;
	} else {
#ifdef CONFIG_VT
		unblank_screen();
#endif
		oops_in_progress = 0;
		wake_up_klogd();
	}
}


back to top