freebsd-dev/sys/powerpc/include
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
..
_align.h MFppc64: 2010-07-13 05:32:19 +00:00
_bus.h MFppc64: 2010-07-13 05:32:19 +00:00
_inttypes.h White space changes to align comments. The mips and powerpc _inttypes.h 2011-01-08 18:02:46 +00:00
_limits.h On mixed 32/64 bit architectures (mips, powerpc) use __LP64__ rather than 2011-01-08 12:43:05 +00:00
_stdint.h Introduce internal macros for __U/INT64_C to define the U/INT64_MAX/MIN 2012-01-04 16:02:52 +00:00
_types.h Fix the value of float_t to match what is implied by FLT_EVAL_METHOD. 2012-01-16 20:17:51 +00:00
altivec.h Handle vector assist traps without a kernel panic, by setting denormalized 2010-10-05 18:08:07 +00:00
asm.h Restore proper dot symbol creation for assembly files in the kernel build case. 2012-03-04 11:55:28 +00:00
atomic.h Add a missing " to get closer to compiling. 2012-05-24 23:46:17 +00:00
bat.h
bus_dma.h Provide a simple IOMMU framework on PowerPC, which is required to support 2010-12-03 16:37:37 +00:00
bus.h Revert r216134. This checkin broke platforms where bus_space are macros: 2010-12-03 07:09:23 +00:00
clock.h
cpu.h Add a convenience macro for the returns_twice attribute, and apply it to 2012-04-29 11:04:31 +00:00
cpufunc.h Correctly specify assembler constrains for synchronization instructions. 2012-04-22 21:55:19 +00:00
db_machdep.h MFppc64: 2010-07-13 05:32:19 +00:00
dbdma.h
elf.h Reserve AT_TIMEKEEP auxv entry for providing usermode the pointer to 2012-06-22 06:38:31 +00:00
endian.h Add casts to __uint16_t to the __bswap16() macros on all arches which 2012-03-09 20:34:31 +00:00
exec.h
fdt.h Introduce macro FDT_MAP_IRQ to map from an interrupt controller and 2011-01-29 20:25:20 +00:00
float.h Add C11 macros describing subnormal numbers to float.h. 2012-01-23 06:36:41 +00:00
floatingpoint.h
fpu.h
frame.h Remove duplicate definition of FIRSTARG. 2011-03-17 19:44:00 +00:00
gdb_machdep.h
hid.h Update HID defines for E500mc and E5500 CPU cores. 2012-05-25 21:12:24 +00:00
ieee.h
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
in_cksum.h MFp4 bz_ipv6_fast: 2012-05-24 22:00:48 +00:00
intr_machdep.h Rename INTR_VEC to MAP_IRQ. From the OFW or FDT we obtain a 2011-02-02 05:58:51 +00:00
kdb.h
limits.h
machdep.h Extract vendor specific Book-E pieces into separate files and have a common 2012-05-30 17:34:40 +00:00
md_var.h Update PowerPC event timer code to use new event timers infrastructure. 2010-09-11 04:45:51 +00:00
memdev.h Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
metadata.h Don't redefine MODINFOMD_BOOTINFO as MODINFOMD_DTBP. This 2011-01-15 20:18:08 +00:00
mmuvar.h Introduce inheritance into the PowerPC MMU kobj interface. 2010-09-15 00:17:52 +00:00
ofw_machdep.h Restructure how reset and poweroff are handled on PowerPC systems, since 2010-08-31 15:27:46 +00:00
openpicreg.h
openpicvar.h Add the powerpc support. 2011-05-09 16:16:15 +00:00
param.h Add the possibility to specify from kernel configs MAXCPU value. 2011-07-19 00:37:24 +00:00
pcb.h Restructure the way the copyin/copyout segment is stored to prevent a 2010-10-30 23:07:30 +00:00
pcpu.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
pio.h Fix final bugs in memory barriers on PowerPC: 2012-05-04 16:00:22 +00:00
platform.h Add some platform KOBJ extensions and continue integrating PowerPC 2010-11-12 04:18:19 +00:00
platformvar.h
pmap.h The page flag PGA_WRITEABLE is set and cleared exclusively by the pmap 2012-06-16 18:56:19 +00:00
pmc_mdep.h Add software PMC support. 2012-03-28 20:58:30 +00:00
proc.h Remove unused define. 2011-10-07 16:09:44 +00:00
profile.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
psl.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
pte.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
ptrace.h
reg.h MFppc64: 2010-07-13 05:32:19 +00:00
reloc.h
resource.h
rtas.h MFpseries: 2011-06-02 14:12:37 +00:00
runq.h MFppc64: 2010-07-13 05:32:19 +00:00
sc_machdep.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
slb.h The POWER7 has only 32 SLB slots instead of 64, like other supported 2011-06-02 14:25:52 +00:00
smp.h Add the powerpc support. 2011-05-09 16:16:15 +00:00
spr.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
sr.h Restructure the way the copyin/copyout segment is stored to prevent a 2010-10-30 23:07:30 +00:00
stack.h
stdarg.h
sysarch.h
tlb.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
trap_aim.h Allow multiple inclusion of trap.h. This has always been broken, but 2012-03-29 02:02:14 +00:00
trap_booke.h Allow multiple inclusion of trap.h. This has always been broken, but 2012-03-29 02:02:14 +00:00
trap.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00
ucontext.h Organize some members of ucontext_t in the same order they are in the 2012-04-21 14:39:47 +00:00
varargs.h
vdso.h Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
vm.h - Rename VM_MEMATTR_UNCACHED to VM_MEMATTR_WEAK_UNCACHEABLE on x86 to 2012-03-29 16:51:22 +00:00
vmparam.h Let us manage differences of Book-E PowerPC variations i.e. vendor / 2012-05-27 10:25:20 +00:00