コード例 #1
0
ファイル: nmi_64.c プロジェクト: AmesianX/winkvm
void stop_apic_nmi_watchdog(void *unused)
{
	/* only support LOCAL and IO APICs for now */
	if ((nmi_watchdog != NMI_LOCAL_APIC) &&
	    (nmi_watchdog != NMI_IO_APIC))
	    	return;
	if (__get_cpu_var(wd_enabled) == 0)
		return;
	if (nmi_watchdog == NMI_LOCAL_APIC)
		lapic_watchdog_stop();
	__get_cpu_var(wd_enabled) = 0;
	atomic_dec(&nmi_active);
}
コード例 #2
0
ファイル: nmi.c プロジェクト: 12rafael/jellytimekernel
void stop_apic_nmi_watchdog(void *unused)
{
	/* only support LOCAL and IO APICs for now */
	if (!nmi_watchdog_active())
		return;
	if (__get_cpu_var(wd_enabled) == 0)
		return;
	if (nmi_watchdog == NMI_LOCAL_APIC)
		lapic_watchdog_stop();
	else
		__acpi_nmi_disable(NULL);
	__get_cpu_var(wd_enabled) = 0;
	atomic_dec(&nmi_active);
}
コード例 #3
0
void stop_apic_nmi_watchdog(void *unused)
{
    struct hrtimer *hrtimer = &__get_cpu_var(nmi_watchdog_hrtimer);

    /* only support LOCAL and IO APICs for now */
    if (!nmi_watchdog_active())
        return;
    if (__get_cpu_var(wd_enabled) == 0)
        return;

    /* disable the hrtimer */
    hrtimer_cancel(hrtimer);

    if (nmi_watchdog == NMI_LOCAL_APIC)
        lapic_watchdog_stop();
    else
        __acpi_nmi_disable(NULL);
    __get_cpu_var(wd_enabled) = 0;
    atomic_dec(&nmi_active);
}