aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2021-09-29 16:19:51 +0000
committerWarner Losh <imp@FreeBSD.org>2021-09-29 16:35:21 +0000
commit0cfc8b10edd78c9e2738e82544fe4c4db401aea1 (patch)
treeb1e23339cdc52fbf91f494a56a27f5e24acba3de
parent9e1dc7bec331b4d120d4b0687cfd54692e4fddcb (diff)
downloadsrc-0cfc8b10edd78c9e2738e82544fe4c4db401aea1.tar.gz
src-0cfc8b10edd78c9e2738e82544fe4c4db401aea1.zip
f00f: We don't need giant to create IDT for workaround.
We don't need to assert we have Giant here. All machines that require the F00F workaround are UP and interrupts are disabled. Since we are single threaded, it's safe to allocate the IDT area with pmap_trm_alloc, interact with the current idt table and replace the IDT table without any Giant locking. Sponsored by: Netflix Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D31839
-rw-r--r--sys/i386/i386/machdep.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index 1366939cda6e..942ff8c2ada8 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -2719,8 +2719,6 @@ f00f_hack(void *unused)
if (!has_f00f_bug)
return;
- GIANT_REQUIRED;
-
printf("Intel Pentium detected, installing workaround for F00F bug\n");
tmp = (vm_offset_t)pmap_trm_alloc(PAGE_SIZE * 3, M_NOWAIT | M_ZERO);