freebsd-dev/sys/powerpc
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
..
aim Fix physical address type to vm_paddr_t also for powerpc64. 2012-05-25 18:17:26 +00:00
booke Panic openly if we cannot retrieve memory information from the device tree. 2012-05-30 18:05:48 +00:00
compile
conf Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
cpufreq Remove unused variables. Spotted by a cppcheck 2011-01-06 20:19:01 +00:00
fpu Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
include Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
mambo kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
mpc85xx Import eSDHC driver for Freescale integrated controller. 2012-05-26 21:07:15 +00:00
ofw Make ofw_bus_get_node() consistently return -1 when there is no associated 2012-03-15 22:53:39 +00:00
powermac Provide a fix for certain PowerMacs where the U3 i2c lacks the interrupt 2012-03-19 18:03:20 +00:00
powerpc Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
ps3 - Change contigmalloc() to use the vm_paddr_t type instead of an unsigned 2012-03-01 19:58:34 +00:00
psim Fix the interrupt code, broken 7 months ago. The interrupt framework 2011-01-29 20:58:38 +00:00