cvs commit: src/sys/i386/i386 local_apic.c src/sys/i386/include
apicvar.h
John Baldwin
jhb at FreeBSD.org
Thu Dec 23 11:47:59 PST 2004
jhb 2004-12-23 19:47:59 UTC
FreeBSD src repository
Modified files:
sys/i386/i386 local_apic.c
sys/i386/include apicvar.h
Log:
- Add a function to set the Task Priority Register (TPR) of the local APIC.
Currently this is only used to initiailize the TPR to 0 during initial
setup.
- Reallocate vectors for the local APIC timer, error, and thermal LVT
entries. The timer entry is allocated from the top of the I/O interrupt
range reducing the number of vectors available for hardware interrupts
to 191. Linux happens to use the same exact vector for its timer
interrupt as well. If the timer vector shared the same priority queue
as the IPI handlers, then the frequency that the timer vector will
eventually be firing at can interact badly with the IPIs resulting in
the queue filling and the dreaded IPI stuck panics, hence it being located
at the top of the previous priority queue instead.
- Fixup various minor nits in comments.
Revision Changes Path
1.10 +25 -8 src/sys/i386/i386/local_apic.c
1.10 +14 -10 src/sys/i386/include/apicvar.h
More information about the cvs-all
mailing list