freebsd-dev/sys/conf
Marcel Moolenaar e920e3978e Switch to the event timers infrastructure. This includes:
o   Setting td_intr_frame to the XIVs trap frame because it's referenced
    by the ET event handler.
o   Signal EOI to the CPU before calling the registered XIV handlers.
    This prevents lost ITC interrupts, which cause starvation in one-shot
    mode.
o   Adding support for IPI_HARDCLOCK with corresponding per-CPU counters.
o   Have the APs call cpu_initclocks() so as to limited the scattering of
    clock related initialization. cpu_initclocks() calls the <self>_bsp()
    or <self>_ap() version accordingly.
o   Uncomment the ET clock handling in cpu_idle().
o   Update the DDB 'show pcpu' output for the new MD fields.
o   Entirely rewritten ia64_ih_clock(). Note that we don't create as many
    clock XIVs as we have CPUs, as is done on PowerPC. It doesn't scale.
    We can only have 240 XIVs and we can have more CPUs than that. There's
    a single intrcnt index for the cumulative clock ticks and we keep per
    CPU counts in the PCPU stats structure.
o   Register the ITC by hooking SI_SUB_CONFIGURE (2nd order).

Open issues:
o   Clock interrupts can still be lost. Some tweaking is still necessary.

Thanks to: mav@ for his support, feedback and explanations.

ET stats while committing:
eris% sysctl machdep.cpu | grep nclks

machdep.cpu.0.nclks: 24007
machdep.cpu.1.nclks: 22895
machdep.cpu.2.nclks: 13523
machdep.cpu.3.nclks: 9342
machdep.cpu.4.nclks: 9103
machdep.cpu.5.nclks: 9298
machdep.cpu.6.nclks: 10039
machdep.cpu.7.nclks: 9479
eris% vmstat -i | grep clock
clock                      108599         50
2011-06-25 02:15:14 +00:00
..
defines
files Split out host_pcib_get_busno() from the generic PCI-PCI bridge driver to 2011-06-24 21:39:38 +00:00
files.amd64 Move {amd64,i386}/pci/pci_bus.c and {amd64,i386}/include/pci_cfgreg.h to 2011-06-22 21:04:13 +00:00
files.arm Compile in in_cksum* implementations for both IPv6 and IPv6. 2011-04-20 12:58:30 +00:00
files.i386 Move {amd64,i386}/pci/pci_bus.c and {amd64,i386}/include/pci_cfgreg.h to 2011-06-22 21:04:13 +00:00
files.ia64 Switch to the event timers infrastructure. This includes: 2011-06-25 02:15:14 +00:00
files.mips Compile in in_cksum* implementations for both IPv6 and IPv6. 2011-04-20 12:58:30 +00:00
files.pc98 Move {amd64,i386}/pci/pci_bus.c and {amd64,i386}/include/pci_cfgreg.h to 2011-06-22 21:04:13 +00:00
files.powerpc Add an OHCI driver to complement the EHCI one. The infrastructure to attach 2011-06-20 00:46:07 +00:00
files.sparc64 Compile in in_cksum* implementations for both IPv6 and IPv6. 2011-04-20 12:58:30 +00:00
kern.mk Remove an outdated comment as requested by Bruce Evans in a private email to 2011-05-24 09:01:56 +00:00
kern.post.mk Test against "no" rather than "yes" for MK_KERNEL_SYMBOLS 2011-05-23 21:32:45 +00:00
kern.pre.mk Allow MKMODULESENV being preset from other sources like makeoptions 2011-04-30 17:51:39 +00:00
kmod_syms.awk
kmod.mk Test against "no" rather than "yes" for MK_KERNEL_SYMBOLS 2011-05-23 21:32:45 +00:00
ldscript.amd64 The new binutils has correctly redefined MAXPAGESIZE on amd64 as 0x200000 2011-03-28 06:35:17 +00:00
ldscript.arm
ldscript.i386 Step 2: sync sys/conf/ldscript.i386 with the binutils 2.17.50 version, 2010-11-05 19:40:27 +00:00
ldscript.ia64 Stop linking against a direct-mapped virtual address and instead 2011-04-30 20:49:00 +00:00
ldscript.mips Let the linker pick the right output format automatically 2010-11-13 18:38:35 +00:00
ldscript.mips.cfe Remove commented out _DYNAMIC sections. 2011-01-20 19:20:23 +00:00
ldscript.mips.mips64 Remove commented out _DYNAMIC sections. 2011-01-20 19:20:23 +00:00
ldscript.mips.octeon1 In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out. 2011-01-20 19:24:50 +00:00
ldscript.powerpc In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out. 2011-01-20 19:24:50 +00:00
ldscript.powerpc64 In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out. 2011-01-20 19:24:50 +00:00
ldscript.sparc64 Merge binutils 2.17.50 to head. This brings a number of improvements to 2011-02-18 20:54:12 +00:00
Makefile.amd64 Upgrade our copy of llvm/clang to r126079, from upstream's trunk. 2011-02-20 19:33:47 +00:00
Makefile.arm Add -ffreestanding to the command line, so taht inflate.c compiles and link 2011-06-15 19:15:50 +00:00
Makefile.i386 Upgrade our copy of llvm/clang to r126079, from upstream's trunk. 2011-02-20 19:33:47 +00:00
Makefile.ia64 Remove definition of the GCC3 variable. It was introduced in rev. 2007-06-02 21:30:39 +00:00
Makefile.mips Remove unnecessary 'cat'. 2011-01-10 05:13:06 +00:00
Makefile.pc98 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.powerpc Add -Wa,-many to CFLAGS on PowerPC. This aids in building a kernel using 2011-06-09 19:47:30 +00:00
Makefile.sparc64 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
makeLINT.mk Add LINT-NOINET6 which we have inofficially supported for years 2011-05-02 22:54:24 +00:00
makeLINT.sed
newvers.sh expr -> sh arithmetic expansion 2011-05-23 19:57:12 +00:00
NOTES Fix KTR_CPUMASK in order to accept a string representing a cpuset_t. 2011-05-31 20:48:58 +00:00
options Implement a CPU-affine TCP and UDP connection lookup data structure, 2011-06-06 12:55:02 +00:00
options.amd64 Merging mptable under x86 left this option undefined for amd64 case. 2010-10-29 18:38:36 +00:00
options.arm Add options I missed in the additionnal AT91 support commits. 2010-10-07 09:30:35 +00:00
options.i386 Make "options XENHVM" compile for i386, not just amd64 -- a largely 2011-01-04 14:49:54 +00:00
options.ia64 Provide groundwork for 32-bit binary compatibility on non-x86 platforms, 2010-03-11 14:49:06 +00:00
options.mips Put the ARGE_DEBUG behind a kernel config option. 2011-04-05 05:29:10 +00:00
options.pc98 Unbreak the build for pc98. Specify the newly introduced, for ia32, 2010-01-16 12:24:12 +00:00
options.powerpc Import support for the Sony Playstation 3 using the OtherOS feature 2011-01-06 04:12:29 +00:00
options.sparc64 Add a driver for the `Fire' JBus to PCIe bridges found in at least 2009-12-27 16:55:44 +00:00
systags.sh