freebsd-dev/sys/i386
Alexander Motin 1ecff35a6b Use value -1 instead of 0 for marking unused APIC vectors. This fixes
IRQ0 routing on LAPIC-enabled systems.

Add hint.apic.0.clock tunable. Setting it 0 disables using LAPIC timers
as hard-/stat-/profclock sources falling back to using i8254 and rtc timers.

On modern CPUs LAPIC is a part of CPU core which is shutting down when CPU
enters C3 or deeper power state. It makes no problems for interrupt
processing, as chipset wakes up CPU on interrupt triggering. But entering
C3 state kills LAPIC timer and freezes system time, making C3 and deeper
states practically unusable. Using i8254 timer allows to avoid this
problem.

By using i8254 timer my T7700 C2D CPU with UP kernel successfully enters
C3 state, saving more then a Watt of total idle power (>10%) in addition to
all other power-saving techniques.

This technique is not working for SMP yet, as only one CPU receives
timer interrupts. But I think that problem could be fixed by forwarding
interrupts to other CPUs with IPI.
2009-05-01 17:05:49 +00:00
..
acpica At least one BIOS bogusly includes duplicate entries for I/O APICs. The 2009-03-05 16:03:44 +00:00
bios Replace all calls to minor() with dev2unit(). 2008-09-27 08:51:18 +00:00
compile
conf - Import infrastructure for caching flows as a means of accelerating L3 and L2 lookups 2009-04-19 00:16:04 +00:00
cpufreq Extend comment in copyright notice as requested by author. 2009-03-29 13:35:20 +00:00
i386 Use value -1 instead of 0 for marking unused APIC vectors. This fixes 2009-05-01 17:05:49 +00:00
ibcs2 FreeBSD/i386 doesn't include a software FPU emulator anymore, so adjust 2009-02-23 15:38:35 +00:00
include - Add support for cpuid leaf 0xb. This allows us to determine the 2009-04-29 06:54:40 +00:00
isa Fix a few nits in the earlier changes to prevent local information leakage 2009-03-25 22:08:30 +00:00
linux Reimplement futexes. 2009-05-01 15:36:02 +00:00
pci Fall back to using configuration type 1 accesses for PCI config requests if 2009-03-24 18:10:22 +00:00
svr4 Change some movl's to mov's. Newer GAS no longer accept 'movl' instructions 2009-01-31 11:37:21 +00:00
xbox In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
xen Fix the Xen build for i386 PV mode. 2009-04-01 17:06:28 +00:00
Makefile Update entries for building tags. 2007-05-13 18:21:54 +00:00