Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/acpica/acpi_wakeup.c
Show First 20 Lines • Show All 282 Lines • ▼ Show 20 Lines | #ifdef SMP | ||||||||
acpi_wakeup_cpus(sc); | acpi_wakeup_cpus(sc); | ||||||||
#endif | #endif | ||||||||
} | } | ||||||||
#ifdef SMP | #ifdef SMP | ||||||||
if (!CPU_EMPTY(&suspcpus)) | if (!CPU_EMPTY(&suspcpus)) | ||||||||
resume_cpus(suspcpus); | resume_cpus(suspcpus); | ||||||||
#endif | #endif | ||||||||
/* | |||||||||
* Re-read cpu_stdext_feature3, which was zeroed-out | |||||||||
* in acpi_sleep_machdep, after the microcode was | |||||||||
markjUnsubmitted Done Inline Actions
markj: | |||||||||
* reloaded. Then recalculate the active mitigations | |||||||||
Done Inline Actions
markj: | |||||||||
* knobs that depend on the microcode and | |||||||||
* cpu_stdext_feature3. | |||||||||
*/ | |||||||||
identify_cpu_ext_features(); | |||||||||
hw_ibrs_recalculate(true); | |||||||||
hw_ssb_recalculate(true); | |||||||||
amd64_syscall_ret_flush_l1d_recalc(); | |||||||||
x86_rngds_mitg_recalculate(true); | |||||||||
mca_resume(); | mca_resume(); | ||||||||
if (vmm_resume_p != NULL) | if (vmm_resume_p != NULL) | ||||||||
vmm_resume_p(); | vmm_resume_p(); | ||||||||
intr_resume(/*suspend_cancelled*/false); | intr_resume(/*suspend_cancelled*/false); | ||||||||
AcpiSetFirmwareWakingVector(0, 0); | AcpiSetFirmwareWakingVector(0, 0); | ||||||||
} else { | } else { | ||||||||
/* Wakeup MD procedures in interrupt enabled context */ | /* Wakeup MD procedures in interrupt enabled context */ | ||||||||
▲ Show 20 Lines • Show All 151 Lines • Show Last 20 Lines |