freebsd-skq/sys/x86/include
Roger Pau Monné 5f05c79450 xen: implement an early timer for Xen PVH
When running as a PVH guest, there's no emulated i8254, so we need to
use the Xen PV timer as the early source for DELAY. This change allows
for different implementations of the early DELAY function and
implements a Xen variant for it.

Approved by: gibbs
Sponsored by: Citrix Systems R&D

dev/xen/timer/timer.c:
dev/xen/timer/timer.h:
 - Implement Xen early delay functions using the PV timer and declare
   them.

x86/include/init.h:
 - Add hooks for early clock source initialization and early delay
   functions.

i386/i386/machdep.c:
pc98/pc98/machdep.c:
amd64/amd64/machdep.c:
 - Set early delay hooks to use the i8254 on bare metal.
 - Use clock_init (that will in turn make use of init_ops) to
   initialize the early clock source.

amd64/include/clock.h:
i386/include/clock.h:
 - Declare i8254_delay and clock_init.

i386/xen/clock.c:
 - Rename DELAY to i8254_delay.

x86/isa/clock.c:
 - Introduce clock_init that will take care of initializing the early
   clock by making use of the init_ops hooks.
 - Move non ISA related delay functions to the newly introduced delay
   file.

x86/x86/delay.c:
 - Add moved delay related functions.
 - Implement generic DELAY function that will use the init_ops hooks.

x86/xen/pv.c:
 - Set PVH hooks for the early delay related functions in init_ops.

conf/files.amd64:
conf/files.i386:
conf/files.pc98:
 - Add delay.c to the kernel build.
2014-03-11 10:20:42 +00:00
..
_align.h
_inttypes.h
_limits.h
_stdint.h
_types.h
acpica_machdep.h Merge acpica_machdep.h for amd64 and i386 and move to x86. In fact, these 2013-08-13 22:05:10 +00:00
apicreg.h Move constants for indices in the local APIC's local vector table from 2013-12-09 21:08:52 +00:00
apicvar.h Drop the 3rd clause from all 3 clause BSD licenses where I am the sole 2014-02-05 18:13:27 +00:00
apm_bios.h
bus.h
busdma_impl.h Remove redundand declaration, fixing the build with gcc. 2013-10-29 07:25:54 +00:00
elf.h
endian.h
fdt.h Retire machine/fdt.h as a header used by MI code, as its function is now 2014-01-05 18:46:58 +00:00
float.h
fpu.h
frame.h
init.h xen: implement an early timer for Xen PVH 2014-03-11 10:20:42 +00:00
legacyvar.h Add support for managing PCI bus numbers. As with BARs and PCI-PCI bridge 2014-02-12 04:30:37 +00:00
mca.h
mptable.h Use fixed-width types for all fields in MP Table structures and pack 2013-12-11 21:19:04 +00:00
ofw_machdep.h Retire machine/fdt.h as a header used by MI code, as its function is now 2014-01-05 18:46:58 +00:00
pci_cfgreg.h
psl.h x86: Allow users to change PSL_RF via ptrace(PT_SETREGS...) 2013-11-14 15:37:20 +00:00
ptrace.h
reg.h
segments.h Implement vector callback for PVHVM and unify event channel implementations 2013-08-29 19:52:18 +00:00
setjmp.h
sigframe.h
signal.h
specialreg.h Rename the AMD MSR_PERFCTR[0-3] so the Pentium Pro MSR_PERFCTR[0-1] 2014-01-31 14:29:34 +00:00
stdarg.h Add a va_copy() to our fall-back stdarg implementation for use with lint(1) 2013-10-07 10:01:23 +00:00
sysarch.h
trap.h Remove references to an unused fasttrap probe hook, and remove the 2013-10-31 02:35:00 +00:00
ucontext.h
vdso.h