5f05c79450
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.
264 lines
9.9 KiB
Plaintext
264 lines
9.9 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# modified for PC-9801/PC-9821
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# The long compile-with and dependency lines are required because of
|
|
# limitations in config: backslash-newline doesn't work in strings, and
|
|
# dependency lines other than the first are silently ignored.
|
|
#
|
|
linux_genassym.o optional compat_linux \
|
|
dependency "$S/i386/linux/linux_genassym.c" \
|
|
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
|
no-obj no-implicit-rule \
|
|
clean "linux_genassym.o"
|
|
#
|
|
linux_assym.h optional compat_linux \
|
|
dependency "$S/kern/genassym.sh linux_genassym.o" \
|
|
compile-with "sh $S/kern/genassym.sh linux_genassym.o > ${.TARGET}" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "linux_assym.h"
|
|
#
|
|
svr4_genassym.o optional compat_svr4 \
|
|
dependency "$S/i386/svr4/svr4_genassym.c" \
|
|
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
|
no-obj no-implicit-rule \
|
|
clean "svr4_genassym.o"
|
|
#
|
|
svr4_assym.h optional compat_svr4 \
|
|
dependency "$S/kern/genassym.sh svr4_genassym.o" \
|
|
compile-with "sh $S/kern/genassym.sh svr4_genassym.o > ${.TARGET}" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "svr4_assym.h"
|
|
#
|
|
ukbdmap.h optional ukbd_dflt_keymap \
|
|
compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "ukbdmap.h"
|
|
#
|
|
cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S optional zfs compile-with "${ZFS_S}"
|
|
compat/linprocfs/linprocfs.c optional linprocfs
|
|
compat/linsysfs/linsysfs.c optional linsysfs
|
|
compat/linux/linux_emul.c optional compat_linux
|
|
compat/linux/linux_file.c optional compat_linux
|
|
compat/linux/linux_fork.c optional compat_linux
|
|
compat/linux/linux_futex.c optional compat_linux
|
|
compat/linux/linux_getcwd.c optional compat_linux
|
|
compat/linux/linux_ioctl.c optional compat_linux
|
|
compat/linux/linux_ipc.c optional compat_linux
|
|
compat/linux/linux_mib.c optional compat_linux
|
|
compat/linux/linux_misc.c optional compat_linux
|
|
compat/linux/linux_signal.c optional compat_linux
|
|
compat/linux/linux_socket.c optional compat_linux
|
|
compat/linux/linux_stats.c optional compat_linux
|
|
compat/linux/linux_sysctl.c optional compat_linux
|
|
compat/linux/linux_time.c optional compat_linux
|
|
compat/linux/linux_uid16.c optional compat_linux
|
|
compat/linux/linux_util.c optional compat_linux
|
|
compat/svr4/imgact_svr4.c optional compat_svr4
|
|
compat/svr4/svr4_fcntl.c optional compat_svr4
|
|
compat/svr4/svr4_filio.c optional compat_svr4
|
|
compat/svr4/svr4_ioctl.c optional compat_svr4
|
|
compat/svr4/svr4_ipc.c optional compat_svr4
|
|
compat/svr4/svr4_misc.c optional compat_svr4
|
|
compat/svr4/svr4_resource.c optional compat_svr4
|
|
compat/svr4/svr4_signal.c optional compat_svr4
|
|
compat/svr4/svr4_socket.c optional compat_svr4
|
|
compat/svr4/svr4_sockio.c optional compat_svr4
|
|
compat/svr4/svr4_stat.c optional compat_svr4
|
|
compat/svr4/svr4_stream.c optional compat_svr4
|
|
compat/svr4/svr4_syscallnames.c optional compat_svr4
|
|
compat/svr4/svr4_sysent.c optional compat_svr4
|
|
compat/svr4/svr4_sysvec.c optional compat_svr4
|
|
compat/svr4/svr4_termios.c optional compat_svr4
|
|
bf_enc.o optional crypto | ipsec \
|
|
dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \
|
|
compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \
|
|
no-implicit-rule
|
|
crypto/des/arch/i386/des_enc.S optional crypto | ipsec | netsmb
|
|
dev/agp/agp_ali.c optional agp
|
|
dev/agp/agp_amd.c optional agp
|
|
dev/agp/agp_i810.c optional agp
|
|
dev/agp/agp_intel.c optional agp
|
|
dev/agp/agp_nvidia.c optional agp
|
|
dev/agp/agp_sis.c optional agp
|
|
dev/agp/agp_via.c optional agp
|
|
dev/aic/aic_cbus.c optional aic isa
|
|
dev/ce/ceddk.c optional ce
|
|
dev/ce/if_ce.c optional ce
|
|
dev/ce/tau32-ddk.c optional ce
|
|
dev/cp/cpddk.c optional cp
|
|
dev/cp/if_cp.c optional cp
|
|
dev/ct/bshw_machdep.c optional ct
|
|
dev/ct/ct.c optional ct
|
|
dev/ct/ct_isa.c optional ct isa
|
|
dev/ed/if_ed_cbus.c optional ed isa
|
|
dev/ed/if_ed_wd80x3.c optional ed isa
|
|
dev/fb/fb.c optional fb | gdc
|
|
dev/fe/if_fe_cbus.c optional fe isa
|
|
dev/hwpmc/hwpmc_amd.c optional hwpmc
|
|
dev/hwpmc/hwpmc_intel.c optional hwpmc
|
|
dev/hwpmc/hwpmc_core.c optional hwpmc
|
|
dev/hwpmc/hwpmc_uncore.c optional hwpmc
|
|
dev/hwpmc/hwpmc_pentium.c optional hwpmc
|
|
dev/hwpmc/hwpmc_piv.c optional hwpmc
|
|
dev/hwpmc/hwpmc_ppro.c optional hwpmc
|
|
dev/hwpmc/hwpmc_tsc.c optional hwpmc
|
|
dev/hwpmc/hwpmc_x86.c optional hwpmc
|
|
dev/io/iodev.c optional io
|
|
dev/kbd/kbd.c optional pckbd | sc | ukbd
|
|
dev/le/if_le_cbus.c optional le isa
|
|
dev/lindev/full.c optional lindev
|
|
dev/lindev/lindev.c optional lindev
|
|
dev/mse/mse.c optional mse
|
|
dev/mse/mse_cbus.c optional mse isa
|
|
dev/sbni/if_sbni.c optional sbni
|
|
dev/sbni/if_sbni_pci.c optional sbni pci
|
|
dev/sio/sio_pccard.c optional sio pccard
|
|
dev/sio/sio_pci.c optional sio pci
|
|
dev/sio/sio_puc.c optional sio puc
|
|
dev/snc/dp83932.c optional snc
|
|
dev/snc/dp83932subr.c optional snc
|
|
dev/snc/if_snc.c optional snc
|
|
dev/snc/if_snc_cbus.c optional snc isa
|
|
dev/snc/if_snc_pccard.c optional snc pccard
|
|
dev/speaker/spkr.c optional speaker
|
|
dev/syscons/apm/apm_saver.c optional apm_saver apm
|
|
dev/uart/uart_cpu_pc98.c optional uart
|
|
i386/bios/apm.c optional apm
|
|
#i386/i386/apic_vector.s optional apic
|
|
i386/i386/atomic.c standard \
|
|
compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
|
|
i386/i386/autoconf.c standard
|
|
i386/i386/bios.c standard
|
|
i386/i386/bioscall.s standard
|
|
i386/i386/bpf_jit_machdep.c optional bpf_jitter
|
|
i386/i386/db_disasm.c optional ddb
|
|
i386/i386/db_interface.c optional ddb
|
|
i386/i386/db_trace.c optional ddb
|
|
i386/i386/elf_machdep.c standard
|
|
i386/i386/exception.s standard
|
|
i386/i386/gdb_machdep.c optional gdb
|
|
i386/i386/i686_mem.c optional mem
|
|
i386/i386/identcpu.c standard
|
|
i386/i386/in_cksum.c optional inet | inet6
|
|
i386/i386/initcpu.c standard
|
|
i386/i386/io.c optional io
|
|
i386/i386/k6_mem.c optional mem
|
|
i386/i386/locore.s standard no-obj
|
|
i386/i386/mem.c optional mem
|
|
i386/i386/minidump_machdep.c standard
|
|
i386/i386/mp_clock.c optional smp
|
|
i386/i386/mp_machdep.c optional smp
|
|
i386/i386/mp_watchdog.c optional mp_watchdog smp
|
|
i386/i386/mpboot.s optional smp
|
|
i386/i386/perfmon.c optional perfmon
|
|
i386/i386/pmap.c standard
|
|
i386/i386/ptrace_machdep.c standard
|
|
i386/i386/stack_machdep.c optional ddb | stack
|
|
i386/i386/support.s standard
|
|
i386/i386/swtch.s standard
|
|
i386/i386/sys_machdep.c standard
|
|
i386/i386/trap.c standard
|
|
i386/i386/uio_machdep.c standard
|
|
i386/i386/vm86.c standard
|
|
i386/i386/vm_machdep.c standard
|
|
i386/ibcs2/ibcs2_errno.c optional ibcs2
|
|
i386/ibcs2/ibcs2_fcntl.c optional ibcs2
|
|
i386/ibcs2/ibcs2_ioctl.c optional ibcs2
|
|
i386/ibcs2/ibcs2_ipc.c optional ibcs2
|
|
i386/ibcs2/ibcs2_isc.c optional ibcs2
|
|
i386/ibcs2/ibcs2_isc_sysent.c optional ibcs2
|
|
i386/ibcs2/ibcs2_misc.c optional ibcs2
|
|
i386/ibcs2/ibcs2_msg.c optional ibcs2
|
|
i386/ibcs2/ibcs2_other.c optional ibcs2
|
|
i386/ibcs2/ibcs2_signal.c optional ibcs2
|
|
i386/ibcs2/ibcs2_socksys.c optional ibcs2
|
|
i386/ibcs2/ibcs2_stat.c optional ibcs2
|
|
i386/ibcs2/ibcs2_sysent.c optional ibcs2
|
|
i386/ibcs2/ibcs2_sysi86.c optional ibcs2
|
|
i386/ibcs2/ibcs2_sysvec.c optional ibcs2
|
|
i386/ibcs2/ibcs2_util.c optional ibcs2
|
|
i386/ibcs2/ibcs2_xenix.c optional ibcs2
|
|
i386/ibcs2/ibcs2_xenix_sysent.c optional ibcs2
|
|
i386/ibcs2/imgact_coff.c optional ibcs2
|
|
i386/isa/elink.c optional ep | ie
|
|
i386/isa/npx.c optional npx
|
|
i386/isa/pmtimer.c optional pmtimer
|
|
i386/isa/prof_machdep.c optional profiling-routine
|
|
i386/linux/imgact_linux.c optional compat_linux
|
|
i386/linux/linux_dummy.c optional compat_linux
|
|
i386/linux/linux_locore.s optional compat_linux \
|
|
dependency "linux_assym.h"
|
|
i386/linux/linux_machdep.c optional compat_linux
|
|
i386/linux/linux_ptrace.c optional compat_linux
|
|
i386/linux/linux_support.s optional compat_linux \
|
|
dependency "linux_assym.h"
|
|
i386/linux/linux_sysent.c optional compat_linux
|
|
i386/linux/linux_sysvec.c optional compat_linux
|
|
i386/pci/pci_cfgreg.c optional pci
|
|
i386/pci/pci_pir.c optional pci
|
|
i386/svr4/svr4_locore.s optional compat_svr4 \
|
|
dependency "svr4_assym.h" \
|
|
warning "COMPAT_SVR4 is broken and should be avoided"
|
|
i386/svr4/svr4_machdep.c optional compat_svr4
|
|
kern/kern_clocksource.c standard
|
|
kern/imgact_aout.c optional compat_aout
|
|
kern/imgact_gzip.c optional gzip
|
|
libkern/divdi3.c standard
|
|
libkern/flsll.c standard
|
|
libkern/memmove.c standard
|
|
libkern/memset.c standard
|
|
libkern/moddi3.c standard
|
|
libkern/qdivrem.c standard
|
|
libkern/ucmpdi2.c standard
|
|
libkern/udivdi3.c standard
|
|
libkern/umoddi3.c standard
|
|
pc98/apm/apm_bioscall.S optional apm
|
|
pc98/cbus/cbus_dma.c optional isa
|
|
pc98/cbus/fdc.c optional fdc
|
|
pc98/cbus/fdc_cbus.c optional fdc isa
|
|
pc98/cbus/gdc.c optional gdc
|
|
pc98/cbus/nmi.c standard
|
|
pc98/cbus/olpt.c optional olpt
|
|
pc98/cbus/pckbd.c optional pckbd
|
|
pc98/cbus/pcrtc.c standard
|
|
pc98/cbus/pmc.c optional pmc
|
|
pc98/cbus/scgdcrndr.c optional sc gdc
|
|
pc98/cbus/scterm-sck.c optional sc
|
|
pc98/cbus/scvtb.c optional sc
|
|
pc98/cbus/sio.c optional sio
|
|
pc98/cbus/sio_cbus.c optional sio isa
|
|
pc98/cbus/syscons_cbus.c optional sc
|
|
pc98/pc98/busio.s standard
|
|
pc98/pc98/busiosubr.c standard
|
|
pc98/pc98/canbepm.c optional canbepm
|
|
pc98/pc98/canbus.c optional canbus
|
|
pc98/pc98/canbus_if.m optional canbus
|
|
pc98/pc98/machdep.c standard
|
|
pc98/pc98/pc98_machdep.c standard
|
|
#
|
|
# x86 shared code between IA32, AMD64 and PC98 architectures
|
|
#
|
|
x86/isa/atpic.c optional atpic
|
|
x86/isa/clock.c standard
|
|
x86/isa/isa.c optional isa
|
|
x86/pci/pci_bus.c optional pci
|
|
x86/x86/busdma_bounce.c standard
|
|
x86/x86/busdma_machdep.c standard
|
|
x86/x86/dump_machdep.c standard
|
|
x86/x86/intr_machdep.c standard
|
|
x86/x86/io_apic.c optional apic
|
|
x86/x86/legacy.c standard
|
|
x86/x86/local_apic.c optional apic
|
|
x86/x86/mca.c standard
|
|
x86/x86/mptable.c optional apic
|
|
x86/x86/mptable_pci.c optional apic pci
|
|
x86/x86/msi.c optional apic pci
|
|
x86/x86/nexus.c standard
|
|
x86/x86/tsc.c standard
|
|
x86/x86/tsc.c standard
|
|
x86/x86/delay.c standard
|