git: 4642ec266c7e - stable/13 - x86: Do not attempt to calibrate the LAPIC timer if no APIC is present
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 29 Dec 2021 15:47:03 UTC
The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4642ec266c7e4f539d891e59f713628fe6281ea3 commit 4642ec266c7e4f539d891e59f713628fe6281ea3 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2021-12-28 22:44:57 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2021-12-29 15:39:41 +0000 x86: Do not attempt to calibrate the LAPIC timer if no APIC is present Reported and tested by: Michael Butler <imb@protected-networks.net> Reviewed by: jhb, kib Fixes: 62d09b46ad75 ("x86: Defer LAPIC calibration until after timecounters are available") Sponsored by: The FreeBSD Foundation (cherry picked from commit 0ecda8d5ae896b229f13bfe73ffa3a7fc81cc550) --- sys/x86/x86/local_apic.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index 85f4ef1a9c6d..22dcfdef55fe 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -906,6 +906,12 @@ native_lapic_calibrate_timer(void) struct lapic *la; register_t intr; +#ifdef DEV_ATPIC + /* Fail if the local APIC is not present. */ + if (!x2apic_mode && lapic_map == NULL) + return; +#endif + intr = intr_disable(); la = &lapics[lapic_id()];