git: 499171a98c88 - main - apic: prevent divide by zero in CPU frequency init
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 25 Feb 2023 16:53:40 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=499171a98c8813e4dc6e085461d5c47750efa555
commit 499171a98c8813e4dc6e085461d5c47750efa555
Author: Mina Galić <freebsd@igalic.co>
AuthorDate: 2023-02-24 11:07:42 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-02-25 16:47:40 +0000
apic: prevent divide by zero in CPU frequency init
If a CPU for some reason returns 0 as CPU frequency, we currently panic
on the resulting divide by zero when trying to initialize the CPU(s) via
APIC. When this happens, we'll fallback to measuring the frequency
instead.
PR: 269767
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/664
---
sys/x86/x86/local_apic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
index 609635bdad3d..22392901b731 100644
--- a/sys/x86/x86/local_apic.c
+++ b/sys/x86/x86/local_apic.c
@@ -953,7 +953,7 @@ lapic_calibrate_initcount_cpuid_vm(void)
/* Record divided frequency. */
count_freq = freq / lapic_timer_divisor;
- return (true);
+ return (count_freq != 0);
}
static uint64_t