13b4b4df98
CloudABI executables already provide support for passing in vDSOs. This functionality is used by the emulator for OS X to inject system call handlers. On FreeBSD, we could use it to optimize calls to gettimeofday(), etc. Though I don't have any plans to optimize any system calls right now, let's go ahead and already pass in a vDSO. This will allow us to simplify the executables, as the traditional "syscall" shims can be removed entirely. It also means that we gain more flexibility with regards to adding and removing system calls. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D7438
115 lines
4.7 KiB
Plaintext
115 lines
4.7 KiB
Plaintext
# $FreeBSD$
|
|
cloudabi64_vdso.o optional compat_cloudabi64 \
|
|
dependency "$S/contrib/cloudabi/cloudabi_vdso_aarch64.c" \
|
|
compile-with "${CC} -shared -nostdinc -nostdlib -Wl,-T$S/compat/cloudabi64/cloudabi64_vdso.lds.s -D_KERNEL -I. -I$S -I$S/contrib/cloudabi -O2 -fomit-frame-pointer $S/contrib/cloudabi/cloudabi_vdso_aarch64.c -o ${.TARGET}" \
|
|
no-obj no-implicit-rule \
|
|
clean "cloudabi64_vdso.o"
|
|
#
|
|
cloudabi64_vdso_blob.o optional compat_cloudabi64 \
|
|
dependency "cloudabi64_vdso.o" \
|
|
compile-with "${OBJCOPY} --input-target binary --output-target elf64-littleaarch64 --binary-architecture aarch64 cloudabi64_vdso.o ${.TARGET}" \
|
|
no-implicit-rule \
|
|
clean "cloudabi64_vdso_blob.o"
|
|
#
|
|
arm/arm/generic_timer.c standard
|
|
arm/arm/gic.c standard
|
|
arm/arm/gic_fdt.c optional fdt
|
|
arm/arm/pmu.c standard
|
|
arm64/acpica/acpi_machdep.c optional acpi
|
|
arm64/acpica/OsdEnvironment.c optional acpi
|
|
arm64/acpica/acpi_wakeup.c optional acpi
|
|
arm64/acpica/pci_cfgreg.c optional acpi pci
|
|
arm64/arm64/autoconf.c standard
|
|
arm64/arm64/bcopy.c standard
|
|
arm64/arm64/bus_machdep.c standard
|
|
arm64/arm64/bus_space_asm.S standard
|
|
arm64/arm64/busdma_bounce.c standard
|
|
arm64/arm64/busdma_machdep.c standard
|
|
arm64/arm64/bzero.S standard
|
|
arm64/arm64/clock.c standard
|
|
arm64/arm64/copyinout.S standard
|
|
arm64/arm64/copystr.c standard
|
|
arm64/arm64/cpufunc_asm.S standard
|
|
arm64/arm64/db_disasm.c optional ddb
|
|
arm64/arm64/db_interface.c optional ddb
|
|
arm64/arm64/db_trace.c optional ddb
|
|
arm64/arm64/debug_monitor.c optional kdb
|
|
arm64/arm64/disassem.c optional ddb
|
|
arm64/arm64/dump_machdep.c standard
|
|
arm64/arm64/elf_machdep.c standard
|
|
arm64/arm64/exception.S standard
|
|
arm64/arm64/gicv3_its.c optional intrng
|
|
arm64/arm64/gic_v3.c standard
|
|
arm64/arm64/gic_v3_fdt.c optional fdt
|
|
arm64/arm64/identcpu.c standard
|
|
arm64/arm64/in_cksum.c optional inet | inet6
|
|
arm64/arm64/locore.S standard no-obj
|
|
arm64/arm64/machdep.c standard
|
|
arm64/arm64/mem.c standard
|
|
arm64/arm64/minidump_machdep.c standard
|
|
arm64/arm64/mp_machdep.c optional smp
|
|
arm64/arm64/nexus.c standard
|
|
arm64/arm64/ofw_machdep.c optional fdt
|
|
arm64/arm64/pmap.c standard
|
|
arm64/arm64/stack_machdep.c optional ddb | stack
|
|
arm64/arm64/support.S standard
|
|
arm64/arm64/swtch.S standard
|
|
arm64/arm64/sys_machdep.c standard
|
|
arm64/arm64/trap.c standard
|
|
arm64/arm64/uio_machdep.c standard
|
|
arm64/arm64/uma_machdep.c standard
|
|
arm64/arm64/unwind.c optional ddb | kdtrace_hooks | stack
|
|
arm64/arm64/vfp.c standard
|
|
arm64/arm64/vm_machdep.c standard
|
|
arm64/cavium/thunder_pcie_fdt.c optional soc_cavm_thunderx pci fdt
|
|
arm64/cavium/thunder_pcie_pem.c optional soc_cavm_thunderx pci
|
|
arm64/cavium/thunder_pcie_pem_fdt.c optional soc_cavm_thunderx pci fdt
|
|
arm64/cavium/thunder_pcie_common.c optional soc_cavm_thunderx pci
|
|
arm64/cloudabi64/cloudabi64_sysvec.c optional compat_cloudabi64
|
|
crypto/blowfish/bf_enc.c optional crypto | ipsec
|
|
crypto/des/des_enc.c optional crypto | ipsec | netsmb
|
|
dev/acpica/acpi_if.m optional acpi
|
|
dev/ahci/ahci_generic.c optional ahci fdt
|
|
dev/hwpmc/hwpmc_arm64.c optional hwpmc
|
|
dev/hwpmc/hwpmc_arm64_md.c optional hwpmc
|
|
dev/mmc/host/dwmmc.c optional dwmmc fdt
|
|
dev/mmc/host/dwmmc_hisi.c optional dwmmc fdt soc_hisi_hi6220
|
|
dev/ofw/ofw_cpu.c optional fdt
|
|
dev/ofw/ofwpci.c optional fdt pci
|
|
dev/pci/pci_host_generic.c optional pci fdt
|
|
dev/psci/psci.c optional psci
|
|
dev/psci/psci_arm64.S optional psci
|
|
dev/uart/uart_cpu_fdt.c optional uart fdt
|
|
dev/uart/uart_dev_pl011.c optional uart pl011
|
|
dev/usb/controller/dwc_otg_hisi.c optional dwcotg fdt soc_hisi_hi6220
|
|
dev/usb/controller/generic_ehci.c optional ehci acpi
|
|
dev/usb/controller/generic_ohci.c optional ohci fdt
|
|
dev/usb/controller/generic_usb_if.m optional ohci fdt
|
|
dev/vnic/mrml_bridge.c optional vnic fdt
|
|
dev/vnic/nic_main.c optional vnic pci
|
|
dev/vnic/nicvf_main.c optional vnic pci pci_iov
|
|
dev/vnic/nicvf_queues.c optional vnic pci pci_iov
|
|
dev/vnic/thunder_bgx_fdt.c optional vnic fdt
|
|
dev/vnic/thunder_bgx.c optional vnic pci
|
|
dev/vnic/thunder_mdio_fdt.c optional vnic fdt
|
|
dev/vnic/thunder_mdio.c optional vnic
|
|
dev/vnic/lmac_if.m optional inet | inet6 | vnic
|
|
kern/kern_clocksource.c standard
|
|
kern/msi_if.m optional intrng
|
|
kern/pic_if.m optional intrng
|
|
kern/subr_devmap.c standard
|
|
kern/subr_intr.c optional intrng
|
|
libkern/bcmp.c standard
|
|
libkern/ffs.c standard
|
|
libkern/ffsl.c standard
|
|
libkern/ffsll.c standard
|
|
libkern/fls.c standard
|
|
libkern/flsl.c standard
|
|
libkern/flsll.c standard
|
|
libkern/memmove.c standard
|
|
libkern/memset.c standard
|
|
cddl/contrib/opensolaris/common/atomic/aarch64/opensolaris_atomic.S optional zfs | dtrace compile-with "${CDDL_C}"
|
|
cddl/dev/dtrace/aarch64/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}"
|
|
cddl/dev/dtrace/aarch64/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}"
|
|
cddl/dev/fbt/aarch64/fbt_isa.c optional dtrace_fbt | dtraceall compile-with "${FBT_C}"
|