Date: Tue, 28 Feb 2017 21:30:27 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r314421 - in projects/clang400-import: . crypto/openssh etc etc/defaults etc/rc.d include/arpa lib/libc/regex lib/libc/x86/sys lib/libfetch lib/librss sbin/geom/class/part sbin/setkey s... Message-ID: <201702282130.v1SLUROX048499@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Tue Feb 28 21:30:26 2017 New Revision: 314421 URL: https://svnweb.freebsd.org/changeset/base/314421 Log: Merge ^/head r314270 through r314419. Added: projects/clang400-import/sys/arm/allwinner/clkng/ - copied from r314419, head/sys/arm/allwinner/clkng/ projects/clang400-import/sys/arm/conf/SOCDK - copied unchanged from r314419, head/sys/arm/conf/SOCDK projects/clang400-import/sys/arm/conf/SOCFPGA - copied unchanged from r314419, head/sys/arm/conf/SOCFPGA projects/clang400-import/sys/boot/fdt/dts/arm/socfpga_arria10_socdk_sdmmc.dts - copied unchanged from r314419, head/sys/boot/fdt/dts/arm/socfpga_arria10_socdk_sdmmc.dts projects/clang400-import/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_beri_sdmmc.dts - copied unchanged from r314419, head/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_beri_sdmmc.dts projects/clang400-import/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_sdmmc.dts - copied unchanged from r314419, head/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_sdmmc.dts Deleted: projects/clang400-import/share/man/man4/man4.i386/streams.4 projects/clang400-import/share/man/man4/man4.i386/svr4.4 projects/clang400-import/sys/arm/conf/SOCKIT.common projects/clang400-import/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts projects/clang400-import/sys/boot/fdt/dts/arm/socfpga-sockit.dts projects/clang400-import/sys/boot/fdt/dts/arm/socfpga.dtsi projects/clang400-import/sys/compat/svr4/ projects/clang400-import/sys/dev/streams/ projects/clang400-import/sys/i386/svr4/ projects/clang400-import/sys/modules/streams/ projects/clang400-import/sys/modules/svr4/ Modified: projects/clang400-import/ObsoleteFiles.inc projects/clang400-import/crypto/openssh/freebsd-configure.sh projects/clang400-import/crypto/openssh/readconf.c projects/clang400-import/etc/defaults/rc.conf projects/clang400-import/etc/devd.conf projects/clang400-import/etc/rc.d/abi projects/clang400-import/include/arpa/nameser_compat.h projects/clang400-import/lib/libc/regex/re_format.7 projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c projects/clang400-import/lib/libfetch/common.c projects/clang400-import/lib/librss/librss.c projects/clang400-import/sbin/geom/class/part/gpart.8 projects/clang400-import/sbin/setkey/setkey.8 projects/clang400-import/share/man/man4/man4.i386/Makefile projects/clang400-import/share/man/man5/rc.conf.5 projects/clang400-import/share/man/man9/sbuf.9 projects/clang400-import/sys/amd64/amd64/pmap.c projects/clang400-import/sys/amd64/conf/NOTES projects/clang400-import/sys/amd64/include/pmap.h projects/clang400-import/sys/amd64/linux/linux_dummy.c projects/clang400-import/sys/amd64/linux/linux_proto.h projects/clang400-import/sys/amd64/linux/linux_sysent.c projects/clang400-import/sys/amd64/linux/linux_systrace_args.c projects/clang400-import/sys/amd64/linux/syscalls.master projects/clang400-import/sys/amd64/linux32/linux.h projects/clang400-import/sys/amd64/linux32/linux32_dummy.c projects/clang400-import/sys/amd64/linux32/linux32_proto.h projects/clang400-import/sys/amd64/linux32/linux32_sysent.c projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c projects/clang400-import/sys/amd64/linux32/syscalls.master projects/clang400-import/sys/arm/allwinner/a31/files.a31 projects/clang400-import/sys/arm/allwinner/files.allwinner projects/clang400-import/sys/arm/allwinner/h3/files.h3 projects/clang400-import/sys/arm/altera/socfpga/socfpga_machdep.c projects/clang400-import/sys/arm/altera/socfpga/socfpga_manager.c projects/clang400-import/sys/arm/altera/socfpga/socfpga_mp.c projects/clang400-import/sys/arm/altera/socfpga/socfpga_mp.h projects/clang400-import/sys/arm/altera/socfpga/socfpga_rstmgr.c projects/clang400-import/sys/arm/altera/socfpga/socfpga_rstmgr.h projects/clang400-import/sys/arm/at91/uart_bus_at91usart.c projects/clang400-import/sys/arm/cavium/cns11xx/uart_bus_ec.c projects/clang400-import/sys/arm/conf/SOCKIT projects/clang400-import/sys/arm/conf/SOCKIT-BERI projects/clang400-import/sys/arm/nvidia/tegra_uart.c projects/clang400-import/sys/arm/xscale/i8134x/uart_bus_i81342.c projects/clang400-import/sys/arm/xscale/ixp425/uart_bus_ixp425.c projects/clang400-import/sys/arm/xscale/pxa/uart_bus_pxa.c projects/clang400-import/sys/boot/forth/loader.conf projects/clang400-import/sys/boot/i386/boot2/Makefile projects/clang400-import/sys/boot/i386/common/drv.c projects/clang400-import/sys/cam/cam_xpt.c projects/clang400-import/sys/cam/cam_xpt.h projects/clang400-import/sys/cam/ctl/ctl.c projects/clang400-import/sys/cam/ctl/ctl_private.h projects/clang400-import/sys/cam/ctl/ctl_tpc.c projects/clang400-import/sys/cam/ctl/scsi_ctl.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/clang400-import/sys/compat/linux/linux_event.c projects/clang400-import/sys/compat/linux/linux_event.h projects/clang400-import/sys/compat/linux/linux_misc.c projects/clang400-import/sys/compat/linux/linux_stats.c projects/clang400-import/sys/compat/linux/linux_time.c projects/clang400-import/sys/compat/linux/linux_timer.h projects/clang400-import/sys/compat/linuxkpi/common/include/linux/bitops.h projects/clang400-import/sys/compat/linuxkpi/common/include/linux/types.h projects/clang400-import/sys/conf/config.mk projects/clang400-import/sys/conf/files projects/clang400-import/sys/conf/files.i386 projects/clang400-import/sys/conf/kern.post.mk projects/clang400-import/sys/conf/options.amd64 projects/clang400-import/sys/conf/options.arm projects/clang400-import/sys/conf/options.i386 projects/clang400-import/sys/dev/acpica/acpi_cmbat.c projects/clang400-import/sys/dev/aic7xxx/aic79xx.c projects/clang400-import/sys/dev/aic7xxx/aic7xxx.c projects/clang400-import/sys/dev/bnxt/bnxt.h projects/clang400-import/sys/dev/bnxt/bnxt_txrx.c projects/clang400-import/sys/dev/bwi/if_bwi.c projects/clang400-import/sys/dev/bwn/if_bwn.c projects/clang400-import/sys/dev/bxe/bxe.c projects/clang400-import/sys/dev/bxe/bxe.h projects/clang400-import/sys/dev/bxe/bxe_elink.c projects/clang400-import/sys/dev/bxe/bxe_stats.c projects/clang400-import/sys/dev/bxe/bxe_stats.h projects/clang400-import/sys/dev/chromebook_platform/chromebook_platform.c projects/clang400-import/sys/dev/cxgbe/iw_cxgbe/cm.c projects/clang400-import/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h projects/clang400-import/sys/dev/firewire/sbp.c projects/clang400-import/sys/dev/firewire/sbp_targ.c projects/clang400-import/sys/dev/hyperv/netvsc/if_hn.c projects/clang400-import/sys/dev/isp/isp.c projects/clang400-import/sys/dev/isp/isp_freebsd.c projects/clang400-import/sys/dev/isp/isp_freebsd.h projects/clang400-import/sys/dev/isp/isp_target.c projects/clang400-import/sys/dev/iwm/if_iwm.c projects/clang400-import/sys/dev/iwn/if_iwn.c projects/clang400-import/sys/dev/otus/if_otus.c projects/clang400-import/sys/dev/ral/rt2560.c projects/clang400-import/sys/dev/ral/rt2661.c projects/clang400-import/sys/dev/ral/rt2860.c projects/clang400-import/sys/dev/rtwn/if_rtwn_tx.c projects/clang400-import/sys/dev/uart/uart.h projects/clang400-import/sys/dev/uart/uart_bus.h projects/clang400-import/sys/dev/uart/uart_bus_acpi.c projects/clang400-import/sys/dev/uart/uart_bus_ebus.c projects/clang400-import/sys/dev/uart/uart_bus_fdt.c projects/clang400-import/sys/dev/uart/uart_bus_isa.c projects/clang400-import/sys/dev/uart/uart_bus_pccard.c projects/clang400-import/sys/dev/uart/uart_bus_pci.c projects/clang400-import/sys/dev/uart/uart_bus_puc.c projects/clang400-import/sys/dev/uart/uart_bus_scc.c projects/clang400-import/sys/dev/uart/uart_core.c projects/clang400-import/sys/dev/uart/uart_cpu.h projects/clang400-import/sys/dev/uart/uart_cpu_arm64.c projects/clang400-import/sys/dev/uart/uart_cpu_fdt.c projects/clang400-import/sys/dev/uart/uart_cpu_fdt.h projects/clang400-import/sys/dev/uart/uart_dev_pl011.c projects/clang400-import/sys/dev/uart/uart_dev_snps.c projects/clang400-import/sys/dev/usb/controller/dwc_otg_fdt.c projects/clang400-import/sys/dev/usb/controller/xhci_pci.c projects/clang400-import/sys/dev/usb/serial/u3g.c projects/clang400-import/sys/dev/usb/storage/cfumass.c projects/clang400-import/sys/dev/usb/usbdevs projects/clang400-import/sys/dev/usb/wlan/if_rum.c projects/clang400-import/sys/dev/usb/wlan/if_run.c projects/clang400-import/sys/dev/usb/wlan/if_ural.c projects/clang400-import/sys/dev/usb/wlan/if_urtw.c projects/clang400-import/sys/dev/usb/wlan/if_zyd.c projects/clang400-import/sys/dev/wpi/if_wpi.c projects/clang400-import/sys/dev/xen/gntdev/gntdev.c projects/clang400-import/sys/geom/part/g_part.c projects/clang400-import/sys/i386/conf/NOTES projects/clang400-import/sys/i386/i386/pmap.c projects/clang400-import/sys/i386/include/pmap.h projects/clang400-import/sys/i386/linux/linux.h projects/clang400-import/sys/i386/linux/linux_dummy.c projects/clang400-import/sys/i386/linux/linux_proto.h projects/clang400-import/sys/i386/linux/linux_sysent.c projects/clang400-import/sys/i386/linux/linux_systrace_args.c projects/clang400-import/sys/i386/linux/syscalls.master projects/clang400-import/sys/kern/makesyscalls.sh projects/clang400-import/sys/kern/subr_prf.c projects/clang400-import/sys/mips/adm5120/uart_bus_adm5120.c projects/clang400-import/sys/mips/alchemy/uart_bus_alchemy.c projects/clang400-import/sys/mips/atheros/ar531x/uart_bus_ar5315.c projects/clang400-import/sys/mips/atheros/uart_bus_ar71xx.c projects/clang400-import/sys/mips/atheros/uart_bus_ar933x.c projects/clang400-import/sys/mips/broadcom/uart_bus_chipc.c projects/clang400-import/sys/mips/cavium/uart_bus_octeonusart.c projects/clang400-import/sys/mips/idt/uart_bus_rc32434.c projects/clang400-import/sys/mips/ingenic/jz4780_uart.c projects/clang400-import/sys/mips/malta/uart_bus_maltausart.c projects/clang400-import/sys/mips/nlm/xlp_pci.c projects/clang400-import/sys/mips/rmi/uart_bus_xlr_iodi.c projects/clang400-import/sys/mips/rmi/xlr_pci.c projects/clang400-import/sys/mips/rt305x/uart_bus_rt305x.c projects/clang400-import/sys/modules/Makefile projects/clang400-import/sys/modules/cam/Makefile projects/clang400-import/sys/net/ieee8023ad_lacp.c projects/clang400-import/sys/net/if.c projects/clang400-import/sys/ofed/drivers/infiniband/core/cma.c projects/clang400-import/sys/ofed/drivers/infiniband/core/iwcm.c projects/clang400-import/sys/powerpc/include/trap.h projects/clang400-import/sys/powerpc/powermac/cpcht.c projects/clang400-import/sys/powerpc/powerpc/trap.c projects/clang400-import/sys/powerpc/psim/uart_iobus.c projects/clang400-import/sys/sparc64/pci/fire.c projects/clang400-import/sys/sparc64/pci/psycho.c projects/clang400-import/sys/sparc64/pci/sbbc.c projects/clang400-import/sys/sparc64/pci/schizo.c projects/clang400-import/sys/sys/file.h projects/clang400-import/sys/sys/sbuf.h projects/clang400-import/sys/vm/uma_core.c projects/clang400-import/sys/vm/vm_kern.c projects/clang400-import/sys/vm/vm_pageout.c projects/clang400-import/sys/vm/vm_pageout.h projects/clang400-import/sys/x86/include/apicreg.h projects/clang400-import/sys/x86/include/apicvar.h projects/clang400-import/sys/x86/x86/cpu_machdep.c projects/clang400-import/sys/x86/x86/local_apic.c projects/clang400-import/usr.bin/dc/bcode.c projects/clang400-import/usr.bin/dc/dc.1 projects/clang400-import/usr.bin/dc/dc.c projects/clang400-import/usr.bin/dc/stack.c projects/clang400-import/usr.bin/fortune/datfiles/freebsd-tips projects/clang400-import/usr.sbin/bhyve/bhyve.8 projects/clang400-import/usr.sbin/bsdconfig/startup/include/messages.subr projects/clang400-import/usr.sbin/bsdconfig/startup/misc Directory Properties: projects/clang400-import/ (props changed) projects/clang400-import/crypto/openssh/ (props changed) projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang400-import/ObsoleteFiles.inc ============================================================================== --- projects/clang400-import/ObsoleteFiles.inc Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/ObsoleteFiles.inc Tue Feb 28 21:30:26 2017 (r314421) @@ -151,6 +151,11 @@ OLD_FILES+=usr/lib/clang/3.9.1/lib/freeb OLD_DIRS+=usr/lib/clang/3.9.1/lib/freebsd OLD_DIRS+=usr/lib/clang/3.9.1/lib OLD_DIRS+=usr/lib/clang/3.9.1 +# 20170226: SVR4 compatibility removed +.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/share/man/man4/streams.4 +OLD_FILES+=usr/share/man/man4/svr4.4 +.endif # 20170219: OpenPAM RADULA upgrade removed the libpam tests OLD_FILES+=usr/tests/lib/libpam/Kyuafile OLD_FILES+=usr/tests/lib/libpam/t_openpam_ctype @@ -8454,7 +8459,7 @@ OLD_FILES+=usr/share/man/man8/boot_i386. .endif .if ${TARGET_ARCH} != "aarch64" && ${TARGET} != "arm" && \ ${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && \ - ${TARGET_ARCH} != "sparc64" + ${TARGET_ARCH} != "sparc64" && ${TARGET} != "mips" OLD_FILES+=usr/share/man/man8/ofwdump.8.gz .endif OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz Modified: projects/clang400-import/crypto/openssh/freebsd-configure.sh ============================================================================== --- projects/clang400-import/crypto/openssh/freebsd-configure.sh Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/crypto/openssh/freebsd-configure.sh Tue Feb 28 21:30:26 2017 (r314421) @@ -30,7 +30,7 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbi unset LD_LIBRARY_PATH # generate config.h with krb5 and stash it -sh configure $configure_args --with-kerberos5 +sh configure $configure_args --with-kerberos5=/usr mv config.log config.log.orig mv config.h config.h.orig Modified: projects/clang400-import/crypto/openssh/readconf.c ============================================================================== --- projects/clang400-import/crypto/openssh/readconf.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/crypto/openssh/readconf.c Tue Feb 28 21:30:26 2017 (r314421) @@ -319,7 +319,6 @@ add_local_forward(Options *options, cons #else ipport_reserved = IPPORT_RESERVED; #endif - if (newfwd->listen_port < ipport_reserved && original_real_uid != 0) if (newfwd->listen_port < ipport_reserved && original_real_uid != 0 && newfwd->listen_path == NULL) fatal("Privileged ports can only be forwarded by root."); Modified: projects/clang400-import/etc/defaults/rc.conf ============================================================================== --- projects/clang400-import/etc/defaults/rc.conf Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/etc/defaults/rc.conf Tue Feb 28 21:30:26 2017 (r314421) @@ -630,7 +630,6 @@ firstboot_sentinel="/firstboot" # Script # Emulation/compatibility services provided by /etc/rc.d/abi sysvipc_enable="NO" # Load System V IPC primitives at startup (or NO). linux_enable="NO" # Linux binary compatibility loaded at startup (or NO). -svr4_enable="NO" # SysVR4 emulation loaded at startup (or NO). clear_tmp_enable="NO" # Clear /tmp at startup. clear_tmp_X="YES" # Clear and recreate X11-related directories in /tmp ldconfig_insecure="NO" # Set to YES to disable ldconfig security checks Modified: projects/clang400-import/etc/devd.conf ============================================================================== --- projects/clang400-import/etc/devd.conf Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/etc/devd.conf Tue Feb 28 21:30:26 2017 (r314421) @@ -312,10 +312,10 @@ notify 10 { }; # This example works around a memory leak in PostgreSQL, restarting -# it when the "user:pgsql:swap:devctl=1G" rctl(8) rule gets triggered. +# it when the "user:postgres:swap:devctl=1G" rctl(8) rule gets triggered. notify 0 { match "system" "RCTL"; - match "rule" "user:70:swap:.*"; + match "rule" "user:770:swap:.*"; action "/usr/local/etc/rc.d/postgresql restart"; }; Modified: projects/clang400-import/etc/rc.d/abi ============================================================================== --- projects/clang400-import/etc/rc.d/abi Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/etc/rc.d/abi Tue Feb 28 21:30:26 2017 (r314421) @@ -43,25 +43,18 @@ linux_start() fi } -svr4_start() -{ - echo -n ' svr4' - load_kld -m svr4elf svr4 -} - abi_start() { local _echostop _echostop= - if checkyesno sysvipc_enable || checkyesno linux_enable || checkyesno svr4_enable; then + if checkyesno sysvipc_enable || checkyesno linux_enable; then echo -n 'Additional ABI support:' _echostop=yes fi checkyesno sysvipc_enable && sysv_start checkyesno linux_enable && linux_start - checkyesno svr4_enable && svr4_start [ -n "${_echostop}" ] && echo '.' } Modified: projects/clang400-import/include/arpa/nameser_compat.h ============================================================================== --- projects/clang400-import/include/arpa/nameser_compat.h Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/include/arpa/nameser_compat.h Tue Feb 28 21:30:26 2017 (r314421) @@ -175,6 +175,7 @@ typedef struct { #define T_ATMA ns_t_atma #define T_NAPTR ns_t_naptr #define T_A6 ns_t_a6 +#define T_DNAME ns_t_dname #define T_OPT ns_t_opt #define T_TSIG ns_t_tsig #define T_IXFR ns_t_ixfr Modified: projects/clang400-import/lib/libc/regex/re_format.7 ============================================================================== --- projects/clang400-import/lib/libc/regex/re_format.7 Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/lib/libc/regex/re_format.7 Tue Feb 28 21:30:26 2017 (r314421) @@ -319,7 +319,7 @@ The additional word delimiters and .Ql \e> are provided to ease compatibility with traditional -.Xr svr4 4 +SVR4 systems but are not portable and should be avoided. .Pp In the event that an RE could match more than one substring of a given Modified: projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c ============================================================================== --- projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c Tue Feb 28 21:30:26 2017 (r314421) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include "namespace.h" +#include <sys/capsicum.h> #include <sys/elf.h> #include <sys/fcntl.h> #include <sys/mman.h> @@ -124,6 +125,7 @@ __vdso_init_hpet(uint32_t u) static const char devprefix[] = "/dev/hpet"; char devname[64], *c, *c1, t; volatile char *new_map, *old_map; + unsigned int mode; uint32_t u1; int fd; @@ -144,18 +146,25 @@ __vdso_init_hpet(uint32_t u) if (old_map != NULL) return; + if (cap_getmode(&mode) == 0 && mode != 0) + goto fail; + fd = _open(devname, O_RDONLY); - if (fd == -1) { - atomic_cmpset_rel_ptr((volatile uintptr_t *)&hpet_dev_map[u], - (uintptr_t)old_map, (uintptr_t)MAP_FAILED); - return; - } + if (fd == -1) + goto fail; + new_map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd, 0); _close(fd); if (atomic_cmpset_rel_ptr((volatile uintptr_t *)&hpet_dev_map[u], (uintptr_t)old_map, (uintptr_t)new_map) == 0 && new_map != MAP_FAILED) - munmap((void *)new_map, PAGE_SIZE); + munmap((void *)new_map, PAGE_SIZE); + + return; +fail: + /* Prevent the caller from re-entering. */ + atomic_cmpset_rel_ptr((volatile uintptr_t *)&hpet_dev_map[u], + (uintptr_t)old_map, (uintptr_t)MAP_FAILED); } #ifdef WANT_HYPERV @@ -174,16 +183,22 @@ static void __vdso_init_hyperv_tsc(void) { int fd; + unsigned int mode; + + if (cap_getmode(&mode) == 0 && mode != 0) + goto fail; fd = _open(HYPERV_REFTSC_DEVPATH, O_RDONLY); - if (fd < 0) { - /* Prevent the caller from re-entering. */ - hyperv_ref_tsc = MAP_FAILED; - return; - } + if (fd < 0) + goto fail; hyperv_ref_tsc = mmap(NULL, sizeof(*hyperv_ref_tsc), PROT_READ, MAP_SHARED, fd, 0); _close(fd); + + return; +fail: + /* Prevent the caller from re-entering. */ + hyperv_ref_tsc = MAP_FAILED; } static int Modified: projects/clang400-import/lib/libfetch/common.c ============================================================================== --- projects/clang400-import/lib/libfetch/common.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/lib/libfetch/common.c Tue Feb 28 21:30:26 2017 (r314421) @@ -153,7 +153,7 @@ fetch_syserr(void) case EHOSTDOWN: fetchLastErrCode = FETCH_DOWN; break; -default: + default: fetchLastErrCode = FETCH_UNKNOWN; } snprintf(fetchLastErrString, MAXERRSTRING, "%s", strerror(errno)); @@ -371,7 +371,7 @@ fetch_connect(const char *host, int port } if (err != 0) { if (verbose) - fetch_info("failed to connect to %s:%s", host, port); + fetch_info("failed to connect to %s:%d", host, port); goto syserr; } Modified: projects/clang400-import/lib/librss/librss.c ============================================================================== --- projects/clang400-import/lib/librss/librss.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/lib/librss/librss.c Tue Feb 28 21:30:26 2017 (r314421) @@ -244,10 +244,10 @@ rss_config_get(void) return (rc); error: - if ((rc != NULL) && rc->rss_bucket_map) + if (rc != NULL) { free(rc->rss_bucket_map); - if (rc != NULL) free(rc); + } return (NULL); } Modified: projects/clang400-import/sbin/geom/class/part/gpart.8 ============================================================================== --- projects/clang400-import/sbin/geom/class/part/gpart.8 Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sbin/geom/class/part/gpart.8 Tue Feb 28 21:30:26 2017 (r314421) @@ -1146,6 +1146,18 @@ variables can be used to control the beh GEOM class. The default value is shown next to each variable. .Bl -tag -width indent +.It Va kern.geom.part.auto_resize: No 1 +This variable controls automatic resize behavior of +.Nm +GEOM class. +When this variable is enable and new size of provider is detected, the schema +metadata is resized but all changes are not saved to disk, until +.Cm gpart commit +is run to confirm changes. +This behavior is also reported with diagnostic message: +.Sy "GEOM_PART: (provider) was automatically resized." +.Sy "Use `gpart commit (provider)` to save changes or `gpart undo (provider)`" +.Sy "to revert them." .It Va kern.geom.part.check_integrity : No 1 This variable controls the behaviour of metadata integrity checks. When integrity checks are enabled, the Modified: projects/clang400-import/sbin/setkey/setkey.8 ============================================================================== --- projects/clang400-import/sbin/setkey/setkey.8 Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sbin/setkey/setkey.8 Tue Feb 28 21:30:26 2017 (r314421) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 6, 2017 +.Dd February 27, 2017 .Dt SETKEY 8 .Os .\" @@ -593,12 +593,11 @@ keyed-md5 128 ah: 96bit ICV (no documen keyed-sha1 160 ah: 96bit ICV (no document) 160 ah-old: 128bit ICV (no document) null 0 to 2048 for debugging -hmac-sha2-256 256 ah: 96bit ICV - (draft-ietf-ipsec-ciph-sha-256-00) +hmac-sha2-256 256 ah: 128bit ICV (RFC4868) 256 ah-old: 128bit ICV (no document) -hmac-sha2-384 384 ah: 96bit ICV (no document) +hmac-sha2-384 384 ah: 192bit ICV (RFC4868) 384 ah-old: 128bit ICV (no document) -hmac-sha2-512 512 ah: 96bit ICV (no document) +hmac-sha2-512 512 ah: 256bit ICV (RFC4868) 512 ah-old: 128bit ICV (no document) hmac-ripemd160 160 ah: 96bit ICV (RFC2857) ah-old: 128bit ICV (no document) Modified: projects/clang400-import/share/man/man4/man4.i386/Makefile ============================================================================== --- projects/clang400-import/share/man/man4/man4.i386/Makefile Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/share/man/man4/man4.i386/Makefile Tue Feb 28 21:30:26 2017 (r314421) @@ -25,8 +25,6 @@ MAN= aic.4 \ pnpbios.4 \ sbni.4 \ smapi.4 \ - streams.4 \ - svr4.4 \ vpd.4 \ vx.4 Modified: projects/clang400-import/share/man/man5/rc.conf.5 ============================================================================== --- projects/clang400-import/share/man/man5/rc.conf.5 Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/share/man/man5/rc.conf.5 Tue Feb 28 21:30:26 2017 (r314421) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 10, 2016 +.Dd February 26, 2017 .Dt RC.CONF 5 .Os .Sh NAME @@ -3631,11 +3631,6 @@ Set to .Dq Li YES to enable Linux/ELF binary emulation at system initial boot time. -.It Va svr4_enable -.Pq Vt bool -If set to -.Dq Li YES , -enable SysVR4 emulation at boot time. .It Va sysvipc_enable .Pq Vt bool If set to Modified: projects/clang400-import/share/man/man9/sbuf.9 ============================================================================== --- projects/clang400-import/share/man/man9/sbuf.9 Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/share/man/man9/sbuf.9 Tue Feb 28 21:30:26 2017 (r314421) @@ -57,7 +57,8 @@ .Nm sbuf_delete , .Nm sbuf_start_section , .Nm sbuf_end_section , -.Nm sbuf_hexdump +.Nm sbuf_hexdump , +.Nm sbuf_putbuf .Nd safe string composition .Sh SYNOPSIS .In sys/types.h @@ -124,6 +125,8 @@ .Fa "const char *hdr" .Fa "int flags" .Fc +.Ft void +.Fn sbuf_putbuf "struct sbuf *s" .In sys/sysctl.h .Ft struct sbuf * .Fn sbuf_new_for_sysctl "struct sbuf *s" "char *buf" "int length" "struct sysctl_req *req" @@ -472,6 +475,12 @@ representation of the bytes if possible. See the .Xr hexdump 3 man page for more details on the interface. +.Pp +The +.Fn sbuf_putbuf +function printfs the sbuf to stdout if in userland, and to the console +and log if in the kernel. +It does not drain the buffer or update any pointers. .Sh NOTES If an operation caused an .Fa sbuf Modified: projects/clang400-import/sys/amd64/amd64/pmap.c ============================================================================== --- projects/clang400-import/sys/amd64/amd64/pmap.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/amd64/pmap.c Tue Feb 28 21:30:26 2017 (r314421) @@ -613,6 +613,8 @@ static vm_page_t pmap_enter_quick_locked vm_page_t m, vm_prot_t prot, vm_page_t mpte, struct rwlock **lockp); static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte); static int pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte); +static void pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va, + pd_entry_t pde); static void pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode); static void pmap_pde_attr(pd_entry_t *pde, int cache_bits, int mask); static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va, @@ -1838,6 +1840,27 @@ pmap_update_pde(pmap_t pmap, vm_offset_t } #endif /* !SMP */ +static void +pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va, pd_entry_t pde) +{ + + /* + * When the PDE has PG_PROMOTED set, the 2MB page mapping was created + * by a promotion that did not invalidate the 512 4KB page mappings + * that might exist in the TLB. Consequently, at this point, the TLB + * may hold both 4KB and 2MB page mappings for the address range [va, + * va + NBPDR). Therefore, the entire range must be invalidated here. + * In contrast, when PG_PROMOTED is clear, the TLB will not hold any + * 4KB page mappings for the address range [va, va + NBPDR), and so a + * single INVLPG suffices to invalidate the 2MB page mapping from the + * TLB. + */ + if ((pde & PG_PROMOTED) != 0) + pmap_invalidate_range(pmap, va, va + NBPDR - 1); + else + pmap_invalidate_page(pmap, va); +} + #define PMAP_CLFLUSH_THRESHOLD (2 * 1024 * 1024) void @@ -3472,7 +3495,8 @@ pmap_demote_pde_locked(pmap_t pmap, pd_e SLIST_INIT(&free); sva = trunc_2mpage(va); pmap_remove_pde(pmap, pde, sva, &free, lockp); - pmap_invalidate_range(pmap, sva, sva + NBPDR - 1); + if ((oldpde & PG_G) == 0) + pmap_invalidate_pde_page(pmap, sva, oldpde); pmap_free_zero_pages(&free); CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx" " in pmap %p", va, pmap); @@ -3612,25 +3636,8 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t oldpde = pte_load_clear(pdq); if (oldpde & PG_W) pmap->pm_stats.wired_count -= NBPDR / PAGE_SIZE; - - /* - * When workaround_erratum383 is false, a promotion to a 2M - * page mapping does not invalidate the 512 4K page mappings - * from the TLB. Consequently, at this point, the TLB may - * hold both 4K and 2M page mappings. Therefore, the entire - * range of addresses must be invalidated here. In contrast, - * when workaround_erratum383 is true, a promotion does - * invalidate the 512 4K page mappings, and so a single INVLPG - * suffices to invalidate the 2M page mapping. - */ - if ((oldpde & PG_G) != 0) { - if (workaround_erratum383) - pmap_invalidate_page(kernel_pmap, sva); - else - pmap_invalidate_range(kernel_pmap, sva, - sva + NBPDR - 1); - } - + if ((oldpde & PG_G) != 0) + pmap_invalidate_pde_page(kernel_pmap, sva, oldpde); pmap_resident_count_dec(pmap, NBPDR / PAGE_SIZE); if (oldpde & PG_MANAGED) { CHANGE_PV_LIST_LOCK_TO_PHYS(lockp, oldpde & PG_PS_FRAME); @@ -4010,16 +4017,16 @@ retry: if ((prot & VM_PROT_EXECUTE) == 0) newpde |= pg_nx; if (newpde != oldpde) { - if (!atomic_cmpset_long(pde, oldpde, newpde)) + /* + * As an optimization to future operations on this PDE, clear + * PG_PROMOTED. The impending invalidation will remove any + * lingering 4KB page mappings from the TLB. + */ + if (!atomic_cmpset_long(pde, oldpde, newpde & ~PG_PROMOTED)) goto retry; - if (oldpde & PG_G) { - /* See pmap_remove_pde() for explanation. */ - if (workaround_erratum383) - pmap_invalidate_page(kernel_pmap, sva); - else - pmap_invalidate_range(kernel_pmap, sva, - sva + NBPDR - 1); - } else + if ((oldpde & PG_G) != 0) + pmap_invalidate_pde_page(kernel_pmap, sva, oldpde); + else anychanged = TRUE; } return (anychanged); @@ -4272,7 +4279,7 @@ setpte: if (workaround_erratum383) pmap_update_pde(pmap, va, pde, PG_PS | newpde); else - pde_store(pde, PG_PS | newpde); + pde_store(pde, PG_PROMOTED | PG_PS | newpde); atomic_add_long(&pmap_pde_promotions, 1); CTR2(KTR_PMAP, "pmap_promote_pde: success for va %#lx" @@ -4585,7 +4592,8 @@ pmap_enter_pde(pmap_t pmap, vm_offset_t pmap_resident_count_inc(pmap, NBPDR / PAGE_SIZE); /* - * Map the superpage. + * Map the superpage. (This is not a promoted mapping; there will not + * be any lingering 4KB page mappings in the TLB.) */ pde_store(pde, newpde); Modified: projects/clang400-import/sys/amd64/conf/NOTES ============================================================================== --- projects/clang400-import/sys/amd64/conf/NOTES Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/conf/NOTES Tue Feb 28 21:30:26 2017 (r314421) @@ -633,27 +633,6 @@ options LINPROCFS # and PSEUDOFS) options LINSYSFS -# -# SysVR4 ABI emulation -# -# The svr4 ABI emulator can be statically compiled into the kernel or loaded as -# a KLD module. -# The STREAMS network emulation code can also be compiled statically or as a -# module. If loaded as a module, it must be loaded before the svr4 module -# (the /usr/sbin/svr4 script does this for you). If compiling statically, -# the `streams' device must be configured into any kernel which also -# specifies COMPAT_SVR4. It is possible to have a statically-configured -# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 -# script understands that it doesn't need to load the `streams' module under -# those circumstances. -# Caveat: At this time, `options KTRACE' is required for the svr4 emulator -# (whether static or dynamic). -# -#XXX#options COMPAT_SVR4 # build emulator statically -#XXX#options DEBUG_SVR4 # enable verbose debugging -#XXX#device streams # STREAMS network driver (required for svr4). - - ##################################################################### # VM OPTIONS Modified: projects/clang400-import/sys/amd64/include/pmap.h ============================================================================== --- projects/clang400-import/sys/amd64/include/pmap.h Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/include/pmap.h Tue Feb 28 21:30:26 2017 (r314421) @@ -109,6 +109,7 @@ #define PG_MANAGED X86_PG_AVAIL2 #define EPT_PG_EMUL_V X86_PG_AVAIL(52) #define EPT_PG_EMUL_RW X86_PG_AVAIL(53) +#define PG_PROMOTED X86_PG_AVAIL(54) /* PDE only */ #define PG_FRAME (0x000ffffffffff000ul) #define PG_PS_FRAME (0x000fffffffe00000ul) Modified: projects/clang400-import/sys/amd64/linux/linux_dummy.c ============================================================================== --- projects/clang400-import/sys/amd64/linux/linux_dummy.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux/linux_dummy.c Tue Feb 28 21:30:26 2017 (r314421) @@ -103,10 +103,6 @@ DUMMY(vmsplice); DUMMY(move_pages); /* linux 2.6.22: */ DUMMY(signalfd); -DUMMY(timerfd_create); -/* linux 2.6.25: */ -DUMMY(timerfd_settime); -DUMMY(timerfd_gettime); /* linux 2.6.27: */ DUMMY(signalfd4); DUMMY(inotify_init1); Modified: projects/clang400-import/sys/amd64/linux/linux_proto.h ============================================================================== --- projects/clang400-import/sys/amd64/linux/linux_proto.h Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux/linux_proto.h Tue Feb 28 21:30:26 2017 (r314421) @@ -995,12 +995,14 @@ struct linux_epoll_pwait_args { char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)]; char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)]; char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; }; struct linux_signalfd_args { register_t dummy; }; struct linux_timerfd_create_args { - register_t dummy; + char clockid_l_[PADL_(l_int)]; l_int clockid; char clockid_r_[PADR_(l_int)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_eventfd_args { char initval_l_[PADL_(l_uint)]; l_uint initval; char initval_r_[PADR_(l_uint)]; @@ -1012,10 +1014,14 @@ struct linux_fallocate_args { char len_l_[PADL_(l_loff_t)]; l_loff_t len; char len_r_[PADR_(l_loff_t)]; }; struct linux_timerfd_settime_args { - register_t dummy; + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; + char new_value_l_[PADL_(const struct l_itimerspec *)]; const struct l_itimerspec * new_value; char new_value_r_[PADR_(const struct l_itimerspec *)]; + char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)]; }; struct linux_timerfd_gettime_args { - register_t dummy; + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; + char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)]; }; struct linux_accept4_args { char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; Modified: projects/clang400-import/sys/amd64/linux/linux_sysent.c ============================================================================== --- projects/clang400-import/sys/amd64/linux/linux_sysent.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux/linux_sysent.c Tue Feb 28 21:30:26 2017 (r314421) @@ -300,11 +300,11 @@ struct sysent linux_sysent[] = { { AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_utimensat */ { AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 281 = linux_epoll_pwait */ { 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 282 = linux_signalfd */ - { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_timerfd_create */ + { AS(linux_timerfd_create_args), (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_timerfd_create */ { AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 284 = linux_eventfd */ { AS(linux_fallocate_args), (sy_call_t *)linux_fallocate, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 285 = linux_fallocate */ - { 0, (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 286 = linux_timerfd_settime */ - { 0, (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 287 = linux_timerfd_gettime */ + { AS(linux_timerfd_settime_args), (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 286 = linux_timerfd_settime */ + { AS(linux_timerfd_gettime_args), (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 287 = linux_timerfd_gettime */ { AS(linux_accept4_args), (sy_call_t *)linux_accept4, AUE_ACCEPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 288 = linux_accept4 */ { 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 289 = linux_signalfd4 */ { AS(linux_eventfd2_args), (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 290 = linux_eventfd2 */ Modified: projects/clang400-import/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- projects/clang400-import/sys/amd64/linux/linux_systrace_args.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux/linux_systrace_args.c Tue Feb 28 21:30:26 2017 (r314421) @@ -2068,7 +2068,8 @@ systrace_args(int sysnum, void *params, iarg[2] = p->maxevents; /* l_int */ iarg[3] = p->timeout; /* l_int */ uarg[4] = (intptr_t) p->mask; /* l_sigset_t * */ - *n_args = 5; + iarg[5] = p->sigsetsize; /* l_size_t */ + *n_args = 6; break; } /* linux_signalfd */ @@ -2078,7 +2079,10 @@ systrace_args(int sysnum, void *params, } /* linux_timerfd_create */ case 283: { - *n_args = 0; + struct linux_timerfd_create_args *p = params; + iarg[0] = p->clockid; /* l_int */ + iarg[1] = p->flags; /* l_int */ + *n_args = 2; break; } /* linux_eventfd */ @@ -2100,12 +2104,20 @@ systrace_args(int sysnum, void *params, } /* linux_timerfd_settime */ case 286: { - *n_args = 0; + struct linux_timerfd_settime_args *p = params; + iarg[0] = p->fd; /* l_int */ + iarg[1] = p->flags; /* l_int */ + uarg[2] = (intptr_t) p->new_value; /* const struct l_itimerspec * */ + uarg[3] = (intptr_t) p->old_value; /* struct l_itimerspec * */ + *n_args = 4; break; } /* linux_timerfd_gettime */ case 287: { - *n_args = 0; + struct linux_timerfd_gettime_args *p = params; + iarg[0] = p->fd; /* l_int */ + uarg[1] = (intptr_t) p->old_value; /* struct l_itimerspec * */ + *n_args = 2; break; } /* linux_accept4 */ @@ -5635,6 +5647,9 @@ systrace_entry_setargdesc(int sysnum, in case 4: p = "userland l_sigset_t *"; break; + case 5: + p = "l_size_t"; + break; default: break; }; @@ -5644,6 +5659,16 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_timerfd_create */ case 283: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "l_int"; + break; + default: + break; + }; break; /* linux_eventfd */ case 284: @@ -5676,9 +5701,35 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_timerfd_settime */ case 286: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "l_int"; + break; + case 2: + p = "userland const struct l_itimerspec *"; + break; + case 3: + p = "userland struct l_itimerspec *"; + break; + default: + break; + }; break; /* linux_timerfd_gettime */ case 287: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "userland struct l_itimerspec *"; + break; + default: + break; + }; break; /* linux_accept4 */ case 288: @@ -7494,6 +7545,9 @@ systrace_return_setargdesc(int sysnum, i case 282: /* linux_timerfd_create */ case 283: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_eventfd */ case 284: if (ndx == 0 || ndx == 1) @@ -7506,8 +7560,14 @@ systrace_return_setargdesc(int sysnum, i break; /* linux_timerfd_settime */ case 286: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_timerfd_gettime */ case 287: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_accept4 */ case 288: if (ndx == 0 || ndx == 1) Modified: projects/clang400-import/sys/amd64/linux/syscalls.master ============================================================================== --- projects/clang400-import/sys/amd64/linux/syscalls.master Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux/syscalls.master Tue Feb 28 21:30:26 2017 (r314421) @@ -473,14 +473,18 @@ 280 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \ const struct l_timespec *times, l_int flags); } 281 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \ - l_int maxevents, l_int timeout, l_sigset_t *mask); } + l_int maxevents, l_int timeout, l_sigset_t *mask, \ + l_size_t sigsetsize); } 282 AUE_NULL STD { int linux_signalfd(void); } -283 AUE_NULL STD { int linux_timerfd_create(void); } +283 AUE_NULL STD { int linux_timerfd_create(l_int clockid, l_int flags); } 284 AUE_NULL STD { int linux_eventfd(l_uint initval); } 285 AUE_NULL STD { int linux_fallocate(l_int fd, l_int mode, \ l_loff_t offset, l_loff_t len); } -286 AUE_NULL STD { int linux_timerfd_settime(void); } -287 AUE_NULL STD { int linux_timerfd_gettime(void); } +286 AUE_NULL STD { int linux_timerfd_settime(l_int fd, l_int flags, \ + const struct l_itimerspec *new_value, \ + struct l_itimerspec *old_value); } +287 AUE_NULL STD { int linux_timerfd_gettime(l_int fd, \ + struct l_itimerspec *old_value); } 288 AUE_ACCEPT STD { int linux_accept4(l_int s, l_uintptr_t addr, \ l_uintptr_t namelen, int flags); } ; linux 2.6.27: Modified: projects/clang400-import/sys/amd64/linux32/linux.h ============================================================================== --- projects/clang400-import/sys/amd64/linux32/linux.h Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux32/linux.h Tue Feb 28 21:30:26 2017 (r314421) @@ -250,7 +250,9 @@ struct l_statfs64 { uint64_t f_ffree; l_fsid_t f_fsid; l_int f_namelen; - l_int f_spare[6]; + l_int f_frsize; + l_int f_flags; + l_int f_spare[4]; } __packed; /* sigaction flags */ Modified: projects/clang400-import/sys/amd64/linux32/linux32_dummy.c ============================================================================== --- projects/clang400-import/sys/amd64/linux32/linux32_dummy.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux32/linux32_dummy.c Tue Feb 28 21:30:26 2017 (r314421) @@ -103,10 +103,6 @@ DUMMY(move_pages); DUMMY(getcpu); /* linux 2.6.22: */ DUMMY(signalfd); -DUMMY(timerfd_create); -/* linux 2.6.25: */ -DUMMY(timerfd_settime); -DUMMY(timerfd_gettime); /* linux 2.6.27: */ DUMMY(signalfd4); DUMMY(inotify_init1); Modified: projects/clang400-import/sys/amd64/linux32/linux32_proto.h ============================================================================== --- projects/clang400-import/sys/amd64/linux32/linux32_proto.h Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux32/linux32_proto.h Tue Feb 28 21:30:26 2017 (r314421) @@ -1051,6 +1051,7 @@ struct linux_epoll_pwait_args { char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)]; char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)]; char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; }; struct linux_utimensat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; @@ -1062,7 +1063,8 @@ struct linux_signalfd_args { register_t dummy; }; struct linux_timerfd_create_args { - register_t dummy; + char clockid_l_[PADL_(l_int)]; l_int clockid; char clockid_r_[PADR_(l_int)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_eventfd_args { char initval_l_[PADL_(l_uint)]; l_uint initval; char initval_r_[PADR_(l_uint)]; @@ -1074,10 +1076,14 @@ struct linux_fallocate_args { char len_l_[PADL_(l_loff_t)]; l_loff_t len; char len_r_[PADR_(l_loff_t)]; }; struct linux_timerfd_settime_args { - register_t dummy; + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; + char new_value_l_[PADL_(const struct l_itimerspec *)]; const struct l_itimerspec * new_value; char new_value_r_[PADR_(const struct l_itimerspec *)]; + char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)]; }; struct linux_timerfd_gettime_args { - register_t dummy; + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; + char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)]; }; struct linux_signalfd4_args { register_t dummy; Modified: projects/clang400-import/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- projects/clang400-import/sys/amd64/linux32/linux32_sysent.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux32/linux32_sysent.c Tue Feb 28 21:30:26 2017 (r314421) @@ -340,11 +340,11 @@ struct sysent linux32_sysent[] = { { AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 319 = linux_epoll_pwait */ { AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = linux_utimensat */ { 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 321 = linux_signalfd */ - { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */ + { AS(linux_timerfd_create_args), (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */ { AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 323 = linux_eventfd */ { AS(linux_fallocate_args), (sy_call_t *)linux_fallocate, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 324 = linux_fallocate */ - { 0, (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 325 = linux_timerfd_settime */ - { 0, (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 326 = linux_timerfd_gettime */ + { AS(linux_timerfd_settime_args), (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 325 = linux_timerfd_settime */ + { AS(linux_timerfd_gettime_args), (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 326 = linux_timerfd_gettime */ { 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 327 = linux_signalfd4 */ { AS(linux_eventfd2_args), (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 328 = linux_eventfd2 */ { AS(linux_epoll_create1_args), (sy_call_t *)linux_epoll_create1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_epoll_create1 */ Modified: projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c Tue Feb 28 21:30:26 2017 (r314421) @@ -2169,7 +2169,8 @@ systrace_args(int sysnum, void *params, iarg[2] = p->maxevents; /* l_int */ iarg[3] = p->timeout; /* l_int */ uarg[4] = (intptr_t) p->mask; /* l_sigset_t * */ - *n_args = 5; + iarg[5] = p->sigsetsize; /* l_size_t */ + *n_args = 6; break; } /* linux_utimensat */ @@ -2189,7 +2190,10 @@ systrace_args(int sysnum, void *params, } /* linux_timerfd_create */ case 322: { - *n_args = 0; + struct linux_timerfd_create_args *p = params; + iarg[0] = p->clockid; /* l_int */ + iarg[1] = p->flags; /* l_int */ + *n_args = 2; break; } /* linux_eventfd */ @@ -2211,12 +2215,20 @@ systrace_args(int sysnum, void *params, } /* linux_timerfd_settime */ case 325: { - *n_args = 0; + struct linux_timerfd_settime_args *p = params; + iarg[0] = p->fd; /* l_int */ + iarg[1] = p->flags; /* l_int */ + uarg[2] = (intptr_t) p->new_value; /* const struct l_itimerspec * */ + uarg[3] = (intptr_t) p->old_value; /* struct l_itimerspec * */ + *n_args = 4; break; } /* linux_timerfd_gettime */ case 326: { - *n_args = 0; + struct linux_timerfd_gettime_args *p = params; + iarg[0] = p->fd; /* l_int */ + uarg[1] = (intptr_t) p->old_value; /* struct l_itimerspec * */ + *n_args = 2; break; } /* linux_signalfd4 */ @@ -5970,6 +5982,9 @@ systrace_entry_setargdesc(int sysnum, in case 4: p = "userland l_sigset_t *"; break; + case 5: + p = "l_size_t"; + break; default: break; }; @@ -5998,6 +6013,16 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_timerfd_create */ case 322: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "l_int"; + break; + default: + break; + }; break; /* linux_eventfd */ case 323: @@ -6030,9 +6055,35 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_timerfd_settime */ case 325: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "l_int"; + break; + case 2: + p = "userland const struct l_itimerspec *"; + break; + case 3: + p = "userland struct l_itimerspec *"; + break; + default: + break; + }; break; /* linux_timerfd_gettime */ case 326: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "userland struct l_itimerspec *"; + break; + default: + break; + }; break; /* linux_signalfd4 */ case 327: @@ -8128,6 +8179,9 @@ systrace_return_setargdesc(int sysnum, i case 321: /* linux_timerfd_create */ case 322: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_eventfd */ case 323: if (ndx == 0 || ndx == 1) @@ -8140,8 +8194,14 @@ systrace_return_setargdesc(int sysnum, i break; /* linux_timerfd_settime */ case 325: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_timerfd_gettime */ case 326: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_signalfd4 */ case 327: /* linux_eventfd2 */ Modified: projects/clang400-import/sys/amd64/linux32/syscalls.master ============================================================================== --- projects/clang400-import/sys/amd64/linux32/syscalls.master Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/amd64/linux32/syscalls.master Tue Feb 28 21:30:26 2017 (r314421) @@ -533,19 +533,23 @@ ; linux 2.6.19: 318 AUE_NULL STD { int linux_getcpu(void); } 319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \ - l_int maxevents, l_int timeout, l_sigset_t *mask); } + l_int maxevents, l_int timeout, l_sigset_t *mask, \ + l_size_t sigsetsize); } ; linux 2.6.22: 320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \ const struct l_timespec *times, l_int flags); } 321 AUE_NULL STD { int linux_signalfd(void); } -322 AUE_NULL STD { int linux_timerfd_create(void); } +322 AUE_NULL STD { int linux_timerfd_create(l_int clockid, l_int flags); } 323 AUE_NULL STD { int linux_eventfd(l_uint initval); } ; linux 2.6.23: 324 AUE_NULL STD { int linux_fallocate(l_int fd, l_int mode, \ l_loff_t offset, l_loff_t len); } ; linux 2.6.25: -325 AUE_NULL STD { int linux_timerfd_settime(void); } -326 AUE_NULL STD { int linux_timerfd_gettime(void); } +325 AUE_NULL STD { int linux_timerfd_settime(l_int fd, l_int flags, \ + const struct l_itimerspec *new_value, \ + struct l_itimerspec *old_value); } +326 AUE_NULL STD { int linux_timerfd_gettime(l_int fd, \ + struct l_itimerspec *old_value); } ; linux 2.6.27: 327 AUE_NULL STD { int linux_signalfd4(void); } 328 AUE_NULL STD { int linux_eventfd2(l_uint initval, l_int flags); } Modified: projects/clang400-import/sys/arm/allwinner/a31/files.a31 ============================================================================== --- projects/clang400-import/sys/arm/allwinner/a31/files.a31 Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/arm/allwinner/a31/files.a31 Tue Feb 28 21:30:26 2017 (r314421) @@ -1,5 +1,6 @@ # $FreeBSD$ +arm/allwinner/clkng/ccu_a31.c standard arm/allwinner/a31/a31_padconf.c standard arm/allwinner/a31/a31_r_padconf.c standard arm/allwinner/a31/a31s_padconf.c standard Modified: projects/clang400-import/sys/arm/allwinner/files.allwinner ============================================================================== --- projects/clang400-import/sys/arm/allwinner/files.allwinner Tue Feb 28 21:27:51 2017 (r314420) +++ projects/clang400-import/sys/arm/allwinner/files.allwinner Tue Feb 28 21:30:26 2017 (r314421) @@ -56,3 +56,8 @@ arm/allwinner/clk/aw_oscclk.c standard arm/allwinner/clk/aw_pll.c standard arm/allwinner/clk/aw_thsclk.c standard arm/allwinner/clk/aw_usbclk.c standard + +arm/allwinner/clkng/aw_ccung.c standard +arm/allwinner/clkng/aw_clk_nkmp.c standard +arm/allwinner/clkng/aw_clk_nm.c standard +arm/allwinner/clkng/aw_clk_prediv_mux.c standard *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702282130.v1SLUROX048499>