|
Some small progress
Booted Debian reference kernel 2.6.18-4-686 to see what would happen on the
machine which didn't have any lapic interrupts. Both timers were firing with that kernel, don't know why, but that's not what I wanted. Good to know that the hardware and BIOS did indeed support lapic timer. Also, by adding kernel command-line parm 'apic=debug' I could see it calibrating and
initializing the lapic timer.
Recompiled kernel for the lapic/no pit machine to alter a few non-timer related things, booted it up and found that now both pit and lapic timers firing. AAARRRRGHHH. Added kernel command-line parm 'nolapic_timer' to disable and found that made it boot with '0' lapic interrupts (without it,
there are at least a few interrupts for the timer interrupt which is not ultimately chosen; these happen when the kernel is going through the decision tree about which timer(s) to use).
Need to find out how to disable the PIT timer and I think I'll be OK (lapic timer only). The code (/kernel top level/arch/i386/kernel/i8253.c) says
the 'HPET replaces the PIT when enabled", but there's got to be another way
the PIT is disabled because that was what was happening on this machine when I started this thread (before I built the last kernel).
I really wish there was a kernel command line parm for this, then I could at least be in the place I wanted to be and trace my way back to see how I got there lol
|