Exemplo n.º 1
0
void disable_timer_nmi_watchdog(void)
{
	unset_nmi_callback();
	old_ioapic_count = atomic_read(&nmi_watchdog_active);
	atomic_set(&nmi_watchdog_active, -1);
	nmi_active = -1;
}
Exemplo n.º 2
0
static void nmi_shutdown(void)
{
	nmi_enabled = 0;
	on_each_cpu(nmi_cpu_shutdown, NULL, 0, 1);
	unset_nmi_callback();
	release_lapic_nmi();
	free_msrs();
}
Exemplo n.º 3
0
void disable_timer_nmi_watchdog(void)
{
   if ((nmi_watchdog != NMI_IO_APIC) || (nmi_active <= 0))
      return;

   unset_nmi_callback();
   nmi_active = -1;
   nmi_watchdog = NMI_NONE;
}
Exemplo n.º 4
0
void disable_timer_nmi_watchdog(void)
{
	if ((nmi_watchdog != NMI_IO_APIC) ||
	    (atomic_read(&nmi_watchdog_active) <= 0))
		return;

	unset_nmi_callback();
	old_ioapic_count = atomic_read(&nmi_watchdog_active);
	atomic_set(&nmi_watchdog_active, -1);
	nmi_active = -1;
}
Exemplo n.º 5
0
static void timer_stop(void)
{
	enable_timer_nmi_watchdog();
	unset_nmi_callback();
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
	synchronize_sched();  /* Allow already-started NMIs to complete. */
#else
	synchronize_kernel();
#endif

#ifdef RRPROFILE
	disable_poll_idle();
#endif // RRPROFILE
}
Exemplo n.º 6
0
/*
 * proc handler for /proc/sys/kernel/unknown_nmi_panic
 */
int proc_unknown_nmi_panic(struct ctl_table *table, int write, struct file *file,
			void __user *buffer, size_t *length, loff_t *ppos)
{
	int old_state;

	old_state = unknown_nmi_panic;
	proc_dointvec(table, write, file, buffer, length, ppos);
	if (!!old_state == !!unknown_nmi_panic)
		return 0;

	if (unknown_nmi_panic) {
		if (reserve_lapic_nmi() < 0) {
			unknown_nmi_panic = 0;
			return -EBUSY;
		} else {
			set_nmi_callback(unknown_nmi_panic_callback);
		}
	} else {
		release_lapic_nmi();
		unset_nmi_callback();
	}
	return 0;
}
Exemplo n.º 7
0
static void timer_stop(void)
{
	enable_timer_nmi_watchdog();
	unset_nmi_callback();
	synchronize_kernel();
}
Exemplo n.º 8
0
void nmi_disable_virq(void)
{
	unset_nmi_callback();
}