Hi,
I am working with a new bios for a server our company build. I am
confused about the routing of the timer and arch/x86_64/kernel/time.c
irq setup.
HPET specification states that if Legacy routing replacement enable
bit is set, IRQ0 should not be connected to PIN0 of IOAPIC, and IRQ0
should not generate any interrupts. But in the kernel code, timer is
hard coded to irq0 (arch/x86_64/kernel/time.c : time_init(), calls
setup_irq(0,&irq0). 0 being the irq number)
My question is, should it not be IRQ2 if HPET is enabled and Legacy
Routing Replacement bit is enbaled?
Regards,
Om.
"Om Narasimhan" <[email protected]> writes:
> Hi,
> I am working with a new bios for a server our company build. I am
> confused about the routing of the timer and arch/x86_64/kernel/time.c
> irq setup.
>
> HPET specification states that if Legacy routing replacement enable
> bit is set, IRQ0 should not be connected to PIN0 of IOAPIC, and IRQ0
> should not generate any interrupts. But in the kernel code, timer is
> hard coded to irq0 (arch/x86_64/kernel/time.c : time_init(), calls
> setup_irq(0,&irq0). 0 being the irq number)
>
> My question is, should it not be IRQ2 if HPET is enabled and Legacy
> Routing Replacement bit is enbaled?
Legacy Routing Replacement is currently not supported.
Feel free to contribute a patch supporting it though.
-Andi