freebsd-dev/sys/conf
Konstantin Belousov aea810386d Implement mechanism to export some kernel timekeeping data to
usermode, using shared page.  The structures and functions have vdso
prefix, to indicate the intended location of the code in some future.

The versioned per-algorithm data is exported in the format of struct
vdso_timehands, which mostly repeats the content of in-kernel struct
timehands. Usermode reading of the structure can be lockless.
Compatibility export for 32bit processes on 64bit host is also
provided. Kernel also provides usermode with indication about
currently used timecounter, so that libc can fall back to syscall if
configured timecounter is unknown to usermode code.

The shared data updates are initiated both from the tc_windup(), where
a fast task is queued to do the update, and from sysctl handlers which
change timecounter. A manual override switch
kern.timecounter.fast_gettime allows to turn off the mechanism.

Only x86 architectures export the real algorithm data, and there, only
for tsc timecounter. HPET counters page could be exported as well, but
I prefer to not further glue the kernel and libc ABI there until
proper vdso-based solution is developed.

Minimal stubs neccessary for non-x86 architectures to still compile
are provided.

Discussed with:	bde
Reviewed by:	jhb
Tested by:	flo
MFC after:	1 month
2012-06-22 07:06:40 +00:00
..
defines
files - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
files.amd64 Some fixes for r236772. 2012-06-10 02:38:51 +00:00
files.arm Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
files.i386 Some fixes for r236772. 2012-06-10 02:38:51 +00:00
files.ia64 Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
files.mips Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
files.pc98 Move the legacy(4) driver to x86. 2012-03-30 19:10:14 +00:00
files.powerpc Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
files.sparc64 Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
kern.mk Work around the following clang warning in mps(4): 2012-03-23 11:35:01 +00:00
kern.post.mk Improve the functionality of the PORTS_MODULES knob by adding 2012-06-14 19:30:31 +00:00
kern.pre.mk Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH. 2012-03-29 02:54:35 +00:00
kmod_syms.awk
kmod.mk Bring over the first part of the etherswitch framework - an MDIO bus and 2012-05-01 06:11:38 +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 Add the .opd section, this is helps booting a profiled kernel. 2012-01-20 18:52:31 +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 Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to 2012-02-28 18:30:18 +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 Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to 2012-02-28 18:30:18 +00:00
Makefile.ia64
Makefile.mips Fill out fake preload structure to let userland tools like pmc(3) know 2012-03-15 05:29:51 +00:00
Makefile.pc98
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
makeLINT.mk Disable INET6 support in modules when building the LINT-NOINET6 kernel. 2012-04-04 21:31:20 +00:00
makeLINT.sed Match the files directive and all the ways to add or subtract options 2011-10-04 17:11:38 +00:00
newvers.sh newvers.sh: unbreak git/git-svn support 2012-02-12 14:54:19 +00:00
NOTES - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
options - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
options.amd64 Disable detailed PV entry accounting by default. Add a config option 2012-03-24 19:43:49 +00:00
options.arm These options are unused, and can safely be retired. 2012-06-15 08:01:16 +00:00
options.i386 Disable detailed PV entry accounting by default. Add a config option 2012-03-24 19:43:49 +00:00
options.ia64
options.mips Break out the arge MDIO bus code into an optional argemdio device. 2012-05-01 06:18:30 +00:00
options.pc98
options.powerpc Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
options.sparc64
systags.sh
WITHOUT_SOURCELESS Move WITHOUT_SOURCELESS_* files to sys/conf/ in order to avoid "universe" 2012-02-12 14:55:27 +00:00
WITHOUT_SOURCELESS_HOST Fix a typo. 2012-02-12 19:29:34 +00:00
WITHOUT_SOURCELESS_UCODE Move WITHOUT_SOURCELESS_* files to sys/conf/ in order to avoid "universe" 2012-02-12 14:55:27 +00:00