I applied it but moved the #ifndef APIC to inside restore_IRQ, to
restore raising spl back to high, as the rest of the initialization code
expects.

Damien Zammit, le ven. 03 févr. 2023 10:01:55 +0000, a ecrit:
> ---
>  linux/dev/arch/i386/kernel/irq.c | 2 +-
>  linux/dev/init/main.c            | 2 ++
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/linux/dev/arch/i386/kernel/irq.c 
> b/linux/dev/arch/i386/kernel/irq.c
> index 67feea84..b48d1312 100644
> --- a/linux/dev/arch/i386/kernel/irq.c
> +++ b/linux/dev/arch/i386/kernel/irq.c
> @@ -721,13 +721,13 @@ init_IRQ (void)
>    outb_p (PIT_C0 | PIT_SQUAREMODE | PIT_READMODE, PITCTL_PORT);
>    outb_p (latch & 0xff, PITCTR0_PORT);
>    outb (latch >> 8, PITCTR0_PORT);
> -#endif
> 
>    /*
>     * Install our clock interrupt handler.
>     */
>    old_clock_handler = ivect[0];
>    ivect[0] = linux_timer_intr;
> +#endif
> 
>    reserve_mach_irqs ();
> 
> diff --git a/linux/dev/init/main.c b/linux/dev/init/main.c
> index 6d853957..207724f3 100644
> --- a/linux/dev/init/main.c
> +++ b/linux/dev/init/main.c
> @@ -160,7 +160,9 @@ linux_init (void)
>    pcmcia_init ();
>  #endif
> 
> +#ifndef APIC
>    restore_IRQ ();
> +#endif
> 
>    linux_auto_config = 0;
>  }
> --
> 2.34.1

Reply via email to