bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 3/4 gnumach] smp: Use HPET instead of pit one-shot that is unr


From: Damien Zammit
Subject: [PATCH v3 3/4 gnumach] smp: Use HPET instead of pit one-shot that is unreliable
Date: Wed, 07 Feb 2024 05:02:19 +0000

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.
---
 i386/i386/smp.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

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 <i386/apic.h>
 #include <i386/smp.h>
 #include <i386/cpu.h>
-#include <i386/pit.h>
 #include <i386at/idt.h>
 #include <i386at/acpi_parse_apic.h>
 #include <kern/printf.h>
@@ -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 {
-- 
2.43.0





reply via email to

[Prev in Thread] Current Thread [Next in Thread]