From 25315a5716c70922ba8fd2c821b70abd101f80f5 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Wed, 7 Feb 2024 05:02:19 +0000 Subject: smp: Use HPET instead of pit one-shot that is unreliable NB: Every x86 board that uses ACPI most likely has a HPET since 2005. We can roll back to PIT in the cases where its not present, but the PIT one shot code is definitely currently broken. Message-ID: <20240207050158.1640853-4-damien@zamaudio.com> --- i386/i386/smp.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'i386') diff --git a/i386/i386/smp.c b/i386/i386/smp.c index fb43ecb6..87f59913 100644 --- a/i386/i386/smp.c +++ b/i386/i386/smp.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -101,7 +100,7 @@ void smp_startup_cpu(unsigned apic_id, unsigned vector) } while(lapic->icr_low.delivery_status == SEND_PENDING); /* Wait 10 msec */ - pit_mdelay(10); + hpet_mdelay(10); /* Clear APIC errors */ lapic->error_status.r = 0; @@ -110,7 +109,7 @@ void smp_startup_cpu(unsigned apic_id, unsigned vector) apic_send_ipi(NO_SHORTHAND, STARTUP, PHYSICAL, ASSERT, LEVEL, vector >> 12, apic_id); /* Wait 200 usec */ - pit_udelay(200); + hpet_udelay(200); /* Wait for delivery */ do { @@ -121,7 +120,7 @@ void smp_startup_cpu(unsigned apic_id, unsigned vector) apic_send_ipi(NO_SHORTHAND, STARTUP, PHYSICAL, ASSERT, LEVEL, vector >> 12, apic_id); /* Wait 200 usec */ - pit_udelay(200); + hpet_udelay(200); /* Wait for delivery */ do { -- cgit v1.2.3