[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/6 gnumach] smp: Use HPET instead of pit one-shot that is un
From: |
Samuel Thibault |
Subject: |
Re: [PATCH 5/6 gnumach] smp: Use HPET instead of pit one-shot that is unreliable |
Date: |
Mon, 5 Feb 2024 23:24:12 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
ditto.
Damien Zammit, le lun. 05 févr. 2024 11:34:03 +0000, a ecrit:
> NB: Every x86 board that uses ACPI most likely has a HPET.
> 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.
- [PATCH 0/6 gnumach] SMP on AMD hardware, Damien Zammit, 2024/02/05
- [PATCH 1/6 gnumach] Fix apic_send_ipi function clobbering read only fields, Damien Zammit, 2024/02/05
- [PATCH 2/6 gnumach] separate lapic_enable from lapic_setup, Damien Zammit, 2024/02/05
- [PATCH 3/6 gnumach] smp: Remove hardcoded AP_BOOT_ADDR, Damien Zammit, 2024/02/05
- [PATCH 4/6 gnumach] Add HPET timer for small accurate delays, Damien Zammit, 2024/02/05
- [PATCH 5/6 gnumach] smp: Use HPET instead of pit one-shot that is unreliable, Damien Zammit, 2024/02/05
- Re: [PATCH 5/6 gnumach] smp: Use HPET instead of pit one-shot that is unreliable,
Samuel Thibault <=
- [PATCH 6/6 gnumach] smp: Fix INIT/STARTUP IPI sequence, Damien Zammit, 2024/02/05