[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 3/4 gnumach] smp: Use HPET instead of pit one-shot that is
From: |
Samuel Thibault |
Subject: |
Re: [PATCH v3 3/4 gnumach] smp: Use HPET instead of pit one-shot that is unreliable |
Date: |
Thu, 8 Feb 2024 00:28:31 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Applied, thanks!
Damien Zammit, le mer. 07 févr. 2024 05:02:19 +0000, a ecrit:
> 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
>
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.