Date: Thu, 23 Dec 2004 19:47:59 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 local_apic.c src/sys/i386/include apicvar.h Message-ID: <200412231947.iBNJlxjJ075572@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412231947.iBNJlxjJ075572>
