aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--Makefile.inc1111
-rw-r--r--Makefile.libcompat46
-rw-r--r--ObsoleteFiles.inc3
-rw-r--r--UPDATING9
-rw-r--r--bin/csh/Makefile2
-rw-r--r--bin/freebsd-version/freebsd-version.13
-rw-r--r--bin/sh/tests/builtins/Makefile1
-rw-r--r--bin/sh/tests/builtins/trap17.010
-rw-r--r--bin/sh/trap.c5
-rw-r--r--cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c5
-rw-r--r--cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c3
-rw-r--r--cddl/contrib/opensolaris/lib/libzpool/common/kernel.c7
-rw-r--r--cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h3
-rw-r--r--contrib/bmake/ChangeLog17
-rw-r--r--contrib/bmake/Makefile6
-rw-r--r--contrib/bmake/bmake.15
-rw-r--r--contrib/bmake/bmake.cat14
-rw-r--r--contrib/bmake/make.15
-rw-r--r--contrib/bmake/meta.c10
-rw-r--r--contrib/bmake/mk/ChangeLog23
-rw-r--r--contrib/bmake/mk/dirdeps.mk13
-rw-r--r--contrib/bmake/mk/install-mk4
-rw-r--r--contrib/bmake/mk/meta.autodep.mk4
-rw-r--r--contrib/bmake/mk/meta.stage.mk4
-rw-r--r--contrib/bmake/mk/sys.dependfile.mk4
-rw-r--r--contrib/bmake/parse.c7
-rw-r--r--contrib/bmake/suff.c27
-rw-r--r--contrib/bmake/var.c10
-rw-r--r--contrib/bsnmp/snmp_mibII/mibII_tcp.c16
-rw-r--r--contrib/byacc/CHANGES27
-rw-r--r--contrib/byacc/MANIFEST2
-rw-r--r--contrib/byacc/VERSION2
-rw-r--r--contrib/byacc/aclocal.m415
-rwxr-xr-xcontrib/byacc/config.guess27
-rwxr-xr-xcontrib/byacc/config.sub25
-rw-r--r--contrib/byacc/main.c30
-rw-r--r--contrib/byacc/package/byacc.spec4
-rw-r--r--contrib/byacc/package/debian/changelog6
-rw-r--r--contrib/byacc/package/debian/copyright4
-rw-r--r--contrib/byacc/package/mingw-byacc.spec4
-rw-r--r--contrib/byacc/package/pkgsrc/Makefile4
-rw-r--r--contrib/byacc/reader.c4
-rw-r--r--contrib/elftoolchain/elfcopy/elfcopy.h3
-rw-r--r--contrib/elftoolchain/elfcopy/segments.c270
-rw-r--r--contrib/libc++/include/__config34
-rw-r--r--contrib/libcxxrt/guard.cc2
-rw-r--r--contrib/libxo/bin/Makefile.am29
-rw-r--r--contrib/libxo/bin/Zaliases29
-rwxr-xr-xcontrib/libxo/bin/setup.sh33
-rw-r--r--contrib/libxo/build/.create0
-rwxr-xr-xcontrib/libxo/install-sh366
-rw-r--r--contrib/libxo/libxo/xo_config.h.in246
-rw-r--r--contrib/llvm/include/llvm/Support/ThreadPool.h1
-rw-r--r--contrib/llvm/lib/Target/X86/X86ISelLowering.cpp2
-rw-r--r--contrib/ofed/libcxgb4/src/cq.c2
-rw-r--r--contrib/ofed/libcxgb4/src/dev.c7
-rw-r--r--contrib/ofed/libcxgb4/src/libcxgb4.h5
-rw-r--r--contrib/ofed/libcxgb4/src/qp.c2
-rw-r--r--contrib/ofed/libcxgb4/src/t4.h12
-rw-r--r--contrib/ofed/libcxgb4/src/verbs.c22
-rw-r--r--contrib/ofed/management/infiniband-diags/src/ibnetdiscover.c4
-rw-r--r--contrib/ofed/management/opensm/include/vendor/osm_vendor.h2
-rw-r--r--etc/autofs/special_hosts4
-rwxr-xr-xetc/autofs/special_media25
-rw-r--r--etc/mtree/BSD.usr.dist2
-rwxr-xr-xetc/rc.d/msgs22
-rwxr-xr-xetc/rc.d/pf6
-rw-r--r--gnu/lib/csu/Makefile1
-rw-r--r--include/paths.h1
-rw-r--r--include/stdlib.h2
-rw-r--r--kerberos5/Makefile2
-rw-r--r--kerberos5/lib/libroken/Makefile1
-rw-r--r--lib/clang/libllvmsupport/Makefile1
-rw-r--r--lib/csu/powerpc64/Makefile3
-rw-r--r--lib/libc/Makefile3
-rw-r--r--lib/libc/aarch64/Symbol.map2
-rw-r--r--lib/libc/amd64/Symbol.map2
-rw-r--r--lib/libc/arm/Symbol.map3
-rw-r--r--lib/libc/db/mpool/Makefile.inc5
-rw-r--r--lib/libc/gen/Makefile.inc6
-rw-r--r--lib/libc/i386/Symbol.map2
-rw-r--r--lib/libc/iconv/Makefile.inc6
-rw-r--r--lib/libc/locale/euc.c6
-rw-r--r--lib/libc/locale/mskanji.c2
-rw-r--r--lib/libc/mips/Symbol.map3
-rw-r--r--lib/libc/net/Makefile.inc1
-rw-r--r--lib/libc/posix1e/Makefile.inc4
-rw-r--r--lib/libc/powerpc/Symbol.map3
-rw-r--r--lib/libc/powerpc64/Symbol.map3
-rw-r--r--lib/libc/riscv/Symbol.map2
-rw-r--r--lib/libc/secure/Makefile.inc7
-rw-r--r--lib/libc/sparc64/Symbol.map3
-rw-r--r--lib/libc/stdio/open_memstream.34
-rw-r--r--lib/libc/stdtime/Makefile.inc1
-rw-r--r--lib/libc/sys/aio_return.24
-rw-r--r--lib/libc/sys/aio_waitcomplete.24
-rw-r--r--lib/libc/sys/ktrace.24
-rw-r--r--lib/libc/sys/modfind.22
-rw-r--r--lib/libc/sys/ptrace.22
-rw-r--r--lib/libc/tests/ssp/Makefile2
-rw-r--r--lib/libclang_rt/asan_dynamic/Makefile1
-rw-r--r--lib/libcxxrt/Makefile5
-rw-r--r--lib/libdevinfo/Makefile2
-rw-r--r--lib/libfetch/fetch.328
-rw-r--r--lib/libkvm/kvm_amd64.c2
-rw-r--r--lib/libstand/Makefile2
-rw-r--r--lib/libstand/bootp.c8
-rw-r--r--lib/libstand/bootp.h1
-rw-r--r--lib/libstand/bswap.c57
-rw-r--r--lib/libstand/globals.c3
-rw-r--r--lib/libstand/net.h1
-rw-r--r--lib/libstand/stand.h5
-rw-r--r--lib/libsysdecode/errno.c2
-rw-r--r--lib/libthr/Makefile2
-rw-r--r--lib/libthr/thread/thr_fork.c6
-rw-r--r--lib/libthr/thread/thr_init.c26
-rw-r--r--lib/libthr/thread/thr_mutex.c75
-rw-r--r--lib/libthr/thread/thr_private.h11
-rw-r--r--lib/libthr/thread/thr_pshared.c14
-rw-r--r--lib/libthr/thread/thr_pspinlock.c107
-rw-r--r--lib/libthr/thread/thr_rtld.c1
-rw-r--r--lib/libxo/Makefile2
-rw-r--r--lib/libxo/tests/Makefile9
-rw-r--r--lib/libxo/xo_config.h (renamed from contrib/libxo/libxo/xo_config.h)0
-rw-r--r--lib/libz/Makefile1
-rw-r--r--lib/msun/arm/Makefile.inc2
-rw-r--r--lib/ncurses/ncurses/Makefile6
-rw-r--r--libexec/dma/Makefile.inc2
-rw-r--r--libexec/dma/dmagent/Makefile7
-rw-r--r--libexec/rtld-elf/Makefile3
-rw-r--r--release/doc/en_US.ISO8859-1/relnotes/article.xml5
-rw-r--r--release/picobsd/build/Makefile.conf3
-rw-r--r--sbin/atm/atmconfig/atmconfig.83
-rw-r--r--sbin/casperd/Makefile18
-rw-r--r--sbin/devd/devd.cc21
-rw-r--r--sbin/devd/devd.conf.511
-rw-r--r--sbin/ifconfig/ifieee80211.c95
-rw-r--r--sbin/ifconfig/sfp.c28
-rw-r--r--sbin/kldstat/Makefile.depend1
-rw-r--r--sbin/kldstat/kldstat.84
-rw-r--r--sbin/kldstat/kldstat.c30
-rw-r--r--sbin/ping/ping.c4
-rw-r--r--sbin/restore/tape.c1
-rw-r--r--secure/Makefile2
-rw-r--r--share/dtrace/Makefile6
-rw-r--r--share/dtrace/mbuf.d210
-rw-r--r--share/man/man4/amdsbwd.46
-rw-r--r--share/man/man4/capsicum.42
-rw-r--r--share/man/man4/cfi.45
-rw-r--r--share/man/man4/cyapa.44
-rw-r--r--share/man/man4/ddb.42
-rw-r--r--share/man/man4/filemon.455
-rw-r--r--share/man/man4/iscsi_initiator.42
-rw-r--r--share/man/man4/lagg.42
-rw-r--r--share/man/man4/pcm.42
-rw-r--r--share/man/man4/sppp.41
-rw-r--r--share/man/man4/uart.42
-rw-r--r--share/man/man4/udl.41
-rw-r--r--share/man/man4/vxlan.44
-rw-r--r--share/man/man4/wbwd.449
-rw-r--r--share/man/man5/make.conf.58
-rw-r--r--share/man/man5/periodic.conf.58
-rw-r--r--share/man/man5/src.conf.517
-rw-r--r--share/man/man7/build.723
-rw-r--r--share/man/man7/hier.74
-rw-r--r--share/man/man7/ports.76
-rw-r--r--share/man/man9/Makefile6
-rw-r--r--share/man/man9/SYSCALL_MODULE.915
-rw-r--r--share/man/man9/counter.948
-rw-r--r--share/man/man9/fail.991
-rw-r--r--share/man/man9/kqueue.92
-rw-r--r--share/man/man9/netisr.92
-rw-r--r--share/man/man9/osd.964
-rw-r--r--share/man/man9/rwlock.919
-rw-r--r--share/man/man9/sx.922
-rw-r--r--share/misc/bsd-family-tree10
-rw-r--r--share/misc/pci_vendors899
-rw-r--r--share/mk/bsd.README8
-rw-r--r--share/mk/bsd.clang-analyze.mk15
-rw-r--r--share/mk/bsd.cpu.mk15
-rw-r--r--share/mk/bsd.dep.mk57
-rw-r--r--share/mk/bsd.lib.mk44
-rw-r--r--share/mk/bsd.opts.mk7
-rw-r--r--share/mk/bsd.prog.mk8
-rw-r--r--share/mk/bsd.progs.mk2
-rw-r--r--share/mk/bsd.sys.mk5
-rw-r--r--share/mk/dirdeps.mk13
-rw-r--r--share/mk/local.dirdeps.mk9
-rw-r--r--share/mk/local.meta.sys.mk5
-rw-r--r--share/mk/local.sys.mk4
-rw-r--r--share/mk/meta.stage.mk4
-rw-r--r--share/mk/src.opts.mk1
-rw-r--r--sys/amd64/amd64/autoconf.c132
-rw-r--r--sys/amd64/amd64/sys_machdep.c4
-rw-r--r--sys/amd64/amd64/vm_machdep.c7
-rw-r--r--sys/amd64/cloudabi64/cloudabi64_sysvec.c1
-rw-r--r--sys/amd64/conf/GENERIC.hints1
-rw-r--r--sys/amd64/include/intr_machdep.h2
-rw-r--r--sys/amd64/include/md_var.h3
-rw-r--r--sys/amd64/linux32/linux32_dummy.c1
-rw-r--r--sys/amd64/linux32/linux32_proto.h6
-rw-r--r--sys/amd64/linux32/linux32_syscall.h2
-rw-r--r--sys/amd64/linux32/linux32_syscalls.c2
-rw-r--r--sys/amd64/linux32/linux32_sysent.c4
-rw-r--r--sys/amd64/linux32/linux32_systrace_args.c22
-rw-r--r--sys/amd64/linux32/syscalls.master2
-rw-r--r--sys/arm/allwinner/a10_gpio.c12
-rw-r--r--sys/arm/allwinner/a10_hdmi.c49
-rw-r--r--sys/arm/allwinner/a10_mmc.c1
-rw-r--r--sys/arm/allwinner/allwinner_machdep.c17
-rw-r--r--sys/arm/amlogic/aml8726/aml8726_mmc.c1
-rw-r--r--sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c1
-rw-r--r--sys/arm/arm/gic.c508
-rw-r--r--sys/arm/arm/machdep.c120
-rw-r--r--sys/arm/arm/machdep_intr.c176
-rw-r--r--sys/arm/arm/mp_machdep.c24
-rw-r--r--sys/arm/arm/nexus.c18
-rw-r--r--sys/arm/arm/vm_machdep.c6
-rw-r--r--sys/arm/at91/at91.c6
-rw-r--r--sys/arm/at91/at91_mci.c1
-rw-r--r--sys/arm/at91/at91_pinctrl.c4
-rw-r--r--sys/arm/at91/board_tsc4370.c2
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_common.c23
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_sdhci.c1
-rw-r--r--sys/arm/broadcom/bcm2835/std.rpi1
-rw-r--r--sys/arm/cavium/cns11xx/econa.c6
-rw-r--r--sys/arm/conf/A102
-rw-r--r--sys/arm/conf/A202
-rw-r--r--sys/arm/conf/ARMADA38X3
-rw-r--r--sys/arm/conf/ATMEL5
-rw-r--r--sys/arm/conf/BEAGLEBONE6
-rw-r--r--sys/arm/conf/CNS11XXNAS5
-rw-r--r--sys/arm/conf/EFIKA_MX3
-rw-r--r--sys/arm/conf/ETHERNUT53
-rw-r--r--sys/arm/conf/IMX533
-rw-r--r--sys/arm/conf/JETSON-TK137
-rw-r--r--sys/arm/conf/NOTES4
-rw-r--r--sys/arm/conf/RK31884
-rw-r--r--sys/arm/conf/SAM9260EK3
-rw-r--r--sys/arm/conf/TEGRA124157
-rw-r--r--sys/arm/conf/std.arm1
-rw-r--r--sys/arm/conf/std.armv62
-rw-r--r--sys/arm/freescale/imx/imx_gpio.c327
-rw-r--r--sys/arm/freescale/imx/imx_sdhci.c1
-rw-r--r--sys/arm/include/atags.h2
-rw-r--r--sys/arm/include/intr.h13
-rw-r--r--sys/arm/include/machdep.h3
-rw-r--r--sys/arm/include/smp.h2
-rw-r--r--sys/arm/lpc/lpc_mmc.c1
-rw-r--r--sys/arm/mv/files.mv1
-rw-r--r--sys/arm/mv/mpic.c166
-rw-r--r--sys/arm/mv/mv_localbus.c4
-rw-r--r--sys/arm/nvidia/as3722.c411
-rw-r--r--sys/arm/nvidia/as3722.h323
-rw-r--r--sys/arm/nvidia/as3722_gpio.c577
-rw-r--r--sys/arm/nvidia/as3722_regulators.c811
-rw-r--r--sys/arm/nvidia/as3722_rtc.c115
-rw-r--r--sys/arm/nvidia/tegra124/files.tegra12457
-rw-r--r--sys/arm/nvidia/tegra124/std.tegra12414
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_car.c613
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_car.h337
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_clk_per.c810
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_clk_pll.c1066
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_clk_super.c265
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_coretemp.c273
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_cpufreq.c583
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_machdep.c173
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_mp.c127
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_mp.h (renamed from sys/compat/cloudabi/cloudabi_syscalldefs.h)27
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_pmc.c566
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_xusbpadctl.c603
-rw-r--r--sys/arm/nvidia/tegra_abpmisc.c194
-rw-r--r--sys/arm/nvidia/tegra_ahci.c627
-rw-r--r--sys/arm/nvidia/tegra_efuse.c368
-rw-r--r--sys/arm/nvidia/tegra_efuse.h61
-rw-r--r--sys/arm/nvidia/tegra_ehci.c322
-rw-r--r--sys/arm/nvidia/tegra_gpio.c480
-rw-r--r--sys/arm/nvidia/tegra_i2c.c804
-rw-r--r--sys/arm/nvidia/tegra_lic.c288
-rw-r--r--sys/arm/nvidia/tegra_pcie.c1691
-rw-r--r--sys/arm/nvidia/tegra_pinmux.c804
-rw-r--r--sys/arm/nvidia/tegra_pmc.h115
-rw-r--r--sys/arm/nvidia/tegra_rtc.c303
-rw-r--r--sys/arm/nvidia/tegra_sdhci.c465
-rw-r--r--sys/arm/nvidia/tegra_soctherm.c696
-rw-r--r--sys/arm/nvidia/tegra_soctherm_if.m42
-rw-r--r--sys/arm/nvidia/tegra_uart.c251
-rw-r--r--sys/arm/nvidia/tegra_usbphy.c839
-rw-r--r--sys/arm/ti/aintc.c178
-rw-r--r--sys/arm/ti/am335x/am335x_prcm.c10
-rw-r--r--sys/arm/ti/cpsw/if_cpsw.c1735
-rw-r--r--sys/arm/ti/cpsw/if_cpswreg.h213
-rw-r--r--sys/arm/ti/cpsw/if_cpswvar.h82
-rw-r--r--sys/arm/ti/files.ti1
-rw-r--r--sys/arm/ti/omap4/omap4_gpio.c1
-rw-r--r--sys/arm/ti/omap4/omap4_wugen.c64
-rw-r--r--sys/arm/ti/ti_adc.c14
-rw-r--r--sys/arm/ti/ti_gpio.c340
-rw-r--r--sys/arm/ti/ti_gpio.h19
-rw-r--r--sys/arm/ti/ti_hwmods.c3
-rw-r--r--sys/arm/ti/ti_prcm.h4
-rw-r--r--sys/arm/ti/ti_sdhci.c1
-rw-r--r--sys/arm/ti/ti_spi.c582
-rw-r--r--sys/arm/ti/ti_spireg.h97
-rw-r--r--sys/arm/ti/ti_spivar.h71
-rw-r--r--sys/arm/xscale/ixp425/avila_ata.c2
-rw-r--r--sys/arm/xscale/ixp425/ixp425.c8
-rw-r--r--sys/arm/xscale/pxa/pxa_obio.c6
-rw-r--r--sys/arm/xscale/pxa/pxa_smi.c4
-rw-r--r--sys/arm64/arm64/bzero.S206
-rw-r--r--sys/arm64/arm64/copyinout.S136
-rw-r--r--sys/arm64/arm64/exception.S4
-rw-r--r--sys/arm64/arm64/genassym.c2
-rw-r--r--sys/arm64/arm64/gic.c46
-rw-r--r--sys/arm64/arm64/intr_machdep.c8
-rw-r--r--sys/arm64/arm64/locore.S52
-rw-r--r--sys/arm64/arm64/machdep.c39
-rw-r--r--sys/arm64/arm64/minidump_machdep.c6
-rw-r--r--sys/arm64/arm64/mp_machdep.c89
-rw-r--r--sys/arm64/arm64/nexus.c12
-rw-r--r--sys/arm64/arm64/pmap.c812
-rw-r--r--sys/arm64/arm64/support.S36
-rw-r--r--sys/arm64/arm64/swtch.S4
-rw-r--r--sys/arm64/arm64/vm_machdep.c4
-rw-r--r--sys/arm64/cloudabi64/cloudabi64_sysvec.c1
-rw-r--r--sys/arm64/include/armreg.h6
-rw-r--r--sys/arm64/include/cpu.h4
-rw-r--r--sys/arm64/include/intr.h10
-rw-r--r--sys/arm64/include/machdep.h2
-rw-r--r--sys/arm64/include/pcb.h2
-rw-r--r--sys/arm64/include/pmap.h6
-rw-r--r--sys/arm64/include/pte.h19
-rw-r--r--sys/arm64/include/smp.h2
-rw-r--r--sys/arm64/include/vmparam.h2
-rw-r--r--sys/boot/Makefile.amd641
-rw-r--r--sys/boot/Makefile.i3861
-rw-r--r--sys/boot/common/dev_net.c6
-rw-r--r--sys/boot/common/disk.c2
-rw-r--r--sys/boot/common/disk.h1
-rw-r--r--sys/boot/common/gpt.c2
-rw-r--r--sys/boot/common/gpt.h2
-rw-r--r--sys/boot/efi/Makefile8
-rw-r--r--sys/boot/fdt/dts/arm/bcm2836.dtsi17
-rw-r--r--sys/boot/fdt/dts/arm/beaglebone-black.dts20
-rw-r--r--sys/boot/fdt/dts/arm/tegra124-jetson-tk1-fbsd.dts (renamed from sys/dev/filemon/filemon_lock.c)51
-rw-r--r--sys/boot/geli/Makefile52
-rw-r--r--sys/boot/geli/Makefile.depend (renamed from sbin/casperd/Makefile.depend)13
-rw-r--r--sys/boot/geli/geliboot.c292
-rw-r--r--sys/boot/geli/geliboot.h86
-rw-r--r--sys/boot/geli/geliboot_crypto.c135
-rw-r--r--sys/boot/geli/pwgets.c83
-rw-r--r--sys/boot/i386/boot0/Makefile1
-rw-r--r--sys/boot/i386/boot2/Makefile1
-rw-r--r--sys/boot/i386/btx/btx/Makefile1
-rw-r--r--sys/boot/i386/btx/btxldr/Makefile1
-rw-r--r--sys/boot/i386/cdboot/Makefile1
-rw-r--r--sys/boot/i386/common/bootargs.h6
-rw-r--r--sys/boot/i386/common/cons.c7
-rw-r--r--sys/boot/i386/common/drv.c2
-rw-r--r--sys/boot/i386/common/drv.h2
-rw-r--r--sys/boot/i386/gptboot/Makefile17
-rw-r--r--sys/boot/i386/gptboot/Makefile.depend4
-rw-r--r--sys/boot/i386/gptboot/gptboot.c221
-rw-r--r--sys/boot/i386/gptzfsboot/Makefile15
-rw-r--r--sys/boot/i386/gptzfsboot/Makefile.depend3
-rw-r--r--sys/boot/i386/libi386/Makefile7
-rw-r--r--sys/boot/i386/libi386/Makefile.depend1
-rw-r--r--sys/boot/i386/libi386/biosdisk.c178
-rw-r--r--sys/boot/i386/libi386/pxe.c5
-rw-r--r--sys/boot/i386/loader/Makefile11
-rw-r--r--sys/boot/i386/loader/Makefile.depend1
-rw-r--r--sys/boot/i386/loader/main.c31
-rw-r--r--sys/boot/i386/pxeldr/Makefile1
-rw-r--r--sys/boot/i386/zfsboot/Makefile1
-rw-r--r--sys/boot/i386/zfsboot/zfsboot.c119
-rw-r--r--sys/boot/i386/zfsloader/Makefile.depend1
-rw-r--r--sys/boot/pc98/boot2/Makefile1
-rw-r--r--sys/boot/pc98/btx/btx/Makefile1
-rw-r--r--sys/boot/pc98/btx/btxldr/Makefile1
-rw-r--r--sys/boot/pc98/cdboot/Makefile1
-rw-r--r--sys/boot/zfs/libzfs.h1
-rw-r--r--sys/cam/ata/ata_da.c15
-rw-r--r--sys/cam/cam_ccb.h7
-rw-r--r--sys/cam/scsi/scsi_ch.c3
-rw-r--r--sys/cam/scsi/scsi_da.c15
-rw-r--r--sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c1
-rw-r--r--sys/cddl/compat/opensolaris/sys/vfs.h11
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c4
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c4
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c18
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c13
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c33
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c4
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c4
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c14
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c68
-rw-r--r--sys/cddl/dev/dtrace/aarch64/dtrace_subr.c2
-rw-r--r--sys/cddl/dev/dtrace/amd64/dtrace_subr.c3
-rw-r--r--sys/cddl/dev/dtrace/arm/dtrace_subr.c2
-rw-r--r--sys/cddl/dev/dtrace/i386/dtrace_subr.c2
-rw-r--r--sys/cddl/dev/dtrace/mips/dtrace_subr.c2
-rw-r--r--sys/cddl/dev/dtrace/powerpc/dtrace_subr.c2
-rw-r--r--sys/compat/cloudabi/cloudabi_clock.c3
-rw-r--r--sys/compat/cloudabi/cloudabi_errno.c3
-rw-r--r--sys/compat/cloudabi/cloudabi_fd.c3
-rw-r--r--sys/compat/cloudabi/cloudabi_file.c21
-rw-r--r--sys/compat/cloudabi/cloudabi_futex.c25
-rw-r--r--sys/compat/cloudabi/cloudabi_mem.c3
-rw-r--r--sys/compat/cloudabi/cloudabi_proc.c3
-rw-r--r--sys/compat/cloudabi/cloudabi_proto.h4
-rw-r--r--sys/compat/cloudabi/cloudabi_sock.c20
-rw-r--r--sys/compat/cloudabi/cloudabi_thread.c3
-rw-r--r--sys/compat/cloudabi/cloudabi_util.h8
-rw-r--r--sys/compat/cloudabi64/Makefile6
-rw-r--r--sys/compat/cloudabi64/cloudabi64_fd.c3
-rw-r--r--sys/compat/cloudabi64/cloudabi64_module.c4
-rw-r--r--sys/compat/cloudabi64/cloudabi64_poll.c9
-rw-r--r--sys/compat/cloudabi64/cloudabi64_proto.h44
-rw-r--r--sys/compat/cloudabi64/cloudabi64_sock.c7
-rw-r--r--sys/compat/cloudabi64/cloudabi64_syscall.h2
-rw-r--r--sys/compat/cloudabi64/cloudabi64_syscalls.c2
-rw-r--r--sys/compat/cloudabi64/cloudabi64_sysent.c4
-rw-r--r--sys/compat/cloudabi64/cloudabi64_systrace_args.c80
-rw-r--r--sys/compat/cloudabi64/cloudabi64_thread.c3
-rw-r--r--sys/compat/cloudabi64/cloudabi64_util.h2
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c15
-rw-r--r--sys/compat/linux/linux_event.c21
-rw-r--r--sys/compat/linux/linux_mib.c47
-rw-r--r--sys/compat/linux/linux_misc.c44
-rw-r--r--sys/compat/linux/linux_socket.c40
-rw-r--r--sys/compat/linux/linux_stats.c59
-rw-r--r--sys/compat/linuxkpi/common/include/linux/bitops.h4
-rw-r--r--sys/compat/linuxkpi/common/include/linux/jiffies.h10
-rw-r--r--sys/compat/linuxkpi/common/include/linux/list.h1
-rw-r--r--sys/compat/linuxkpi/common/include/linux/wait.h47
-rw-r--r--sys/compat/linuxkpi/common/src/linux_compat.c10
-rw-r--r--sys/compat/ndis/kern_ndis.c4
-rw-r--r--sys/conf/NOTES3
-rw-r--r--sys/conf/files61
-rw-r--r--sys/conf/files.amd646
-rw-r--r--sys/conf/files.arm2
-rw-r--r--sys/conf/files.arm642
-rw-r--r--sys/conf/files.i3867
-rw-r--r--sys/conf/files.mips3
-rw-r--r--sys/conf/files.pc984
-rw-r--r--sys/conf/files.powerpc2
-rw-r--r--sys/conf/files.sparc646
-rw-r--r--sys/conf/kern.opts.mk10
-rw-r--r--sys/conf/kern.post.mk49
-rw-r--r--sys/conf/kern.pre.mk23
-rw-r--r--sys/conf/kmod.mk5
-rw-r--r--sys/contrib/cloudabi/cloudabi64_types.h225
-rw-r--r--sys/contrib/cloudabi/cloudabi_types_common.h463
-rw-r--r--sys/contrib/cloudabi/syscalldefs_md.h255
-rw-r--r--sys/contrib/cloudabi/syscalldefs_mi.h476
-rw-r--r--sys/contrib/cloudabi/syscalls.master (renamed from sys/compat/cloudabi64/syscalls.master)218
-rw-r--r--sys/contrib/rdma/krping/krping.c10
-rw-r--r--sys/ddb/db_ps.c12
-rw-r--r--sys/dev/acpica/acpi.c12
-rw-r--r--sys/dev/acpica/acpi_hpet.c2
-rw-r--r--sys/dev/acpica/acpi_timer.c2
-rw-r--r--sys/dev/advansys/adv_isa.c2
-rw-r--r--sys/dev/ahci/ahci.c2
-rw-r--r--sys/dev/ahci/ahci.h4
-rw-r--r--sys/dev/ahci/ahci_pci.c5
-rw-r--r--sys/dev/amdsbwd/amdsbwd.c20
-rw-r--r--sys/dev/arcmsr/arcmsr.c23
-rw-r--r--sys/dev/ata/ata-lowlevel.c2
-rw-r--r--sys/dev/ath/if_ath_lna_div.c2
-rw-r--r--sys/dev/atkbdc/atkbdc_subr.c2
-rw-r--r--sys/dev/bhnd/bhnd.c4
-rw-r--r--sys/dev/bhnd/bhndb/bhndb.c4
-rw-r--r--sys/dev/bwn/if_bwn.c8
-rw-r--r--sys/dev/bxe/bxe.c94
-rw-r--r--sys/dev/bxe/bxe.h11
-rw-r--r--sys/dev/cardbus/cardbus_cis.c3
-rw-r--r--sys/dev/ctau/if_ct.c6
-rw-r--r--sys/dev/cxgb/cxgb_sge.c6
-rw-r--r--sys/dev/cxgbe/adapter.h22
-rw-r--r--sys/dev/cxgbe/common/t4_hw.c15
-rw-r--r--sys/dev/cxgbe/firmware/t4fw_cfg.txt157
-rw-r--r--sys/dev/cxgbe/firmware/t5fw_cfg.txt197
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/cm.c271
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/cq.c6
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h14
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/mem.c34
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/qp.c16
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/t4.h3
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/user.h1
-rw-r--r--sys/dev/cxgbe/offload.h2
-rw-r--r--sys/dev/cxgbe/t4_main.c46
-rw-r--r--sys/dev/cxgbe/t4_sge.c9
-rw-r--r--sys/dev/drm2/i915/i915_gem.c24
-rw-r--r--sys/dev/drm2/i915/intel_pm.c30
-rw-r--r--sys/dev/drm2/ttm/ttm_bo_vm.c27
-rw-r--r--sys/dev/e1000/if_igb.c60
-rw-r--r--sys/dev/e1000/if_igb.h6
-rw-r--r--sys/dev/ed/if_ed_3c503.c2
-rw-r--r--sys/dev/ed/if_ed_cbus.c22
-rw-r--r--sys/dev/extres/clk/clk.c79
-rw-r--r--sys/dev/extres/clk/clk.h3
-rw-r--r--sys/dev/extres/clk/clk_bus.c93
-rw-r--r--sys/dev/extres/clk/clk_div.c13
-rw-r--r--sys/dev/extres/clk/clk_fixed.c194
-rw-r--r--sys/dev/extres/clk/clk_fixed.h3
-rw-r--r--sys/dev/extres/clk/clk_gate.c13
-rw-r--r--sys/dev/extres/clk/clk_mux.c16
-rw-r--r--sys/dev/extres/clk/clkdev_if.m85
-rw-r--r--sys/dev/extres/phy/phy.c235
-rw-r--r--sys/dev/extres/phy/phy.h63
-rw-r--r--sys/dev/extres/phy/phy_if.m84
-rw-r--r--sys/dev/extres/regulator/regdev_if.m56
-rw-r--r--sys/dev/extres/regulator/regnode_if.m82
-rw-r--r--sys/dev/extres/regulator/regulator.c984
-rw-r--r--sys/dev/extres/regulator/regulator.h127
-rw-r--r--sys/dev/extres/regulator/regulator_bus.c89
-rw-r--r--sys/dev/extres/regulator/regulator_fixed.c456
-rw-r--r--sys/dev/extres/regulator/regulator_fixed.h (renamed from sys/compat/cloudabi64/cloudabi64_syscalldefs.h)29
-rw-r--r--sys/dev/fdt/fdt_common.c13
-rw-r--r--sys/dev/fdt/fdt_common.h1
-rw-r--r--sys/dev/fdt/simplebus.c6
-rw-r--r--sys/dev/filemon/filemon.c356
-rw-r--r--sys/dev/filemon/filemon_wrapper.c423
-rw-r--r--sys/dev/flash/mx25l.c127
-rw-r--r--sys/dev/flash/mx25lreg.h2
-rw-r--r--sys/dev/gpio/gpiobus.c4
-rw-r--r--sys/dev/gpio/ofw_gpiobus.c3
-rw-r--r--sys/dev/hyperv/include/hyperv.h2
-rw-r--r--sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c50
-rw-r--r--sys/dev/hyperv/utilities/hv_heartbeat.c4
-rw-r--r--sys/dev/hyperv/utilities/hv_kvp.c33
-rw-r--r--sys/dev/hyperv/utilities/hv_shutdown.c4
-rw-r--r--sys/dev/hyperv/utilities/hv_timesync.c4
-rw-r--r--sys/dev/hyperv/vmbus/hv_connection.c40
-rw-r--r--sys/dev/hyperv/vmbus/hv_et.c2
-rw-r--r--sys/dev/hyperv/vmbus/hv_hv.c30
-rw-r--r--sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c110
-rw-r--r--sys/dev/hyperv/vmbus/hv_vmbus_priv.h8
-rw-r--r--sys/dev/ichwd/ichwd.c14
-rw-r--r--sys/dev/iicbus/iicbus.c2
-rw-r--r--sys/dev/iir/iir.c6
-rw-r--r--sys/dev/iir/iir_pci.c2
-rw-r--r--sys/dev/ipmi/ipmi.c53
-rw-r--r--sys/dev/isci/isci_controller.c10
-rw-r--r--sys/dev/isci/isci_io_request.c18
-rw-r--r--sys/dev/iscsi/iscsi.c3
-rw-r--r--sys/dev/iwn/if_iwn.c18
-rw-r--r--sys/dev/ixgbe/if_ix.c8
-rw-r--r--sys/dev/ixgbe/ix_txrx.c6
-rw-r--r--sys/dev/ixl/ixl_txrx.c6
-rw-r--r--sys/dev/le/lebuffer_sbus.c4
-rw-r--r--sys/dev/mca/mca_bus.c12
-rw-r--r--sys/dev/mfi/mfi.c4
-rw-r--r--sys/dev/mlx5/mlx5_en/mlx5_en_rx.c8
-rw-r--r--sys/dev/mmc/host/dwmmc.c1
-rw-r--r--sys/dev/mmc/mmc.c2
-rw-r--r--sys/dev/mmc/mmcreg.h7
-rw-r--r--sys/dev/mvs/mvs_pci.c2
-rw-r--r--sys/dev/mvs/mvs_soc.c2
-rw-r--r--sys/dev/mxge/if_mxge.c12
-rw-r--r--sys/dev/ncr/ncr.c14
-rw-r--r--sys/dev/nctgpio/nctgpio.c802
-rw-r--r--sys/dev/netmap/netmap_generic.c3
-rw-r--r--sys/dev/oce/oce_if.c6
-rw-r--r--sys/dev/ofw/ofw_iicbus.c6
-rw-r--r--sys/dev/ofw/ofwbus.c4
-rw-r--r--sys/dev/ofw/ofwpci.c628
-rw-r--r--sys/dev/ofw/ofwpci.h83
-rw-r--r--sys/dev/pccard/pccard.c34
-rw-r--r--sys/dev/pccard/pccard_cis.c12
-rw-r--r--sys/dev/pccbb/pccbb.c10
-rw-r--r--sys/dev/pccbb/pccbb_pci.c2
-rw-r--r--sys/dev/pci/pci.c22
-rw-r--r--sys/dev/pci/pci_host_generic.c6
-rw-r--r--sys/dev/pci/pci_pci.c34
-rw-r--r--sys/dev/pci/pci_subr.c8
-rw-r--r--sys/dev/ppbus/vpo.c16
-rw-r--r--sys/dev/ppc/ppc.c4
-rw-r--r--sys/dev/proto/proto_bus_isa.c2
-rw-r--r--sys/dev/qlxgb/qla_isr.c7
-rw-r--r--sys/dev/qlxge/qls_isr.c7
-rw-r--r--sys/dev/random/random_harvestq.c3
-rw-r--r--sys/dev/sdhci/sdhci_fdt.c1
-rw-r--r--sys/dev/sdhci/sdhci_pci.c1
-rw-r--r--sys/dev/sfxge/sfxge_mcdi.c5
-rw-r--r--sys/dev/sfxge/sfxge_nvram.c5
-rw-r--r--sys/dev/siba/siba.c4
-rw-r--r--sys/dev/siis/siis.c2
-rw-r--r--sys/dev/sound/isa/ad1816.c4
-rw-r--r--sys/dev/sound/isa/ess.c6
-rw-r--r--sys/dev/sound/isa/mss.c4
-rw-r--r--sys/dev/sound/isa/sb16.c4
-rw-r--r--sys/dev/sound/isa/sb8.c2
-rw-r--r--sys/dev/sound/pci/als4000.c2
-rw-r--r--sys/dev/sound/pci/atiixp.c2
-rw-r--r--sys/dev/sound/pci/aureal.c2
-rw-r--r--sys/dev/sound/pci/cmi.c2
-rw-r--r--sys/dev/sound/pci/cs4281.c2
-rw-r--r--sys/dev/sound/pci/csapcm.c2
-rw-r--r--sys/dev/sound/pci/ds1.c2
-rw-r--r--sys/dev/sound/pci/emu10k1.c2
-rw-r--r--sys/dev/sound/pci/emu10kx.c2
-rw-r--r--sys/dev/sound/pci/envy24.c2
-rw-r--r--sys/dev/sound/pci/envy24ht.c2
-rw-r--r--sys/dev/sound/pci/es137x.c2
-rw-r--r--sys/dev/sound/pci/fm801.c2
-rw-r--r--sys/dev/sound/pci/hda/hdac.c2
-rw-r--r--sys/dev/sound/pci/hda/hdac.h4
-rw-r--r--sys/dev/sound/pci/hdspe-pcm.c2
-rw-r--r--sys/dev/sound/pci/ich.c2
-rw-r--r--sys/dev/sound/pci/maestro.c2
-rw-r--r--sys/dev/sound/pci/maestro3.c2
-rw-r--r--sys/dev/sound/pci/neomagic.c2
-rw-r--r--sys/dev/sound/pci/solo.c2
-rw-r--r--sys/dev/sound/pci/t4dwave.c2
-rw-r--r--sys/dev/sound/pci/via8233.c2
-rw-r--r--sys/dev/sound/pci/via82c686.c2
-rw-r--r--sys/dev/sound/pci/vibes.c4
-rw-r--r--sys/dev/uart/uart_dev_ns8250.c13
-rw-r--r--sys/dev/uart/uart_dev_snps.c283
-rw-r--r--sys/dev/urtwn/if_urtwn.c (renamed from sys/dev/usb/wlan/if_urtwn.c)137
-rw-r--r--sys/dev/urtwn/if_urtwnreg.h (renamed from sys/dev/usb/wlan/if_urtwnreg.h)0
-rw-r--r--sys/dev/urtwn/if_urtwnvar.h (renamed from sys/dev/usb/wlan/if_urtwnvar.h)0
-rw-r--r--sys/dev/usb/controller/ehci_pci.c6
-rw-r--r--sys/dev/usb/controller/ohci_pci.c3
-rw-r--r--sys/dev/usb/controller/uhci_pci.c6
-rw-r--r--sys/dev/usb/controller/xhci_pci.c5
-rw-r--r--sys/dev/usb/usb_busdma.c27
-rw-r--r--sys/dev/usb/usbdevs1
-rw-r--r--sys/dev/usb/video/udl.c3
-rw-r--r--sys/dev/usb/wlan/if_rum.c275
-rw-r--r--sys/dev/usb/wlan/if_rumreg.h13
-rw-r--r--sys/dev/usb/wlan/if_rumvar.h10
-rw-r--r--sys/dev/vnic/nic_main.c24
-rw-r--r--sys/dev/vnic/nicvf_main.c26
-rw-r--r--sys/dev/vnic/nicvf_queues.c123
-rw-r--r--sys/dev/vnic/nicvf_queues.h2
-rw-r--r--sys/dev/vnic/thunder_bgx_fdt.c22
-rw-r--r--sys/dev/vt/hw/vga/vt_vga.c8
-rw-r--r--sys/dev/vxge/vxge.c9
-rw-r--r--sys/dev/wbwd/wbwd.c390
-rw-r--r--sys/dev/wl/if_wl.c2
-rw-r--r--sys/dev/wpi/if_wpi.c53
-rw-r--r--sys/dev/wpi/if_wpivar.h4
-rw-r--r--sys/dev/xe/if_xe.c4
-rw-r--r--sys/dev/xe/if_xe_pccard.c2
-rw-r--r--sys/dev/xen/blkfront/blkfront.c28
-rw-r--r--sys/dev/xen/blkfront/block.h7
-rw-r--r--sys/dev/xen/netfront/netfront.c7
-rw-r--r--sys/fs/autofs/autofs.c10
-rw-r--r--sys/fs/autofs/autofs.h7
-rw-r--r--sys/fs/autofs/autofs_vfsops.c9
-rw-r--r--sys/fs/autofs/autofs_vnops.c40
-rw-r--r--sys/fs/cd9660/cd9660_vnops.c6
-rw-r--r--sys/fs/ext2fs/ext2_alloc.c4
-rw-r--r--sys/fs/ext2fs/ext2_dinode.h1
-rw-r--r--sys/fs/ext2fs/ext2fs.h63
-rw-r--r--sys/geom/sched/g_sched.c3
-rw-r--r--sys/i386/conf/GENERIC.hints1
-rw-r--r--sys/i386/i386/vm_machdep.c7
-rw-r--r--sys/i386/include/intr_machdep.h2
-rw-r--r--sys/i386/include/md_var.h1
-rw-r--r--sys/i386/linux/linux_dummy.c1
-rw-r--r--sys/i386/linux/linux_proto.h6
-rw-r--r--sys/i386/linux/linux_syscall.h2
-rw-r--r--sys/i386/linux/linux_syscalls.c2
-rw-r--r--sys/i386/linux/linux_sysent.c4
-rw-r--r--sys/i386/linux/linux_systrace_args.c22
-rw-r--r--sys/i386/linux/syscalls.master2
-rw-r--r--sys/isa/isa_common.c8
-rw-r--r--sys/kern/imgact_binmisc.c13
-rw-r--r--sys/kern/imgact_elf.c4
-rw-r--r--sys/kern/init_sysent.c2
-rw-r--r--sys/kern/kern_condvar.c48
-rw-r--r--sys/kern/kern_descrip.c4
-rw-r--r--sys/kern/kern_exec.c4
-rw-r--r--sys/kern/kern_fail.c782
-rw-r--r--sys/kern/kern_linker.c2
-rw-r--r--sys/kern/kern_mbuf.c11
-rw-r--r--sys/kern/kern_osd.c263
-rw-r--r--sys/kern/kern_racct.c149
-rw-r--r--sys/kern/kern_rctl.c75
-rw-r--r--sys/kern/kern_sendfile.c56
-rw-r--r--sys/kern/kern_synch.c25
-rw-r--r--sys/kern/pic_if.m112
-rw-r--r--sys/kern/subr_bus.c32
-rw-r--r--sys/kern/subr_counter.c25
-rw-r--r--sys/kern/subr_intr.c534
-rw-r--r--sys/kern/subr_rman.c50
-rw-r--r--sys/kern/subr_sleepqueue.c121
-rw-r--r--sys/kern/subr_smp.c248
-rw-r--r--sys/kern/sys_generic.c24
-rw-r--r--sys/kern/syscalls.c2
-rw-r--r--sys/kern/syscalls.master4
-rw-r--r--sys/kern/systrace_args.c4
-rw-r--r--sys/kern/uipc_mbuf.c47
-rw-r--r--sys/kern/uipc_socket.c2
-rw-r--r--sys/kern/vfs_aio.c49
-rw-r--r--sys/kern/vfs_export.c4
-rw-r--r--sys/kern/vfs_mountroot.c3
-rw-r--r--sys/mips/atheros/apb.c6
-rw-r--r--sys/mips/beri/beri_simplebus.c4
-rw-r--r--sys/mips/mips/mips_pic.c7
-rw-r--r--sys/mips/mips/nexus.c8
-rw-r--r--sys/mips/nlm/xlp_pci.c2
-rw-r--r--sys/mips/nlm/xlp_simplebus.c4
-rw-r--r--sys/mips/rmi/iodi.c6
-rw-r--r--sys/mips/rmi/xlr_pci.c2
-rw-r--r--sys/mips/rt305x/obio.c4
-rw-r--r--sys/modules/Makefile5
-rw-r--r--sys/modules/nctgpio/Makefile8
-rw-r--r--sys/modules/pflog/Makefile5
-rw-r--r--sys/modules/pfsync/Makefile5
-rw-r--r--sys/modules/urtwn/Makefile (renamed from sys/modules/usb/urtwn/Makefile)5
-rw-r--r--sys/modules/urtwnfw/Makefile (renamed from sys/modules/usb/urtwnfw/Makefile)0
-rw-r--r--sys/modules/urtwnfw/Makefile.inc (renamed from sys/modules/usb/urtwnfw/Makefile.inc)2
-rw-r--r--sys/modules/urtwnfw/urtwnrtl8188eu/Makefile (renamed from sys/modules/usb/urtwnfw/urtwnrtl8188eu/Makefile)0
-rw-r--r--sys/modules/urtwnfw/urtwnrtl8192cT/Makefile (renamed from sys/modules/usb/urtwnfw/urtwnrtl8192cT/Makefile)0
-rw-r--r--sys/modules/urtwnfw/urtwnrtl8192cU/Makefile (renamed from sys/modules/usb/urtwnfw/urtwnrtl8192cU/Makefile)0
-rw-r--r--sys/modules/usb/Makefile2
-rw-r--r--sys/modules/wtap/Makefile5
-rw-r--r--sys/net/ethernet.h1
-rw-r--r--sys/net/if_debug.c2
-rw-r--r--sys/net/route.c11
-rw-r--r--sys/net/route.h23
-rw-r--r--sys/net/route_var.h2
-rw-r--r--sys/net/rtsock.c2
-rw-r--r--sys/net80211/ieee80211.h187
-rw-r--r--sys/net80211/ieee80211_amrr.c31
-rw-r--r--sys/net80211/ieee80211_dfs.c2
-rw-r--r--sys/net80211/ieee80211_freebsd.h8
-rw-r--r--sys/net80211/ieee80211_ht.c2
-rw-r--r--sys/net80211/ieee80211_hwmp.c6
-rw-r--r--sys/net80211/ieee80211_input.c5
-rw-r--r--sys/net80211/ieee80211_ioctl.h5
-rw-r--r--sys/net80211/ieee80211_node.c2
-rw-r--r--sys/net80211/ieee80211_power.c2
-rw-r--r--sys/net80211/ieee80211_proto.c7
-rw-r--r--sys/net80211/ieee80211_ratectl.c41
-rw-r--r--sys/net80211/ieee80211_ratectl.h11
-rw-r--r--sys/net80211/ieee80211_scan_sta.c4
-rw-r--r--sys/net80211/ieee80211_scan_sw.c10
-rw-r--r--sys/net80211/ieee80211_sta.c43
-rw-r--r--sys/net80211/ieee80211_wds.c3
-rw-r--r--sys/netinet/in_pcb.c22
-rw-r--r--sys/netinet/in_pcb.h10
-rw-r--r--sys/netinet/in_pcbgroup.c1
-rw-r--r--sys/netinet/ip_output.c29
-rw-r--r--sys/netinet/sctp_cc_functions.c12
-rw-r--r--sys/netinet/sctp_constants.h2
-rw-r--r--sys/netinet/sctp_indata.c20
-rw-r--r--sys/netinet/sctp_input.c10
-rw-r--r--sys/netinet/sctp_output.c68
-rw-r--r--sys/netinet/sctp_pcb.c4
-rw-r--r--sys/netinet/sctp_ss_functions.c2
-rw-r--r--sys/netinet/sctp_timer.c4
-rw-r--r--sys/netinet/sctp_usrreq.c26
-rw-r--r--sys/netinet/sctputil.c70
-rw-r--r--sys/netinet/sctputil.h5
-rw-r--r--sys/netinet/tcp_input.c29
-rw-r--r--sys/netinet/tcp_lro.c68
-rw-r--r--sys/netinet/tcp_lro.h8
-rw-r--r--sys/netinet/tcp_output.c12
-rw-r--r--sys/netinet/tcp_subr.c24
-rw-r--r--sys/netinet/tcp_syncache.c6
-rw-r--r--sys/netinet/tcp_timer.c2
-rw-r--r--sys/netinet/tcp_timewait.c2
-rw-r--r--sys/netinet/tcp_usrreq.c2
-rw-r--r--sys/netinet/tcp_var.h16
-rw-r--r--sys/netinet/udp_usrreq.c42
-rw-r--r--sys/netinet6/in6.c2
-rw-r--r--sys/netinet6/in6_ifattach.c26
-rw-r--r--sys/netinet6/in6_ifattach.h1
-rw-r--r--sys/netinet6/in6_pcb.c15
-rw-r--r--sys/netinet6/in6_pcbgroup.c1
-rw-r--r--sys/netinet6/in6_src.c42
-rw-r--r--sys/netinet6/ip6_input.c35
-rw-r--r--sys/netinet6/ip6_output.c19
-rw-r--r--sys/netinet6/nd6.c62
-rw-r--r--sys/netinet6/nd6.h5
-rw-r--r--sys/netinet6/nd6_nbr.c31
-rw-r--r--sys/netinet6/nd6_rtr.c60
-rw-r--r--sys/netinet6/udp6_usrreq.c4
-rw-r--r--sys/netipsec/ipsec_output.c2
-rw-r--r--sys/netpfil/pf/pf.c10
-rw-r--r--sys/nfs/bootp_subr.c94
-rw-r--r--sys/nfs/nfs_diskless.c1
-rw-r--r--sys/ofed/drivers/infiniband/core/iwcm.c5
-rw-r--r--sys/ofed/drivers/infiniband/ulp/ipoib/ipoib.h2
-rw-r--r--sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c5
-rw-r--r--sys/ofed/drivers/net/mlx4/en_port.c5
-rw-r--r--sys/ofed/drivers/net/mlx4/en_rx.c11
-rw-r--r--sys/ofed/drivers/net/mlx4/en_tx.c2
-rw-r--r--sys/pc98/pc98/canbus.c6
-rw-r--r--sys/powerpc/include/bus.h5
-rw-r--r--sys/powerpc/mpc85xx/fsl_sdhc.c2
-rw-r--r--sys/powerpc/mpc85xx/lbc.c8
-rw-r--r--sys/powerpc/mpc85xx/pci_mpc85xx.c3
-rw-r--r--sys/powerpc/ofw/ofw_pci.c8
-rw-r--r--sys/powerpc/powermac/cpcht.c2
-rw-r--r--sys/powerpc/powermac/grackle.c5
-rw-r--r--sys/powerpc/powermac/macgpio.c4
-rw-r--r--sys/powerpc/powermac/macio.c8
-rw-r--r--sys/powerpc/powermac/uninorth.c10
-rw-r--r--sys/powerpc/powermac/uninorthpci.c5
-rw-r--r--sys/powerpc/powermac/uninorthvar.h2
-rw-r--r--sys/powerpc/powerpc/nexus.c2
-rw-r--r--sys/powerpc/ps3/ps3bus.c4
-rw-r--r--sys/powerpc/pseries/rtas_pci.c5
-rw-r--r--sys/powerpc/pseries/vdevice.c2
-rw-r--r--sys/powerpc/psim/iobus.c2
-rw-r--r--sys/rpc/rpc_generic.c8
-rw-r--r--sys/rpc/svc.c2
-rw-r--r--sys/sparc64/central/central.c2
-rw-r--r--sys/sparc64/ebus/ebus.c4
-rw-r--r--sys/sparc64/fhc/fhc.c4
-rw-r--r--sys/sparc64/pci/apb.c10
-rw-r--r--sys/sparc64/sbus/dma_sbus.c4
-rw-r--r--sys/sparc64/sbus/sbus.c4
-rw-r--r--sys/sparc64/sparc64/nexus.c4
-rw-r--r--sys/sparc64/sparc64/upa.c4
-rw-r--r--sys/sys/_types.h2
-rw-r--r--sys/sys/aio.h2
-rw-r--r--sys/sys/bus.h1
-rw-r--r--sys/sys/fail.h246
-rw-r--r--sys/sys/file.h6
-rw-r--r--sys/sys/intr.h131
-rw-r--r--sys/sys/libkern.h10
-rw-r--r--sys/sys/mbuf.h54
-rw-r--r--sys/sys/osd.h8
-rw-r--r--sys/sys/param.h2
-rw-r--r--sys/sys/proc.h3
-rw-r--r--sys/sys/racct.h5
-rw-r--r--sys/sys/sleepqueue.h6
-rw-r--r--sys/sys/smp.h68
-rw-r--r--sys/sys/socket.h1
-rw-r--r--sys/sys/syscall.h2
-rw-r--r--sys/sys/syscall.mk2
-rw-r--r--sys/sys/sysctl.h26
-rw-r--r--sys/sys/sysproto.h2
-rw-r--r--sys/sys/systm.h17
-rw-r--r--sys/ufs/ffs/ffs_alloc.c6
-rw-r--r--sys/ufs/ffs/ffs_softdep.c2
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c13
-rw-r--r--sys/ufs/ufs/ufs_extattr.c2
-rw-r--r--sys/ufs/ufs/ufsmount.h9
-rw-r--r--sys/x86/include/apicreg.h5
-rw-r--r--sys/x86/include/specialreg.h4
-rw-r--r--sys/x86/include/x86_var.h7
-rw-r--r--sys/x86/x86/autoconf.c (renamed from sys/i386/i386/autoconf.c)11
-rw-r--r--sys/x86/x86/intr_machdep.c15
-rw-r--r--sys/x86/x86/io_apic.c8
-rw-r--r--sys/x86/x86/local_apic.c275
-rw-r--r--sys/x86/x86/mp_x86.c767
-rw-r--r--sys/x86/x86/nexus.c6
-rw-r--r--targets/Makefile.xtras21
-rw-r--r--targets/pseudo/hosttools/Makefile.depend36
-rw-r--r--targets/pseudo/hosttools/Makefile.depend.host31
-rw-r--r--targets/pseudo/userland/misc/Makefile.depend1
-rw-r--r--tests/sys/aio/aio_test.c74
-rw-r--r--tests/sys/geom/class/geom_subr.sh10
-rw-r--r--tools/build/mk/OptionalObsoleteFiles.inc1
-rw-r--r--tools/build/options/WITHOUT_FAST_DEPEND5
-rw-r--r--tools/build/options/WITH_CCACHE_BUILD3
-rw-r--r--tools/build/options/WITH_FAST_DEPEND7
-rwxr-xr-xtools/tinder.sh2
-rwxr-xr-xtools/tools/nanobsd/defaults.sh30
-rwxr-xr-xtools/tools/nanobsd/nanobsd.sh2
-rw-r--r--tools/tools/net80211/wlanstats/main.c4
-rw-r--r--tools/tools/net80211/wlanstats/wlanstats.c2
-rw-r--r--tools/tools/vt/setfont/Makefile6
-rw-r--r--tools/tools/vt/setfont/setfont.c89
-rw-r--r--usr.bin/bmake/Makefile4
-rw-r--r--usr.bin/fetch/fetch.133
-rw-r--r--usr.bin/finger/sprint.c2
-rw-r--r--usr.bin/ktrace/ktrace.15
-rw-r--r--usr.bin/localedef/ctype.c4
-rw-r--r--usr.bin/netstat/inet.c28
-rw-r--r--usr.bin/netstat/main.c25
-rw-r--r--usr.bin/netstat/netstat.h6
-rw-r--r--usr.bin/netstat/nlist_symbols1
-rw-r--r--usr.bin/netstat/route.c1
-rw-r--r--usr.bin/showmount/showmount.89
-rw-r--r--usr.bin/showmount/showmount.c34
-rw-r--r--usr.bin/truss/syscalls.c4
-rw-r--r--usr.bin/vtfontcvt/vtfontcvt.c5
-rw-r--r--usr.bin/whois/whois.c10
-rw-r--r--usr.bin/xo/Makefile5
-rw-r--r--usr.sbin/Makefile2
-rw-r--r--usr.sbin/autofs/log.c15
-rw-r--r--usr.sbin/bhyve/pci_emul.c1
-rw-r--r--usr.sbin/bluetooth/bthidd/kbd.c30
-rwxr-xr-xusr.sbin/bsdinstall/scripts/zfsboot10
-rw-r--r--usr.sbin/ctld/log.c15
-rw-r--r--usr.sbin/devinfo/devinfo.c4
-rw-r--r--usr.sbin/iscsid/iscsid.c6
-rw-r--r--usr.sbin/iscsid/log.c15
-rw-r--r--usr.sbin/kbdcontrol/kbdcontrol.19
-rw-r--r--usr.sbin/kbdcontrol/kbdcontrol.c87
-rw-r--r--usr.sbin/mtest/mtest.c2
-rw-r--r--usr.sbin/ndiscvt/ndisgen.sh5
-rw-r--r--usr.sbin/pciconf/cap.c72
-rw-r--r--usr.sbin/pw/cpdir.c1
-rw-r--r--usr.sbin/pw/pw.820
-rw-r--r--usr.sbin/pw/pw_user.c2
-rw-r--r--usr.sbin/pw/pw_utils.c3
-rw-r--r--usr.sbin/pw/pw_vpw.c1
-rw-r--r--usr.sbin/sesutil/eltsub.c4
-rw-r--r--usr.sbin/sesutil/sesutil.c1
-rw-r--r--usr.sbin/uathload/Makefile22
-rw-r--r--usr.sbin/uathload/uathload.c28
912 files changed, 38260 insertions, 8557 deletions
diff --git a/Makefile b/Makefile
index a0ac974f4fc3..cde0f2cdc592 100644
--- a/Makefile
+++ b/Makefile
@@ -124,7 +124,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
installworld kernel-toolchain libraries lint maninstall \
obj objlink rerelease showconfig tags toolchain update \
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
- _build-tools _cross-tools _includes _libraries _depend \
+ _build-tools _cross-tools _includes _libraries \
build32 distribute32 install32 build32 distribute32 install32 \
builddtb xdev xdev-build xdev-install \
xdev-links native-xtools stageworld stagekernel stage-packages \
diff --git a/Makefile.inc1 b/Makefile.inc1
index 890ee64bcd6a..1eda64b9a24f 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -7,10 +7,9 @@
# -DDB_FROM_SRC use the user/group databases in src/etc instead of
# the system database when installing.
# -DNO_SHARE do not go into share subdir
-# -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,DEPEND,OBJ}
+# -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,OBJ}
# -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel
# -DNO_KERNELCLEAN do not run ${MAKE} clean in ${MAKE} buildkernel
-# -DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel
# -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel
# -DNO_PORTSUPDATE do not update ports in ${MAKE} update
# -DNO_ROOT install without using root privilege
@@ -145,16 +144,6 @@ CLEANDIR= clean cleandepend
CLEANDIR= cleandir
.endif
-# FAST_DEPEND can skip depend tree-walks.
-.if ${MK_FAST_DEPEND} == "yes"
-NO_DEPEND= t
-NO_KERNELDEPEND=t
-.endif
-# Ensure shell checks later have a value.
-.if defined(NO_DEPEND)
-NO_DEPEND= t
-.endif
-
LOCAL_TOOL_DIRS?=
PACKAGEDIR?= ${DESTDIR}/${DISTDIR}
@@ -380,7 +369,6 @@ KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \
# world stage
WMAKEENV= ${CROSSENV} \
- _LDSCRIPTROOT= \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
PATH=${TMPPATH}
@@ -427,22 +415,22 @@ X${BINUTIL}?= ${${BINUTIL}}
.endif
.endfor
CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \
- DEPFLAGS="${DEPFLAGS}" \
CPP="${XCPP} ${XCFLAGS}" \
AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \
OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \
RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \
SIZE="${XSIZE}"
-.if ${XCC:N${CCACHE_BIN}:M/*}
-.if defined(CROSS_BINUTILS_PREFIX)
+.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX})
# In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a
-# directory, but the compiler will look in the right place for it's
+# directory, but the compiler will look in the right place for its
# tools so we don't need to tell it where to look.
-.if exists(${CROSS_BINUTILS_PREFIX})
BFLAGS+= -B${CROSS_BINUTILS_PREFIX}
.endif
-.else
+
+# External compiler needs sysroot and target flags.
+.if ${XCC:N${CCACHE_BIN}:M/*} || ${MK_CROSS_COMPILER} == "no"
+.if !defined(CROSS_BINUTILS_PREFIX) || !exists(${CROSS_BINUTILS_PREFIX})
BFLAGS+= -B${WORLDTMP}/usr/bin
.endif
.if ${TARGET} == "arm"
@@ -453,26 +441,23 @@ TARGET_ABI= gnueabi
.endif
.endif
.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
+# GCC requires -isystem and -L when using a cross-compiler.
XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
-XCXXFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -std=gnu++11 -L${WORLDTMP}/../lib/libc++
-# XXX: DEPFLAGS is a workaround for not properly passing CXXFLAGS to sub-makes
-# due to CXX="${XCXX} ${XCXXFLAGS}". bsd.dep.mk does use CXXFLAGS when
-# building C++ files so this can come out if passing CXXFLAGS down is fixed.
-DEPFLAGS+= -I${WORLDTMP}/usr/include/c++/v1
+# Force using libc++ for external GCC.
+XCXXFLAGS+= -isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \
+ -nostdinc++ -L${WORLDTMP}/../lib/libc++
.else
TARGET_ABI?= unknown
TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
XCFLAGS+= -target ${TARGET_TRIPLE}
.endif
-XCFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS}
-XCXXFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS}
+XCFLAGS+= --sysroot=${WORLDTMP}
.else
-.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX})
-BFLAGS+= -B${CROSS_BINUTILS_PREFIX}
+.endif # ${XCC:M/*} || ${MK_CROSS_COMPILER} == "no"
+
+.if !empty(BFLAGS)
XCFLAGS+= ${BFLAGS}
-XCXXFLAGS+= ${BFLAGS}
.endif
-.endif # ${XCC:M/*}
.if ${MK_LIB32} != "no" && (${TARGET_ARCH} == "amd64" || \
${TARGET_ARCH} == "powerpc64")
@@ -645,9 +630,9 @@ _includes:
# Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need
# headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last.
${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \
- includes
+ MK_INCLUDES=yes includes
.if !empty(SUBDIR_OVERRIDE) && make(buildworld)
- ${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks includes
+ ${_+_}cd ${.CURDIR}; ${WMAKE} MK_INCLUDES=yes SHARED=symlinks includes
.endif
_libraries:
@echo
@@ -657,16 +642,10 @@ _libraries:
${_+_}cd ${.CURDIR}; \
${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \
MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries
-_depend:
- @echo
- @echo "--------------------------------------------------------------"
- @echo ">>> stage 4.3: make dependencies"
- @echo "--------------------------------------------------------------"
- ${_+_}cd ${.CURDIR}; ${WMAKE} depend
everything:
@echo
@echo "--------------------------------------------------------------"
- @echo ">>> stage 4.4: building everything"
+ @echo ">>> stage 4.3: building everything"
@echo "--------------------------------------------------------------"
${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all
@@ -677,9 +656,6 @@ WMAKE_TGTS+= _bootstrap-tools
.endif
WMAKE_TGTS+= _cleanobj _obj _build-tools _cross-tools
WMAKE_TGTS+= _includes _libraries
-.if !defined(NO_DEPEND)
-WMAKE_TGTS+= _depend
-.endif
WMAKE_TGTS+= everything
.if defined(LIBCOMPAT) && empty(SUBDIR_OVERRIDE)
WMAKE_TGTS+= build${libcompat}
@@ -722,7 +698,7 @@ buildenv: .PHONY
@cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \
|| true
-TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild${libcompat}}
+TOOLCHAIN_TGTS= ${WMAKE_TGTS:Neverything:Nbuild${libcompat}}
toolchain: ${TOOLCHAIN_TGTS}
kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries}
@@ -1034,7 +1010,6 @@ distrib-dirs distribution: .MAKE .PHONY
.if defined(KERNFAST)
NO_KERNELCLEAN= t
NO_KERNELCONFIG= t
-NO_KERNELDEPEND= t
NO_KERNELOBJ= t
# Shortcut for KERNCONF=Blah -DKERNFAST is now KERNFAST=Blah
.if !defined(KERNCONF) && ${KERNFAST} != "1"
@@ -1116,16 +1091,9 @@ buildkernel: .MAKE .PHONY
@echo ">>> stage 2.3: build tools"
@echo "--------------------------------------------------------------"
${_+_}cd ${.CURDIR}; ${KTMAKE} kernel-tools
-.if !defined(NO_KERNELDEPEND)
@echo
@echo "--------------------------------------------------------------"
- @echo ">>> stage 3.1: making dependencies"
- @echo "--------------------------------------------------------------"
- ${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} depend -DNO_MODULES_OBJ
-.endif
- @echo
- @echo "--------------------------------------------------------------"
- @echo ">>> stage 3.2: building everything"
+ @echo ">>> stage 3.1: building everything"
@echo "--------------------------------------------------------------"
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} all -DNO_MODULES_OBJ
@echo "--------------------------------------------------------------"
@@ -1459,11 +1427,10 @@ legacy:
false
.endif
.for _tool in tools/build ${_elftoolchain_libs}
- ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,all,install)"; \
cd ${.CURDIR}/${_tool}; \
${MAKE} DIRPRFX=${_tool}/ obj; \
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy includes; \
- if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \
${MAKE} DIRPRFX=${_tool}/ all; \
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install
.endfor
@@ -1533,6 +1500,11 @@ _crunch= usr.sbin/crunch
_awk= usr.bin/awk
.endif
+# r296926 -P keymap search path
+.if ${BOOTSTRAPPING} < 1100103
+_kbdcontrol= usr.sbin/kbdcontrol
+.endif
+
_yacc= lib/liby \
usr.bin/yacc
@@ -1597,6 +1569,7 @@ bootstrap-tools: .PHONY
${_awk} \
${_cat} \
${_dd} \
+ ${_kbdcontrol} \
usr.bin/lorder \
${_libopenbsd} \
${_makewhatis} \
@@ -1613,10 +1586,9 @@ bootstrap-tools: .PHONY
${_vtfontcvt} \
usr.bin/localedef
${_bt}-${_tool}: .PHONY .MAKE
- ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \
cd ${.CURDIR}/${_tool}; \
${MAKE} DIRPRFX=${_tool}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \
${MAKE} DIRPRFX=${_tool}/ all; \
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install
@@ -1662,10 +1634,9 @@ build-tools: build-tools_${_tool}
.for _tool in \
${_gcc_tools}
build-tools_${_tool}: .PHONY
- ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all)"; \
+ ${_+_}@${ECHODIR} "===> ${_tool} (obj,all)"; \
cd ${.CURDIR}/${_tool}; \
${MAKE} DIRPRFX=${_tool}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \
${MAKE} DIRPRFX=${_tool}/ all
build-tools: build-tools_${_tool}
.endfor
@@ -1746,10 +1717,9 @@ cross-tools: .MAKE .PHONY
${_btxld} \
${_crunchide} \
${_usb_tools}
- ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \
cd ${.CURDIR}/${_tool}; \
${MAKE} DIRPRFX=${_tool}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \
${MAKE} DIRPRFX=${_tool}/ all; \
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install
.endfor
@@ -1778,10 +1748,9 @@ NXBMAKE= ${NXBENV} ${MAKE} \
native-xtools: .PHONY
.if ${MK_GCC_BOOTSTRAP} != "no"
mkdir -p ${OBJTREE}/gperf_for_gcc/usr/bin
- ${_+_}@${ECHODIR} "===> ${_gperf} (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_gperf} (obj,all,install)"; \
cd ${.CURDIR}/${_gperf}; \
${NXBMAKE} DIRPRFX=${_gperf}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${NXBMAKE} DIRPRFX=${_gperf}/ depend; fi; \
${NXBMAKE} DIRPRFX=${_gperf}/ all; \
${NXBMAKE} DIRPRFX=${_gperf}/ DESTDIR=${OBJTREE}/gperf_for_gcc install
.endif
@@ -1853,10 +1822,9 @@ native-xtools: .PHONY
usr.bin/xz \
usr.bin/yacc \
usr.sbin/chown
- ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \
cd ${.CURDIR}/${_tool}; \
${NXBMAKE} DIRPRFX=${_tool}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${NXBMAKE} DIRPRFX=${_tool}/ depend; fi; \
${NXBMAKE} DIRPRFX=${_tool}/ all; \
${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${NXBDESTDIR} install
.endfor
@@ -2092,10 +2060,9 @@ gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L
.for _lib in ${_prereq_libs}
${_lib}__PL: .PHONY .MAKE
.if exists(${.CURDIR}/${_lib})
- ${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \
cd ${.CURDIR}/${_lib}; \
${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ depend; fi; \
${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \
DIRPRFX=${_lib}/ all; \
${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \
@@ -2106,10 +2073,9 @@ ${_lib}__PL: .PHONY .MAKE
.for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs}
${_lib}__L: .PHONY .MAKE
.if exists(${.CURDIR}/${_lib})
- ${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \
cd ${.CURDIR}/${_lib}; \
${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ depend; fi; \
${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ all; \
${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ install
.endif
@@ -2119,10 +2085,9 @@ ${_lib}__L: .PHONY .MAKE
# static PAM library, and dynamic PAM library before dynamic PAM
# modules.
lib/libpam__L: .PHONY .MAKE
- ${_+_}@${ECHODIR} "===> lib/libpam (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> lib/libpam (obj,all,install)"; \
cd ${.CURDIR}/lib/libpam; \
${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ depend; fi; \
${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \
-D_NO_LIBPAM_SO_YET all; \
${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \
@@ -2417,10 +2382,9 @@ _xb-bootstrap-tools: .PHONY
.for _tool in \
${_clang_tblgen} \
${_gperf}
- ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
+ ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \
cd ${.CURDIR}/${_tool}; \
${CDMAKE} DIRPRFX=${_tool}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${CDMAKE} DIRPRFX=${_tool}/ depend; fi; \
${CDMAKE} DIRPRFX=${_tool}/ all; \
${CDMAKE} DIRPRFX=${_tool}/ DESTDIR=${CDTMP} install
.endfor
@@ -2437,10 +2401,9 @@ _xb-cross-tools: .PHONY
${_clang_libs} \
${_clang} \
${_cc}
- ${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,depend,all)"; \
+ ${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,all)"; \
cd ${.CURDIR}/${_tool}; \
${CDMAKE} DIRPRFX=${_tool}/ obj; \
- if [ -z "${NO_DEPEND}" ]; then ${CDMAKE} DIRPRFX=${_tool}/ depend; fi; \
${CDMAKE} DIRPRFX=${_tool}/ all
.endfor
diff --git a/Makefile.libcompat b/Makefile.libcompat
index 8a336b9d5997..3ab962f0d847 100644
--- a/Makefile.libcompat
+++ b/Makefile.libcompat
@@ -52,7 +52,8 @@ LIBSOFTWMAKEFLAGS= -DCOMPAT_SOFTFP
# Generic code for each type.
# Set defaults based on type.
libcompat= ${LIBCOMPAT:tl}
-_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CPUFLAGS CFLAGS WMAKEENV WMAKEFLAGS WMAKE
+_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CPUFLAGS CFLAGS CXXFLAGS WMAKEENV \
+ WMAKEFLAGS WMAKE
.for _var in ${_LIBCOMPAT_MAKEVARS}
.if !empty(LIB${LIBCOMPAT}${_var})
LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}}
@@ -64,22 +65,32 @@ LIBCOMPAT_OBJTREE?= ${OBJTREE}${.CURDIR}/world${libcompat}
LIBCOMPATTMP?= ${OBJTREE}${.CURDIR}/lib${libcompat}
LIBCOMPATCFLAGS+= ${LIBCOMPATCPUFLAGS} \
- -isystem ${LIBCOMPATTMP}/usr/include/ \
-L${LIBCOMPATTMP}/usr/lib${libcompat} \
- -B${LIBCOMPATTMP}/usr/lib${libcompat}
+ --sysroot=${LIBCOMPATTMP} \
+ ${BFLAGS}
+
+# -B is needed to find /usr/lib32/crti.o for GCC and /usr/libsoft/crti.o for
+# Clang/GCC.
+LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat}
+# GCC requires -isystem when using a cross-compiler.
+LIBCOMPATCFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include
+
+.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
+# Force using libc++ for external GCC.
+LIBCOMPATCXXFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include/c++/v1 -std=c++11 \
+ -nostdinc++ -L${LIBCOMPAT_OBJTREE}${.CURDIR}/lib/libc++
+.endif
# Yes, the flags are redundant.
LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \
- _LDSCRIPTROOT=${LIBCOMPATTMP} \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
PATH=${TMPPATH} \
LIBDIR=/usr/lib${libcompat} \
SHLIBDIR=/usr/lib${libcompat} \
DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
- CXX="${XCXX} ${LIBCOMPATCFLAGS}" \
+ CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \
DESTDIR=${LIBCOMPATTMP} \
- -DLIBRARIES_ONLY \
-DNO_CPU_CFLAGS \
MK_CTF=no \
-DNO_LINT \
@@ -87,17 +98,19 @@ LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \
MK_MAN=no MK_HTML=no
LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \
- MK_TOOLCHAIN=no ${IMAKE_INSTALL}
-
-.if ${XCC:N${CCACHE_BIN}:M/*}
-LIBCOMPATCFLAGS+= --sysroot=${WORLDTMP}
-.endif
+ MK_TOOLCHAIN=no ${IMAKE_INSTALL} \
+ -DLIBRARIES_ONLY
_LC_LIBDIRS.yes= lib gnu/lib
_LC_LIBDIRS.${MK_CDDL:tl}+= cddl/lib
_LC_LIBDIRS.${MK_CRYPT:tl}+= secure/lib
_LC_LIBDIRS.${MK_KERBEROS:tl}+= kerberos5/lib
+_LC_INCDIRS= \
+ include \
+ lib/ncurses/ncursesw \
+ ${_LC_LIBDIRS.yes}
+
# Shared logic
build${libcompat}: .PHONY
@echo
@@ -120,13 +133,10 @@ build${libcompat}: .PHONY
mkdir -p ${WORLDTMP}
ln -sf ${.CURDIR}/sys ${WORLDTMP}
.for _t in obj includes
- ${_+_}cd ${.CURDIR}/include; ${LIBCOMPATWMAKE} DIRPRFX=include/ ${_t}
-.for _dir in ${_LC_LIBDIRS.yes}
- ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} DIRPRFX=${_dir}/ ${_t}
-.endfor
+.for _dir in ${_LC_INCDIRS}
+ ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} MK_INCLUDES=yes \
+ DIRPRFX=${_dir}/ ${_t}
.endfor
-.for _dir in usr.bin/lex/lib
- ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} DIRPRFX=${_dir}/ obj
.endfor
.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic
${_+_}cd ${.CURDIR}/${_dir}; \
@@ -139,7 +149,7 @@ build${libcompat}: .PHONY
${_+_}cd ${.CURDIR}; \
${LIBCOMPATWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries
.if ${libcompat} == "32"
-.for _t in obj depend all
+.for _t in obj all
${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIBCOMPATWMAKE} \
-DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t}
${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIBCOMPATWMAKE} \
diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 13c9156a7ded..5f29f4b3048c 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -38,6 +38,9 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20160317: rman_res_t size bump to uintmax_t
+OLD_LIBS+=usr/lib/libdevinfo.so.5
+OLD_LIBS+=usr/lib32/libdevinfo.so.5
# 20160305: new clang import which bumps version from 3.7.1 to 3.8.0.
OLD_FILES+=usr/bin/macho-dump
OLD_FILES+=usr/lib/clang/3.7.1/include/sanitizer/allocator_interface.h
diff --git a/UPDATING b/UPDATING
index d3e454550828..2e4c37bb08d0 100644
--- a/UPDATING
+++ b/UPDATING
@@ -31,6 +31,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20160330:
+ The FAST_DEPEND build option has been removed and its functionality is
+ now the one true way. The old mkdep(1) style of 'make depend' has
+ been removed. See 20160311 for further details.
+
+20160317:
+ Resource range types have grown from unsigned long to uintmax_t. All
+ drivers, and anything using libdevinfo, need to be recompiled.
+
20160311:
WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree
builds. It no longer runs mkdep(1) during 'make depend', and the
diff --git a/bin/csh/Makefile b/bin/csh/Makefile
index 0c364c176f64..aa3b83becd16 100644
--- a/bin/csh/Makefile
+++ b/bin/csh/Makefile
@@ -141,7 +141,7 @@ tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h
@echo '/* Do not edit this file, make creates it. */' > ${.TARGET}
@echo '#ifndef _h_tc_const' >> ${.TARGET}
@echo '#define _h_tc_const' >> ${.TARGET}
- ${CC} -E ${CFLAGS:C/-DHAVE_ICONV//} ${.ALLSRC} -D_h_tc_const | \
+ ${CC:N${CCACHE_BIN}} -E ${CFLAGS:C/-DHAVE_ICONV//} ${.ALLSRC} -D_h_tc_const | \
grep 'Char STR' | \
sed -e 's/Char \([a-zA-Z0-9_]*\)\(.*\)/extern Char \1[];/' | \
sort >> ${.TARGET}
diff --git a/bin/freebsd-version/freebsd-version.1 b/bin/freebsd-version/freebsd-version.1
index 7e471bf5955e..a4247ff59f82 100644
--- a/bin/freebsd-version/freebsd-version.1
+++ b/bin/freebsd-version/freebsd-version.1
@@ -110,8 +110,7 @@ env ROOT=/mnt /mnt/bin/freebsd-version -ku
.Ed
.Sh SEE ALSO
.Xr uname 1 ,
-.Xr loader.conf 5 ,
-.Xr freebsd-version 8
+.Xr loader.conf 5
.Sh HISTORY
The
.Nm
diff --git a/bin/sh/tests/builtins/Makefile b/bin/sh/tests/builtins/Makefile
index 11cea5f10af9..b323daf1fe23 100644
--- a/bin/sh/tests/builtins/Makefile
+++ b/bin/sh/tests/builtins/Makefile
@@ -152,6 +152,7 @@ FILES+= trap13.0
FILES+= trap14.0
FILES+= trap15.0
FILES+= trap16.0
+FILES+= trap17.0
FILES+= trap2.0
FILES+= trap3.0
FILES+= trap4.0
diff --git a/bin/sh/tests/builtins/trap17.0 b/bin/sh/tests/builtins/trap17.0
new file mode 100644
index 000000000000..89be893edd1a
--- /dev/null
+++ b/bin/sh/tests/builtins/trap17.0
@@ -0,0 +1,10 @@
+# $FreeBSD$
+# This use-after-free bug probably needs non-default settings to show up.
+
+v1=nothing v2=nothing
+trap 'trap "echo bad" USR1
+v1=trap_received
+v2=trap_invoked
+:' USR1
+kill -USR1 "$$"
+[ "$v1.$v2" = trap_received.trap_invoked ]
diff --git a/bin/sh/trap.c b/bin/sh/trap.c
index f562e2785a58..8bfebc19ec96 100644
--- a/bin/sh/trap.c
+++ b/bin/sh/trap.c
@@ -412,6 +412,7 @@ onsig(int signo)
void
dotrap(void)
{
+ struct stackmark smark;
int i;
int savestatus, prev_evalskip, prev_skipcount;
@@ -445,7 +446,9 @@ dotrap(void)
last_trapsig = i;
savestatus = exitstatus;
- evalstring(trap[i], 0);
+ setstackmark(&smark);
+ evalstring(stsavestr(trap[i]), 0);
+ popstackmark(&smark);
/*
* If such a command was not
diff --git a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
index 504db96f8283..4ed7c2bce567 100644
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
@@ -1633,8 +1633,9 @@ zfs_prop_set_list(zfs_handle_t *zhp, nvlist_t *props)
* its canmount property to 'on' or 'noauto'. We only use
* the changelist logic to unmount when setting canmount=off.
*/
- if (!(prop == ZFS_PROP_CANMOUNT &&
- fnvpair_value_uint64(elem) != ZFS_CANMOUNT_OFF)) {
+ if (prop != ZFS_PROP_CANMOUNT ||
+ (fnvpair_value_uint64(elem) == ZFS_CANMOUNT_OFF &&
+ zfs_is_mounted(zhp, NULL))) {
cls[cl_idx] = changelist_gather(zhp, prop, 0, 0);
if (cls[cl_idx] == NULL)
goto error;
diff --git a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
index 723cd4299abf..eb9a9ddb2cd1 100644
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
@@ -3479,7 +3479,8 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const char *tosnap,
}
if (clp) {
- err |= changelist_postfix(clp);
+ if (!flags->nomount)
+ err |= changelist_postfix(clp);
changelist_free(clp);
}
diff --git a/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c b/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
index 126a7c1347a3..56d7bf3be20b 100644
--- a/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
+++ b/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
@@ -366,10 +366,13 @@ cv_timedwait_hires(kcondvar_t *cv, kmutex_t *mp, hrtime_t tim, hrtime_t res,
timestruc_t ts;
hrtime_t delta;
- ASSERT(flag == 0);
+ ASSERT(flag == 0 || flag == CALLOUT_FLAG_ABSOLUTE);
top:
- delta = tim - gethrtime();
+ delta = tim;
+ if (flag & CALLOUT_FLAG_ABSOLUTE)
+ delta -= gethrtime();
+
if (delta <= 0)
return (-1);
diff --git a/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h b/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
index 22774af1bbb5..f11174ffa521 100644
--- a/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
+++ b/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2012, 2015 by Delphix. All rights reserved.
* Copyright (c) 2012, Joyent, Inc. All rights reserved.
*/
/*
@@ -324,6 +324,7 @@ extern gid_t *crgetgroups(cred_t *cr);
typedef cond_t kcondvar_t;
#define CV_DEFAULT USYNC_THREAD
+#define CALLOUT_FLAG_ABSOLUTE 0x2
extern void cv_init(kcondvar_t *cv, char *name, int type, void *arg);
extern void cv_destroy(kcondvar_t *cv);
diff --git a/contrib/bmake/ChangeLog b/contrib/bmake/ChangeLog
index 78b5a7eedfdd..6f47f1af305e 100644
--- a/contrib/bmake/ChangeLog
+++ b/contrib/bmake/ChangeLog
@@ -1,3 +1,20 @@
+2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * Makefile (_MAKE_VERSION): 20160315
+ Merge with NetBSD make, pick up
+ o fix handling of archive members
+
+2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * Makefile (_MAKE_VERSION): rename variable to avoid interference
+ with checks for ${MAKE_VERSION}
+
+2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * Makefile (MAKE_VERSION): 20160310
+ Merge with NetBSD make, pick up
+ o meta.c: treat missing Read file same as Write, incase we Delete it.
+
2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
* Makefile (MAKE_VERSION): 20160307
diff --git a/contrib/bmake/Makefile b/contrib/bmake/Makefile
index 730e15d27c51..87f6254b07e5 100644
--- a/contrib/bmake/Makefile
+++ b/contrib/bmake/Makefile
@@ -1,7 +1,7 @@
-# $Id: Makefile,v 1.55 2016/03/07 22:02:47 sjg Exp $
+# $Id: Makefile,v 1.58 2016/03/15 23:39:12 sjg Exp $
# Base version on src date
-MAKE_VERSION= 20160307
+_MAKE_VERSION= 20160315
PROG= bmake
@@ -76,7 +76,7 @@ CFLAGS+= ${CPPFLAGS}
CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\"
CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE
CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}}
-COPTS.main.c+= "-DMAKE_VERSION=\"${MAKE_VERSION}\""
+COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\""
# meta mode can be useful even without filemon
FILEMON_H ?= /usr/include/dev/filemon/filemon.h
diff --git a/contrib/bmake/bmake.1 b/contrib/bmake/bmake.1
index 603481e9d08c..915963cd0476 100644
--- a/contrib/bmake/bmake.1
+++ b/contrib/bmake/bmake.1
@@ -1,4 +1,4 @@
-.\" $NetBSD: make.1,v 1.254 2016/02/20 01:43:28 wiz Exp $
+.\" $NetBSD: make.1,v 1.255 2016/03/14 07:42:15 matthias Exp $
.\"
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -685,6 +685,9 @@ or it will not be recognized.
.It Va .TARGET
The name of the target; also known as
.Ql Va @ .
+For compatibility with other makes this is an alias for
+.Ic .ARCHIVE
+in archive member rules.
.El
.Pp
The shorter forms
diff --git a/contrib/bmake/bmake.cat1 b/contrib/bmake/bmake.cat1
index b6159a8dcfe8..091bdd48883e 100644
--- a/contrib/bmake/bmake.cat1
+++ b/contrib/bmake/bmake.cat1
@@ -438,7 +438,9 @@ VVAARRIIAABBLLEE AASSSSIIGGNNMMEENNTTSS
suffixes declared with ..SSUUFFFFIIXXEESS or it will not be recog-
nized.
- _._T_A_R_G_E_T The name of the target; also known as `_@'.
+ _._T_A_R_G_E_T The name of the target; also known as `_@'. For compati-
+ bility with other makes this is an alias for ..AARRCCHHIIVVEE in
+ archive member rules.
The shorter forms (`_>', `_!', `_<', `_%', `_?', `_*', and `_@') are permitted
for backward compatibility with historical makefiles and legacy POSIX
diff --git a/contrib/bmake/make.1 b/contrib/bmake/make.1
index ecece486e74f..07b23207f022 100644
--- a/contrib/bmake/make.1
+++ b/contrib/bmake/make.1
@@ -1,4 +1,4 @@
-.\" $NetBSD: make.1,v 1.254 2016/02/20 01:43:28 wiz Exp $
+.\" $NetBSD: make.1,v 1.255 2016/03/14 07:42:15 matthias Exp $
.\"
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -685,6 +685,9 @@ or it will not be recognized.
.It Va .TARGET
The name of the target; also known as
.Ql Va @ .
+For compatibility with other makes this is an alias for
+.Ic .ARCHIVE
+in archive member rules.
.El
.Pp
The shorter forms
diff --git a/contrib/bmake/meta.c b/contrib/bmake/meta.c
index f4acbde937ee..4faf83638eb7 100644
--- a/contrib/bmake/meta.c
+++ b/contrib/bmake/meta.c
@@ -1,4 +1,4 @@
-/* $NetBSD: meta.c,v 1.53 2016/03/07 21:45:43 christos Exp $ */
+/* $NetBSD: meta.c,v 1.54 2016/03/11 07:01:21 sjg Exp $ */
/*
* Implement 'meta' mode.
@@ -1190,7 +1190,8 @@ meta_oodate(GNode *gn, Boolean oodate)
if ((link_src != NULL && lstat(p, &fs) < 0) ||
(link_src == NULL && stat(p, &fs) < 0)) {
- Lst_AtEnd(missingFiles, bmake_strdup(p));
+ if (Lst_Find(missingFiles, p, string_match) == NULL)
+ Lst_AtEnd(missingFiles, bmake_strdup(p));
}
break;
check_link_src:
@@ -1281,9 +1282,8 @@ meta_oodate(GNode *gn, Boolean oodate)
* A referenced file outside of CWD is missing.
* We cannot catch every eventuality here...
*/
- if (DEBUG(META))
- fprintf(debug_file, "%s: %d: file '%s' may have moved?...\n", fname, lineno, p);
- oodate = TRUE;
+ if (Lst_Find(missingFiles, p, string_match) == NULL)
+ Lst_AtEnd(missingFiles, bmake_strdup(p));
}
}
if (buf[0] == 'E') {
diff --git a/contrib/bmake/mk/ChangeLog b/contrib/bmake/mk/ChangeLog
index f84b5c5040e9..50d6719bdeab 100644
--- a/contrib/bmake/mk/ChangeLog
+++ b/contrib/bmake/mk/ChangeLog
@@ -1,3 +1,26 @@
+2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * install-mk (MK_VERSION): 20160315
+
+ * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
+ normally only applies to scripts.
+
+ * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
+ well as outside it.
+
+2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * install-mk (MK_VERSION): 20160310
+
+ * dirdeps.mk: use targets rather than a list to track DIRDEPS that
+ we have processed; the list gets very inefficient as number of
+ DIRDEPS gets large.
+
+ * sys.dependfile.mk: fix comment wrt MACHINE
+
+ * meta.autodep.mk: ignore staged DPADDs when bootstrapping.
+ patch from Bryan Drewery
+
2016-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
* meta2deps.sh: don't ignore subdirs.
diff --git a/contrib/bmake/mk/dirdeps.mk b/contrib/bmake/mk/dirdeps.mk
index ec37e35dfa54..c2350765c4a3 100644
--- a/contrib/bmake/mk/dirdeps.mk
+++ b/contrib/bmake/mk/dirdeps.mk
@@ -1,4 +1,4 @@
-# $Id: dirdeps.mk,v 1.59 2016/02/26 23:32:29 sjg Exp $
+# $Id: dirdeps.mk,v 1.62 2016/03/16 00:11:53 sjg Exp $
# Copyright (c) 2010-2013, Juniper Networks, Inc.
# All rights reserved.
@@ -135,7 +135,6 @@ start_utc := ${now_utc}
# make sure these are empty to start with
_DEP_TARGET_SPEC =
-_DIRDEP_CHECKED =
# If TARGET_SPEC_VARS is other than just MACHINE
# it should be set by sys.mk or similar by now.
@@ -225,7 +224,7 @@ _DEP_TARGET_SPEC = ${_last_dependfile:${M_dep_qual_fixes:ts:}:E}
.endif
.if !empty(_last_dependfile)
# record that we've read dependfile for this
-_DIRDEP_CHECKED += ${_CURDIR}.${TARGET_SPEC}
+_dirdeps_checked.${_CURDIR}.${TARGET_SPEC}:
.endif
.endif
@@ -306,8 +305,10 @@ DEP_SKIP_DIR = ${SKIP_DIR} \
NSkipDir = ${DEP_SKIP_DIR:${M_ListToSkip}}
.if defined(NO_DIRDEPS) || defined(NODIRDEPS) || defined(WITHOUT_DIRDEPS)
-# confine ourselves to the original dir
+# confine ourselves to the original dir and below.
DIRDEPS_FILTER += M${_DEP_RELDIR}*
+.elif defined(NO_DIRDEPS_BELOW)
+DIRDEPS_FILTER += M${_DEP_RELDIR}
.endif
# this is what we run below
@@ -597,9 +598,9 @@ ${_this_dir}.$m: ${_build_dirs:M*.$m:N${_this_dir}.$m}
# Now find more dependencies - and recurse.
.for d in ${_build_all_dirs}
-.if ${_DIRDEP_CHECKED:M$d} == ""
+.if !target(_dirdeps_checked.$d)
# once only
-_DIRDEP_CHECKED += $d
+_dirdeps_checked.$d:
.if ${_debug_search}
.info checking $d
.endif
diff --git a/contrib/bmake/mk/install-mk b/contrib/bmake/mk/install-mk
index 64b238fd8356..307660954574 100644
--- a/contrib/bmake/mk/install-mk
+++ b/contrib/bmake/mk/install-mk
@@ -55,7 +55,7 @@
# Simon J. Gerraty <sjg@crufty.net>
# RCSid:
-# $Id: install-mk,v 1.121 2016/02/27 00:23:02 sjg Exp $
+# $Id: install-mk,v 1.123 2016/03/16 00:13:16 sjg Exp $
#
# @(#) Copyright (c) 1994 Simon J. Gerraty
#
@@ -70,7 +70,7 @@
# sjg@crufty.net
#
-MK_VERSION=20160226
+MK_VERSION=20160315
OWNER=
GROUP=
MODE=444
diff --git a/contrib/bmake/mk/meta.autodep.mk b/contrib/bmake/mk/meta.autodep.mk
index 5f705647efe1..831e89f02259 100644
--- a/contrib/bmake/mk/meta.autodep.mk
+++ b/contrib/bmake/mk/meta.autodep.mk
@@ -1,4 +1,4 @@
-# $Id: meta.autodep.mk,v 1.40 2016/02/22 22:44:58 sjg Exp $
+# $Id: meta.autodep.mk,v 1.41 2016/03/11 01:29:38 sjg Exp $
#
# @(#) Copyright (c) 2010, Simon J. Gerraty
@@ -195,7 +195,7 @@ gendirdeps: ${_DEPENDFILE}
# The pseudo machine "host" is used for HOST_TARGET
DIRDEPS += \
${DPADD:M${_OBJTOP}*:H:C,${_OBJTOP}[^/]*/,,:N.:O:u} \
- ${DPADD:M${_OBJROOT}*:N${_OBJTOP}*:H:S,${_OBJROOT},,:C,^([^/]+)/(.*),\2.\1,:S,${HOST_TARGET}$,host,:N.*:O:u}
+ ${DPADD:M${_OBJROOT}*:N${_OBJTOP}*:N${STAGE_ROOT:U${_OBJTOP}}/*:H:S,${_OBJROOT},,:C,^([^/]+)/(.*),\2.\1,:S,${HOST_TARGET}$,host,:N.*:O:u}
.endif
.endif
diff --git a/contrib/bmake/mk/meta.stage.mk b/contrib/bmake/mk/meta.stage.mk
index 0355d66af041..c6c72274789c 100644
--- a/contrib/bmake/mk/meta.stage.mk
+++ b/contrib/bmake/mk/meta.stage.mk
@@ -1,4 +1,4 @@
-# $Id: meta.stage.mk,v 1.43 2016/02/24 18:46:32 sjg Exp $
+# $Id: meta.stage.mk,v 1.44 2016/03/16 18:21:23 sjg Exp $
#
# @(#) Copyright (c) 2011, Simon J. Gerraty
#
@@ -58,7 +58,7 @@ GENDIRDEPS_FILTER += Nnot-empty-is-important \
LN_CP_SCRIPT = LnCp() { \
rm -f $$2 2> /dev/null; \
- ln $$1 $$2 2> /dev/null || \
+ { [ -z "$$mode" ] && ln $$1 $$2 2> /dev/null; } || \
cp -p $$1 $$2; }
# a staging conflict should cause an error
diff --git a/contrib/bmake/mk/sys.dependfile.mk b/contrib/bmake/mk/sys.dependfile.mk
index b4d79f7e11e8..5389c24fd1bb 100644
--- a/contrib/bmake/mk/sys.dependfile.mk
+++ b/contrib/bmake/mk/sys.dependfile.mk
@@ -1,4 +1,4 @@
-# $Id: sys.dependfile.mk,v 1.7 2016/02/20 01:57:39 sjg Exp $
+# $Id: sys.dependfile.mk,v 1.8 2016/03/11 01:34:13 sjg Exp $
#
# @(#) Copyright (c) 2012, Simon J. Gerraty
#
@@ -48,7 +48,7 @@ _e := ${.MAKE.DEPENDFILE_PREFERENCE:@m@${exists($m):?$m:}@}
# MACHINE specific depend files are supported, but *not* default.
# If any already exist, we should follow suit.
_aml = ${ALL_MACHINE_LIST:Uarm amd64 i386 powerpc:N${MACHINE}} ${MACHINE}
-# MACHINE must be the last entry in _aml ;-)
+# make sure we restore MACHINE
_m := ${MACHINE}
_e := ${_aml:@MACHINE@${.MAKE.DEPENDFILE_PREFERENCE:@m@${exists($m):?$m:}@}@}
MACHINE := ${_m}
diff --git a/contrib/bmake/parse.c b/contrib/bmake/parse.c
index 2a22c0b60695..03275e2c5085 100644
--- a/contrib/bmake/parse.c
+++ b/contrib/bmake/parse.c
@@ -1,4 +1,4 @@
-/* $NetBSD: parse.c,v 1.212 2016/02/19 06:19:06 sjg Exp $ */
+/* $NetBSD: parse.c,v 1.213 2016/03/11 13:54:47 matthias Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: parse.c,v 1.212 2016/02/19 06:19:06 sjg Exp $";
+static char rcsid[] = "$NetBSD: parse.c,v 1.213 2016/03/11 13:54:47 matthias Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)parse.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: parse.c,v 1.212 2016/02/19 06:19:06 sjg Exp $");
+__RCSID("$NetBSD: parse.c,v 1.213 2016/03/11 13:54:47 matthias Exp $");
#endif
#endif /* not lint */
#endif
@@ -1261,6 +1261,7 @@ ParseDoDependency(char *line)
goto out;
} else {
/* Done with this word; on to the next. */
+ cp = line;
continue;
}
}
diff --git a/contrib/bmake/suff.c b/contrib/bmake/suff.c
index 98bd44734872..97f745b07e47 100644
--- a/contrib/bmake/suff.c
+++ b/contrib/bmake/suff.c
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.78 2016/02/18 18:29:14 christos Exp $ */
+/* $NetBSD: suff.c,v 1.81 2016/03/15 18:30:14 matthias Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: suff.c,v 1.78 2016/02/18 18:29:14 christos Exp $";
+static char rcsid[] = "$NetBSD: suff.c,v 1.81 2016/03/15 18:30:14 matthias Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94";
#else
-__RCSID("$NetBSD: suff.c,v 1.78 2016/02/18 18:29:14 christos Exp $");
+__RCSID("$NetBSD: suff.c,v 1.81 2016/03/15 18:30:14 matthias Exp $");
#endif
#endif /* not lint */
#endif
@@ -1894,6 +1894,7 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
TARGET, /* Must be first */
PREFIX, /* Must be second */
};
+ LstNode ln, nln; /* Next suffix node to check */
int i; /* Index into copy and vals */
Suff *ms; /* Suffix descriptor for member */
char *name; /* Start of member's name */
@@ -1955,6 +1956,20 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
Var_Set(MEMBER, name, gn, 0);
Var_Set(ARCHIVE, gn->name, gn, 0);
+ /*
+ * Set $@ for compatibility with other makes
+ */
+ Var_Set(TARGET, gn->name, gn, 0);
+
+ /*
+ * Now we've got the important local variables set, expand any sources
+ * that still contain variables or wildcards in their names.
+ */
+ for (ln = Lst_First(gn->children); ln != NULL; ln = nln) {
+ nln = Lst_Succ(ln);
+ SuffExpandChildren(ln, gn);
+ }
+
if (ms != NULL) {
/*
* Member has a known suffix, so look for a transformation rule from
@@ -1962,7 +1977,6 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
* through the entire list, we just look at suffixes to which the
* member's suffix may be transformed...
*/
- LstNode ln;
SuffixCmpData sd; /* Search string data */
/*
@@ -2002,9 +2016,10 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
/*
* Flag the member as such so we remember to look in the archive for
- * its modification time.
+ * its modification time. The OP_JOIN | OP_MADE is needed because this
+ * target should never get made.
*/
- mem->type |= OP_MEMBER;
+ mem->type |= OP_MEMBER | OP_JOIN | OP_MADE;
}
/*-
diff --git a/contrib/bmake/var.c b/contrib/bmake/var.c
index 36ba6de678db..98b868a68e4e 100644
--- a/contrib/bmake/var.c
+++ b/contrib/bmake/var.c
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.206 2016/03/07 20:20:35 sjg Exp $ */
+/* $NetBSD: var.c,v 1.207 2016/03/11 15:12:39 matthias Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.206 2016/03/07 20:20:35 sjg Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.207 2016/03/11 15:12:39 matthias Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: var.c,v 1.206 2016/03/07 20:20:35 sjg Exp $");
+__RCSID("$NetBSD: var.c,v 1.207 2016/03/11 15:12:39 matthias Exp $");
#endif
#endif /* not lint */
#endif
@@ -3699,11 +3699,11 @@ Var_Parse(const char *str, GNode *ctxt, int flags,
case '@':
return UNCONST("$(.TARGET)");
case '%':
- return UNCONST("$(.ARCHIVE)");
+ return UNCONST("$(.MEMBER)");
case '*':
return UNCONST("$(.PREFIX)");
case '!':
- return UNCONST("$(.MEMBER)");
+ return UNCONST("$(.ARCHIVE)");
}
}
/*
diff --git a/contrib/bsnmp/snmp_mibII/mibII_tcp.c b/contrib/bsnmp/snmp_mibII/mibII_tcp.c
index c798bae1fa17..913a53736d23 100644
--- a/contrib/bsnmp/snmp_mibII/mibII_tcp.c
+++ b/contrib/bsnmp/snmp_mibII/mibII_tcp.c
@@ -47,6 +47,7 @@ struct tcp_index {
static uint64_t tcp_tick;
static uint64_t tcp_stats_tick;
static struct tcpstat tcpstat;
+static uint64_t tcps_states[TCP_NSTATES];
static struct xinpgen *xinpgen;
static size_t xinpgen_len;
static u_int tcp_total;
@@ -78,6 +79,17 @@ fetch_tcp_stats(void)
return (-1);
}
+ len = sizeof(tcps_states);
+ if (sysctlbyname("net.inet.tcp.states", &tcps_states, &len, NULL,
+ 0) == -1) {
+ syslog(LOG_ERR, "net.inet.tcp.states: %m");
+ return (-1);
+ }
+ if (len != sizeof(tcps_states)) {
+ syslog(LOG_ERR, "net.inet.tcp.states: wrong size");
+ return (-1);
+ }
+
tcp_stats_tick = get_ticks();
return (0);
@@ -231,8 +243,8 @@ op_tcp(struct snmp_context *ctx __unused, struct snmp_value *value,
break;
case LEAF_tcpCurrEstab:
- value->v.uint32 = tcpstat.tcps_states[TCPS_ESTABLISHED] +
- tcpstat.tcps_states[TCPS_CLOSE_WAIT];
+ value->v.uint32 = tcps_states[TCPS_ESTABLISHED] +
+ tcps_states[TCPS_CLOSE_WAIT];
break;
case LEAF_tcpInSegs:
diff --git a/contrib/byacc/CHANGES b/contrib/byacc/CHANGES
index a61b2f22f7b1..1c3f44205558 100644
--- a/contrib/byacc/CHANGES
+++ b/contrib/byacc/CHANGES
@@ -1,3 +1,28 @@
+2016-03-24 Thomas E. Dickey <tom@invisible-island.net>
+
+ * reader.c: unused variable
+
+ * package/pkgsrc/Makefile, package/debian/copyright: bump
+
+2016-03-24 Jung-uk.Kim
+
+ * main.c:
+ correct logic for finding output suffix in the "-o" option, which matched
+ the first occurrence of ".c" in the name in 2005-08-13 changes rather than
+ at the end of the filename (patch by Jung-uk Kim)
+
+2016-03-24 Thomas E. Dickey <tom@invisible-island.net>
+
+ * aclocal.m4:
+ update CF_WITH_MAN2HTML to use configured shell rather than /bin/sh
+
+ * VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile:
+ bump
+
+2016-01-25 Thomas E. Dickey <tom@invisible-island.net>
+
+ * config.guess, config.sub: 2016-01-01
+
2015-07-10 Thomas E. Dickey <tom@invisible-island.net>
* lr0.c: fix a duplicate-free in the leak-checking
@@ -2275,7 +2300,7 @@
* vmsbuild.com: original version
-2000-02-23 Thomas E. Dickey <dickey@invisible-island.net>
+2000-02-23 dickey
* test/RCS, RCS: PERMIT FILE
diff --git a/contrib/byacc/MANIFEST b/contrib/byacc/MANIFEST
index 0ee8f3537fbe..7d7e53484cd1 100644
--- a/contrib/byacc/MANIFEST
+++ b/contrib/byacc/MANIFEST
@@ -1,4 +1,4 @@
-MANIFEST for byacc-20150711, version t20150711
+MANIFEST for byacc-20160324, version t20160324
--------------------------------------------------------------------------------
MANIFEST this file
ACKNOWLEDGEMENTS original version of byacc - 1993
diff --git a/contrib/byacc/VERSION b/contrib/byacc/VERSION
index 58eff608229f..9be40626b9a0 100644
--- a/contrib/byacc/VERSION
+++ b/contrib/byacc/VERSION
@@ -1 +1 @@
-20150711
+20160324
diff --git a/contrib/byacc/aclocal.m4 b/contrib/byacc/aclocal.m4
index 41358a26c112..f98d0895249e 100644
--- a/contrib/byacc/aclocal.m4
+++ b/contrib/byacc/aclocal.m4
@@ -1,7 +1,7 @@
-dnl $Id: aclocal.m4,v 1.38 2015/07/05 22:16:23 tom Exp $
+dnl $Id: aclocal.m4,v 1.39 2016/03/25 00:06:44 tom Exp $
dnl Macros for byacc configure script (Thomas E. Dickey)
dnl ---------------------------------------------------------------------------
-dnl Copyright 2004-2014,2015 Thomas E. Dickey
+dnl Copyright 2004-2015,2016 Thomas E. Dickey
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the
@@ -1121,7 +1121,7 @@ if test "$with_dmalloc" = yes ; then
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_MAN2HTML version: 4 updated: 2015/05/03 19:10:48
+dnl CF_WITH_MAN2HTML version: 5 updated: 2015/08/20 04:51:36
dnl ----------------
dnl Check for man2html and groff. Optionally prefer man2html over groff.
dnl Generate a shell script which hides the differences between the two.
@@ -1157,7 +1157,7 @@ esac
MAN2HTML_TEMP="man2html.tmp"
cat >$MAN2HTML_TEMP <<CF_EOF
-#!/bin/sh
+#!$SHELL
# Temporary script generated by CF_WITH_MAN2HTML
# Convert inputs to html, sending result to standard output.
#
@@ -1184,7 +1184,7 @@ then
MAN2HTML_NOTE="$GROFF_NOTE"
MAN2HTML_PATH="$GROFF_PATH"
cat >>$MAN2HTML_TEMP <<CF_EOF
-/bin/sh -c "tbl \${ROOT}.\${TYPE} | $GROFF_PATH -P -o0 -I\${ROOT}_ -Thtml -\${MACS}"
+$SHELL -c "tbl \${ROOT}.\${TYPE} | $GROFF_PATH -P -o0 -I\${ROOT}_ -Thtml -\${MACS}"
CF_EOF
else
MAN2HTML_NOTE=""
@@ -1287,7 +1287,7 @@ fi
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 49 updated: 2015/04/12 15:39:00
+dnl CF_XOPEN_SOURCE version: 50 updated: 2015/10/17 19:03:33
dnl ---------------
dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
dnl or adapt to the vendor's definitions to get equivalent functionality,
@@ -1357,6 +1357,9 @@ case $host_os in
(openbsd*)
# setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
;;
+(os2*)
+ cf_XOPEN_SOURCE=
+ ;;
(osf[[45]]*)
cf_xopen_source="-D_OSF_SOURCE"
;;
diff --git a/contrib/byacc/config.guess b/contrib/byacc/config.guess
index f7eb141e75a9..dcd5149681df 100755
--- a/contrib/byacc/config.guess
+++ b/contrib/byacc/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-03-04'
+timestamp='2016-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-03-04'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <config-patches@gnu.org>.
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -221,7 +221,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
@@ -249,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -962,6 +965,9 @@ EOF
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -1038,7 +1044,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1117,7 +1123,7 @@ EOF
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
+ # prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
@@ -1387,6 +1393,9 @@ EOF
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
esac
cat >&2 <<EOF
@@ -1396,9 +1405,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/contrib/byacc/config.sub b/contrib/byacc/config.sub
index 8f1229c6f7dd..da6d1b6826a2 100755
--- a/contrib/byacc/config.sub
+++ b/contrib/byacc/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-03-08'
+timestamp='2016-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2015-03-08'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@ timestamp='2015-03-08'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -255,6 +254,7 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
@@ -305,7 +305,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,6 +376,7 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
@@ -428,12 +429,13 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -518,7 +520,7 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
- asmjs)
+ asmjs)
basic_machine=asmjs-unknown
;;
aux)
@@ -1376,7 +1378,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1396,7 +1398,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
diff --git a/contrib/byacc/main.c b/contrib/byacc/main.c
index 620ce3fdb35c..37889c3ff8fe 100644
--- a/contrib/byacc/main.c
+++ b/contrib/byacc/main.c
@@ -1,4 +1,4 @@
-/* $Id: main.c,v 1.55 2015/07/11 00:34:19 tom Exp $ */
+/* $Id: main.c,v 1.56 2016/03/25 00:16:28 Jung-uk.Kim Exp $ */
#include <signal.h>
#ifndef _WIN32
@@ -410,32 +410,46 @@ alloc_file_name(size_t len, const char *suffix)
return result;
}
+static char *
+find_suffix(char *name, const char *suffix)
+{
+ size_t len = strlen(name);
+ size_t slen = strlen(suffix);
+ if (len >= slen)
+ {
+ name += len - slen;
+ if (strcmp(name, suffix) == 0)
+ return name;
+ }
+ return NULL;
+}
+
static void
create_file_names(void)
{
size_t len;
const char *defines_suffix;
const char *externs_suffix;
- char *prefix;
+ char *suffix;
- prefix = NULL;
+ suffix = NULL;
defines_suffix = DEFINES_SUFFIX;
externs_suffix = EXTERNS_SUFFIX;
/* compute the file_prefix from the user provided output_file_name */
if (output_file_name != 0)
{
- if (!(prefix = strstr(output_file_name, OUTPUT_SUFFIX))
- && (prefix = strstr(output_file_name, ".c")))
+ if (!(suffix = find_suffix(output_file_name, OUTPUT_SUFFIX))
+ && (suffix = find_suffix(output_file_name, ".c")))
{
defines_suffix = ".h";
externs_suffix = ".i";
}
}
- if (prefix != NULL)
+ if (suffix != NULL)
{
- len = (size_t) (prefix - output_file_name);
+ len = (size_t) (suffix - output_file_name);
file_prefix = TMALLOC(char, len + 1);
NO_SPACE(file_prefix);
strncpy(file_prefix, output_file_name, len)[len] = 0;
@@ -477,7 +491,7 @@ create_file_names(void)
CREATE_FILE_NAME(graph_file_name, GRAPH_SUFFIX);
}
- if (prefix != NULL)
+ if (suffix != NULL)
{
FREE(file_prefix);
}
diff --git a/contrib/byacc/package/byacc.spec b/contrib/byacc/package/byacc.spec
index 47fc25f89bb9..c18affa6ef0f 100644
--- a/contrib/byacc/package/byacc.spec
+++ b/contrib/byacc/package/byacc.spec
@@ -1,8 +1,8 @@
Summary: byacc - public domain Berkeley LALR Yacc parser generator
%define AppProgram byacc
-%define AppVersion 20150711
+%define AppVersion 20160324
%define UseProgram yacc
-# $XTermId: byacc.spec,v 1.28 2015/07/11 00:53:15 tom Exp $
+# $XTermId: byacc.spec,v 1.29 2016/03/24 23:55:52 tom Exp $
Name: %{AppProgram}
Version: %{AppVersion}
Release: 1
diff --git a/contrib/byacc/package/debian/changelog b/contrib/byacc/package/debian/changelog
index 4c01294df121..91b9c182ca4d 100644
--- a/contrib/byacc/package/debian/changelog
+++ b/contrib/byacc/package/debian/changelog
@@ -1,3 +1,9 @@
+byacc (20160324) unstable; urgency=low
+
+ * maintenance updates
+
+ -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 24 Mar 2016 19:55:52 -0400
+
byacc (20150711) unstable; urgency=low
* maintenance updates
diff --git a/contrib/byacc/package/debian/copyright b/contrib/byacc/package/debian/copyright
index 77e94472a7a7..77ab7952e3db 100644
--- a/contrib/byacc/package/debian/copyright
+++ b/contrib/byacc/package/debian/copyright
@@ -1,4 +1,4 @@
-Upstream source http://dickey.his.com/byacc/byacc.html
+Upstream source http://invisible-island.net/byacc/byacc.html
Berkeley Yacc is in the public domain; changes made to it by the current
maintainer are likewise unrestricted. That applies to most of the files.
@@ -36,7 +36,7 @@ skeleton.c with the bug report. Do not expect rapid responses.
Files: aclocal.m4
Licence: other-BSD
-Copyright: 2004-2014,2015 by Thomas E. Dickey
+Copyright: 2004-2015,2016 by Thomas E. Dickey
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
diff --git a/contrib/byacc/package/mingw-byacc.spec b/contrib/byacc/package/mingw-byacc.spec
index 94071b4faee2..6ec6649c5ba0 100644
--- a/contrib/byacc/package/mingw-byacc.spec
+++ b/contrib/byacc/package/mingw-byacc.spec
@@ -1,8 +1,8 @@
Summary: byacc - public domain Berkeley LALR Yacc parser generator
%define AppProgram byacc
-%define AppVersion 20150711
+%define AppVersion 20160324
%define UseProgram yacc
-# $XTermId: mingw-byacc.spec,v 1.10 2015/07/11 00:53:15 tom Exp $
+# $XTermId: mingw-byacc.spec,v 1.11 2016/03/24 23:55:52 tom Exp $
Name: %{AppProgram}
Version: %{AppVersion}
Release: 1
diff --git a/contrib/byacc/package/pkgsrc/Makefile b/contrib/byacc/package/pkgsrc/Makefile
index 473942b15222..bb568d1946f3 100644
--- a/contrib/byacc/package/pkgsrc/Makefile
+++ b/contrib/byacc/package/pkgsrc/Makefile
@@ -1,14 +1,14 @@
# $NetBSD: Makefile,v 1.9 2008/07/24 17:13:00 tonnerre Exp $
#
-DISTNAME= byacc-20150711
+DISTNAME= byacc-20160324
PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= ftp://invisible-island.net/byacc/
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
-HOMEPAGE= http://dickey.his.com/byacc/byacc.html
+HOMEPAGE= http://invisible-island.net/byacc/byacc.html
COMMENT= Berkeley Yacc
PKG_DESTDIR_SUPPORT= user-destdir
diff --git a/contrib/byacc/reader.c b/contrib/byacc/reader.c
index 563a2e83d623..502e4a2a4e2e 100644
--- a/contrib/byacc/reader.c
+++ b/contrib/byacc/reader.c
@@ -1,4 +1,4 @@
-/* $Id: reader.c,v 1.59 2015/07/11 00:39:03 tom Exp $ */
+/* $Id: reader.c,v 1.60 2016/03/25 00:51:07 tom Exp $ */
#include "defs.h"
@@ -895,7 +895,7 @@ copy_param(int k)
}
buf[i--] = '\0';
- i = trim_blanks(buf);
+ (void)trim_blanks(buf);
comma = buf - 1;
do
diff --git a/contrib/elftoolchain/elfcopy/elfcopy.h b/contrib/elftoolchain/elfcopy/elfcopy.h
index 614c0e7e65bd..f88aaf4874f7 100644
--- a/contrib/elftoolchain/elfcopy/elfcopy.h
+++ b/contrib/elftoolchain/elfcopy/elfcopy.h
@@ -139,7 +139,8 @@ struct section {
/* Internal data structure for segments. */
struct segment {
- uint64_t addr; /* load addr */
+ uint64_t vaddr; /* virtual addr (VMA) */
+ uint64_t paddr; /* physical addr (LMA) */
uint64_t off; /* file offset */
uint64_t fsz; /* file size */
uint64_t msz; /* memory size */
diff --git a/contrib/elftoolchain/elfcopy/segments.c b/contrib/elftoolchain/elfcopy/segments.c
index 8ce0b83abe80..78782a4e3b5e 100644
--- a/contrib/elftoolchain/elfcopy/segments.c
+++ b/contrib/elftoolchain/elfcopy/segments.c
@@ -72,12 +72,12 @@ add_to_inseg_list(struct elfcopy *ecp, struct section *s)
*/
loadable = 0;
STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
- if (s->off < seg->off || (s->vma < seg->addr && !s->pseudo))
+ if (s->off < seg->off || (s->vma < seg->vaddr && !s->pseudo))
continue;
if (s->off + s->sz > seg->off + seg->fsz &&
s->type != SHT_NOBITS)
continue;
- if (s->vma + s->sz > seg->addr + seg->msz)
+ if (s->vma + s->sz > seg->vaddr + seg->msz)
continue;
insert_to_inseg_list(seg, s);
@@ -85,7 +85,12 @@ add_to_inseg_list(struct elfcopy *ecp, struct section *s)
s->seg = seg;
else if (seg->type == PT_TLS)
s->seg_tls = seg;
- s->lma = seg->addr + (s->off - seg->off);
+ if (s->pseudo)
+ s->vma = seg->vaddr + (s->off - seg->off);
+ if (seg->paddr > 0)
+ s->lma = seg->paddr + (s->off - seg->off);
+ else
+ s->lma = 0;
loadable = 1;
}
@@ -98,7 +103,7 @@ adjust_addr(struct elfcopy *ecp)
struct section *s, *s0;
struct segment *seg;
struct sec_action *sac;
- uint64_t dl, lma, start, end;
+ uint64_t dl, vma, lma, start, end;
int found, i;
/*
@@ -110,59 +115,52 @@ adjust_addr(struct elfcopy *ecp)
if (!s->loadable)
continue;
+ /* Apply global VMA adjustment. */
+ if (ecp->change_addr != 0)
+ s->vma += ecp->change_addr;
+
/* Apply global LMA adjustment. */
- if (ecp->change_addr != 0 && s->seg != NULL)
+ if (ecp->change_addr != 0 && s->seg != NULL &&
+ s->seg->paddr > 0)
s->lma += ecp->change_addr;
-
- if (!s->pseudo) {
- /* Apply global VMA adjustment. */
- if (ecp->change_addr != 0)
- s->vma += ecp->change_addr;
-
- /* Apply section VMA adjustment. */
- sac = lookup_sec_act(ecp, s->name, 0);
- if (sac == NULL)
- continue;
- if (sac->setvma)
- s->vma = sac->vma;
- if (sac->vma_adjust != 0)
- s->vma += sac->vma_adjust;
- }
}
/*
- * Apply sections LMA change in the second iteration.
+ * Apply sections VMA change in the second iteration.
*/
TAILQ_FOREACH(s, &ecp->v_sec, sec_list) {
- /*
- * Only loadable section that's inside a segment can have
- * LMA adjusted.
- */
- if (!s->loadable || s->seg == NULL)
+ if (!s->loadable)
continue;
/*
- * Check if there is a LMA change request for this
+ * Check if there is a VMA change request for this
* section.
*/
sac = lookup_sec_act(ecp, s->name, 0);
if (sac == NULL)
continue;
- if (!sac->setlma && sac->lma_adjust == 0)
+ vma = s->vma;
+ if (sac->setvma)
+ vma = sac->vma;
+ if (sac->vma_adjust != 0)
+ vma += sac->vma_adjust;
+ if (vma == s->vma)
continue;
- lma = s->lma;
- if (sac->setlma)
- lma = sac->lma;
- if (sac->lma_adjust != 0)
- lma += sac->lma_adjust;
- if (lma == s->lma)
+
+ /*
+ * No need to make segment adjustment if the section doesn't
+ * belong to any segment.
+ */
+ if (s->seg == NULL) {
+ s->vma = vma;
continue;
+ }
/*
- * Check if the LMA change is viable.
+ * Check if the VMA change is viable.
*
- * 1. Check if the new LMA is properly aligned accroding to
+ * 1. Check if the new VMA is properly aligned accroding to
* section alignment.
*
* 2. Compute the new extent of segment that contains this
@@ -170,37 +168,36 @@ adjust_addr(struct elfcopy *ecp)
* segments.
*/
#ifdef DEBUG
- printf("LMA for section %s: %#jx\n", s->name, lma);
+ printf("VMA for section %s: %#jx\n", s->name, vma);
#endif
- if (lma % s->align != 0)
- errx(EXIT_FAILURE, "The load address %#jx for "
+ if (vma % s->align != 0)
+ errx(EXIT_FAILURE, "The VMA %#jx for "
"section %s is not aligned to %ju",
- (uintmax_t) lma, s->name, (uintmax_t) s->align);
+ (uintmax_t) vma, s->name, (uintmax_t) s->align);
- if (lma < s->lma) {
+ if (vma < s->vma) {
/* Move section to lower address. */
- if (lma < s->lma - s->seg->addr)
+ if (vma < s->vma - s->seg->vaddr)
errx(EXIT_FAILURE, "Not enough space to move "
- "section %s load address to %#jx", s->name,
- (uintmax_t) lma);
- start = lma - (s->lma - s->seg->addr);
+ "section %s VMA to %#jx", s->name,
+ (uintmax_t) vma);
+ start = vma - (s->vma - s->seg->vaddr);
if (s == s->seg->v_sec[s->seg->nsec - 1])
end = start + s->seg->msz;
else
- end = s->seg->addr + s->seg->msz;
-
+ end = s->seg->vaddr + s->seg->msz;
} else {
/* Move section to upper address. */
if (s == s->seg->v_sec[0])
- start = lma;
+ start = vma;
else
- start = s->seg->addr;
- end = lma + (s->seg->addr + s->seg->msz - s->lma);
+ start = s->seg->vaddr;
+ end = vma + (s->seg->vaddr + s->seg->msz - s->vma);
if (end < start)
errx(EXIT_FAILURE, "Not enough space to move "
- "section %s load address to %#jx", s->name,
- (uintmax_t) lma);
+ "section %s VMA to %#jx", s->name,
+ (uintmax_t) vma);
}
#ifdef DEBUG
@@ -211,34 +208,34 @@ adjust_addr(struct elfcopy *ecp)
STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
if (seg == s->seg || seg->type != PT_LOAD)
continue;
- if (start > seg->addr + seg->msz)
+ if (start > seg->vaddr + seg->msz)
continue;
- if (end < seg->addr)
+ if (end < seg->vaddr)
continue;
errx(EXIT_FAILURE, "The extent of segment containing "
"section %s overlaps with segment(%#jx,%#jx)",
- s->name, (uintmax_t) seg->addr,
- (uintmax_t) (seg->addr + seg->msz));
+ s->name, (uintmax_t) seg->vaddr,
+ (uintmax_t) (seg->vaddr + seg->msz));
}
/*
- * Update section LMA and file offset.
+ * Update section VMA and file offset.
*/
- if (lma < s->lma) {
+ if (vma < s->vma) {
/*
- * To move a section to lower load address, we decrease
- * the load addresses of the section and all the
- * sections that are before it, and we increase the
- * file offsets of all the sections that are after it.
+ * To move a section to lower VMA, we decrease
+ * the VMA of the section and all the sections that
+ * are before it, and we increase the file offsets
+ * of all the sections that are after it.
*/
- dl = s->lma - lma;
+ dl = s->vma - vma;
for (i = 0; i < s->seg->nsec; i++) {
s0 = s->seg->v_sec[i];
- s0->lma -= dl;
+ s0->vma -= dl;
#ifdef DEBUG
- printf("section %s LMA set to %#jx\n",
- s0->name, (uintmax_t) s0->lma);
+ printf("section %s VMA set to %#jx\n",
+ s0->name, (uintmax_t) s0->vma);
#endif
if (s0 == s)
break;
@@ -253,13 +250,13 @@ adjust_addr(struct elfcopy *ecp)
}
} else {
/*
- * To move a section to upper load address, we increase
- * the load addresses of the section and all the
- * sections that are after it, and we increase the
- * their file offsets too unless the section in question
+ * To move a section to upper VMA, we increase
+ * the VMA of the section and all the sections that
+ * are after it, and we increase the their file
+ * offsets too unless the section in question
* is the first in its containing segment.
*/
- dl = lma - s->lma;
+ dl = vma - s->vma;
for (i = 0; i < s->seg->nsec; i++)
if (s->seg->v_sec[i] == s)
break;
@@ -269,9 +266,9 @@ adjust_addr(struct elfcopy *ecp)
s->name);
for (; i < s->seg->nsec; i++) {
s0 = s->seg->v_sec[i];
- s0->lma += dl;
+ s0->vma += dl;
#ifdef DEBUG
- printf("section %s LMA set to %#jx\n",
+ printf("section %s VMA set to %#jx\n",
s0->name, (uintmax_t) s0->lma);
#endif
if (s != s->seg->v_sec[0]) {
@@ -292,9 +289,8 @@ adjust_addr(struct elfcopy *ecp)
if (ecp->pad_to != 0) {
/*
- * Find the section with highest load address.
+ * Find the section with highest VMA.
*/
-
s = NULL;
STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) {
if (seg->type != PT_LOAD)
@@ -308,26 +304,113 @@ adjust_addr(struct elfcopy *ecp)
s = seg->v_sec[i];
else {
s0 = seg->v_sec[i];
- if (s0->lma > s->lma)
+ if (s0->vma > s->vma)
s = s0;
}
}
if (s == NULL)
- goto issue_warn;
+ goto adjust_lma;
/* No need to pad if the pad_to address is lower. */
- if (ecp->pad_to <= s->lma + s->sz)
- goto issue_warn;
+ if (ecp->pad_to <= s->vma + s->sz)
+ goto adjust_lma;
- s->pad_sz = ecp->pad_to - (s->lma + s->sz);
+ s->pad_sz = ecp->pad_to - (s->vma + s->sz);
#ifdef DEBUG
- printf("pad section %s load to address %#jx by %#jx\n", s->name,
+ printf("pad section %s VMA to address %#jx by %#jx\n", s->name,
(uintmax_t) ecp->pad_to, (uintmax_t) s->pad_sz);
#endif
}
-issue_warn:
+
+adjust_lma:
+
+ /*
+ * Apply sections LMA change in the third iteration.
+ */
+ TAILQ_FOREACH(s, &ecp->v_sec, sec_list) {
+
+ /*
+ * Only loadable section that's inside a segment can have
+ * LMA adjusted. Also, if LMA of the containing segment is
+ * set to 0, it probably means we should ignore the LMA.
+ */
+ if (!s->loadable || s->seg == NULL || s->seg->paddr == 0)
+ continue;
+
+ /*
+ * Check if there is a LMA change request for this
+ * section.
+ */
+ sac = lookup_sec_act(ecp, s->name, 0);
+ if (sac == NULL)
+ continue;
+ if (!sac->setlma && sac->lma_adjust == 0)
+ continue;
+ lma = s->lma;
+ if (sac->setlma)
+ lma = sac->lma;
+ if (sac->lma_adjust != 0)
+ lma += sac->lma_adjust;
+ if (lma == s->lma)
+ continue;
+
+#ifdef DEBUG
+ printf("LMA for section %s: %#jx\n", s->name, lma);
+#endif
+
+ /* Check alignment. */
+ if (lma % s->align != 0)
+ errx(EXIT_FAILURE, "The LMA %#jx for "
+ "section %s is not aligned to %ju",
+ (uintmax_t) lma, s->name, (uintmax_t) s->align);
+
+ /*
+ * Update section LMA.
+ */
+
+ if (lma < s->lma) {
+ /*
+ * To move a section to lower LMA, we decrease
+ * the LMA of the section and all the sections that
+ * are before it.
+ */
+ dl = s->lma - lma;
+ for (i = 0; i < s->seg->nsec; i++) {
+ s0 = s->seg->v_sec[i];
+ s0->lma -= dl;
+#ifdef DEBUG
+ printf("section %s LMA set to %#jx\n",
+ s0->name, (uintmax_t) s0->lma);
+#endif
+ if (s0 == s)
+ break;
+ }
+ } else {
+ /*
+ * To move a section to upper LMA, we increase
+ * the LMA of the section and all the sections that
+ * are after it.
+ */
+ dl = lma - s->lma;
+ for (i = 0; i < s->seg->nsec; i++)
+ if (s->seg->v_sec[i] == s)
+ break;
+ if (i >= s->seg->nsec)
+ errx(EXIT_FAILURE, "Internal: section `%s' not"
+ " found in its containing segement",
+ s->name);
+ for (; i < s->seg->nsec; i++) {
+ s0 = s->seg->v_sec[i];
+ s0->lma += dl;
+#ifdef DEBUG
+ printf("section %s LMA set to %#jx\n",
+ s0->name, (uintmax_t) s0->lma);
+#endif
+ }
+ }
+ }
/*
* Issue a warning if there are VMA/LMA adjust requests for
@@ -408,7 +491,8 @@ setup_phdr(struct elfcopy *ecp)
elf_errmsg(-1));
if ((seg = calloc(1, sizeof(*seg))) == NULL)
err(EXIT_FAILURE, "calloc failed");
- seg->addr = iphdr.p_vaddr;
+ seg->vaddr = iphdr.p_vaddr;
+ seg->paddr = iphdr.p_paddr;
seg->off = iphdr.p_offset;
seg->fsz = iphdr.p_filesz;
seg->msz = iphdr.p_memsz;
@@ -429,20 +513,30 @@ copy_phdr(struct elfcopy *ecp)
if (seg->type == PT_PHDR) {
if (!TAILQ_EMPTY(&ecp->v_sec)) {
s = TAILQ_FIRST(&ecp->v_sec);
- if (s->pseudo)
- seg->addr = s->lma +
+ if (s->pseudo) {
+ seg->vaddr = s->vma +
+ gelf_fsize(ecp->eout, ELF_T_EHDR,
+ 1, EV_CURRENT);
+ seg->paddr = s->lma +
gelf_fsize(ecp->eout, ELF_T_EHDR,
1, EV_CURRENT);
+ }
}
seg->fsz = seg->msz = gelf_fsize(ecp->eout, ELF_T_PHDR,
ecp->ophnum, EV_CURRENT);
continue;
}
+ if (seg->nsec > 0) {
+ s = seg->v_sec[0];
+ seg->vaddr = s->vma;
+ seg->paddr = s->lma;
+ }
+
seg->fsz = seg->msz = 0;
for (i = 0; i < seg->nsec; i++) {
s = seg->v_sec[i];
- seg->msz = s->vma + s->sz - seg->addr;
+ seg->msz = s->vma + s->sz - seg->vaddr;
if (s->type != SHT_NOBITS)
seg->fsz = s->off + s->sz - seg->off;
}
@@ -481,8 +575,8 @@ copy_phdr(struct elfcopy *ecp)
elf_errmsg(-1));
ophdr.p_type = iphdr.p_type;
- ophdr.p_vaddr = seg->addr;
- ophdr.p_paddr = seg->addr;
+ ophdr.p_vaddr = seg->vaddr;
+ ophdr.p_paddr = seg->paddr;
ophdr.p_flags = iphdr.p_flags;
ophdr.p_align = iphdr.p_align;
ophdr.p_offset = seg->off;
diff --git a/contrib/libc++/include/__config b/contrib/libc++/include/__config
index 051d12cc716f..fe9eec4d097f 100644
--- a/contrib/libc++/include/__config
+++ b/contrib/libc++/include/__config
@@ -364,14 +364,8 @@ typedef __char32_t char32_t;
#endif
#endif
-#if (__has_feature(cxx_noexcept))
-# define _NOEXCEPT noexcept
-# define _NOEXCEPT_(x) noexcept(x)
-# define _NOEXCEPT_OR_FALSE(x) noexcept(x)
-#else
-# define _NOEXCEPT throw()
-# define _NOEXCEPT_(x)
-# define _NOEXCEPT_OR_FALSE(x) false
+#if !(__has_feature(cxx_noexcept))
+#define _LIBCPP_HAS_NO_NOEXCEPT
#endif
#if __has_feature(underlying_type)
@@ -439,10 +433,6 @@ namespace std {
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#endif
-#define _NOEXCEPT throw()
-#define _NOEXCEPT_(x)
-#define _NOEXCEPT_OR_FALSE(x) false
-
#ifndef __GXX_EXPERIMENTAL_CXX0X__
#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
@@ -456,6 +446,7 @@ namespace std {
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
#define _LIBCPP_HAS_NO_STRONG_ENUMS
+#define _LIBCPP_HAS_NO_NOEXCEPT
#else // __GXX_EXPERIMENTAL_CXX0X__
@@ -479,6 +470,7 @@ namespace std {
#endif // _GNUC_VER < 404
#if _GNUC_VER < 406
+#define _LIBCPP_HAS_NO_NOEXCEPT
#define _LIBCPP_HAS_NO_NULLPTR
#endif
@@ -513,15 +505,14 @@ using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
+#define _LIBCPP_HAS_NO_NOEXCEPT
#define __alignof__ __alignof
#define _LIBCPP_NORETURN __declspec(noreturn)
#define _LIBCPP_UNUSED
#define _ALIGNAS(x) __declspec(align(x))
#define _LIBCPP_HAS_NO_VARIADICS
-#define _NOEXCEPT throw ()
-#define _NOEXCEPT_(x)
-#define _NOEXCEPT_OR_FALSE(x) false
+
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {
#define _LIBCPP_END_NAMESPACE_STD }
@@ -541,14 +532,11 @@ namespace std {
#define _LIBCPP_NORETURN __attribute__((noreturn))
#define _LIBCPP_UNUSED
-#define _NOEXCEPT throw()
-#define _NOEXCEPT_(x)
-#define _NOEXCEPT_OR_FALSE(x) false
-
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
#define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
+#define _LIBCPP_HAS_NO_NOEXCEPT
#define _LIBCPP_HAS_NO_NULLPTR
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_IS_BASE_OF
@@ -572,6 +560,14 @@ namespace std {
#endif // __clang__ || __GNUC__ || _MSC_VER || __IBMCPP__
+#ifndef _LIBCPP_HAS_NO_NOEXCEPT
+# define _NOEXCEPT noexcept
+# define _NOEXCEPT_(x) noexcept(x)
+#else
+# define _NOEXCEPT throw()
+# define _NOEXCEPT_(x)
+#endif
+
#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
typedef unsigned short char16_t;
typedef unsigned int char32_t;
diff --git a/contrib/libcxxrt/guard.cc b/contrib/libcxxrt/guard.cc
index f1c4c69fa6b9..34d294cf7432 100644
--- a/contrib/libcxxrt/guard.cc
+++ b/contrib/libcxxrt/guard.cc
@@ -101,7 +101,7 @@ typedef struct {
uint32_t init_half;
uint32_t lock_half;
} guard_t;
-_Static_assert(sizeof(guard_t) == sizeof(uint64_t), "");
+static_assert(sizeof(guard_t) == sizeof(uint64_t), "");
static const uint32_t LOCKED = 1;
static const uint32_t INITIALISED = static_cast<guard_lock_t>(1) << 24;
# endif
diff --git a/contrib/libxo/bin/Makefile.am b/contrib/libxo/bin/Makefile.am
deleted file mode 100644
index 3bda1be4fd29..000000000000
--- a/contrib/libxo/bin/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright 2013, Juniper Networks, Inc.
-# All rights reserved.
-# This SOFTWARE is licensed under the LICENSE provided in the
-# ../Copyright file. By downloading, installing, copying, or otherwise
-# using the SOFTWARE, you agree to be bound by the terms of that
-# LICENSE.
-
-ACLOCAL_AMFLAGS = -I m4
-
-EXTRA_DIST = gt setup.sh
-
-GT_INSTALL_DIR = ${prefix}/bin
-GT_INSTALL_FILES = gt
-
-install-data-hook:
- @echo "Installing gt ... "
- @-mkdir -p ${GT_INSTALL_DIR}
- @for file in ${GT_INSTALL_FILES} ; do \
- if [ -f $$file ]; then \
- rfile=$$file ; \
- else \
- rfile=${srcdir}/$$file ; \
- fi ; \
- mdir=${GT_INSTALL_DIR}/ ; \
- mkdir -p $$mdir ; \
- cp $$rfile $$mdir/ ; \
- done
- @${CHMOD} a+x ${GT_INSTALL_DIR}/gt
diff --git a/contrib/libxo/bin/Zaliases b/contrib/libxo/bin/Zaliases
deleted file mode 100644
index 04cdec7720b3..000000000000
--- a/contrib/libxo/bin/Zaliases
+++ /dev/null
@@ -1,29 +0,0 @@
-set top_src=`pwd`
-alias Zautoreconf "(cd $top_src ; autoreconf)"
-
-set opts=' \
---with-libslax-prefix=/Users/phil/work/root \
---enable-debug \
---enable-warnings \
---enable-printflike \
---with-gettext=/opt/local \
---prefix ${HOME}/work/root \
-'
-set opts=`echo $opts`
-
-setenv CONFIGURE_OPTS "$opts"
-setenv ADB_PATH $top_src/build/libxo/.libs
-
-alias Zconfigure "(cd $top_src/build; ../configure $opts)"
-alias Zbuild "(cd $top_src/build; make \!* )"
-alias mi "(cd $top_src/build; make && make install); ."
-
-mkdir -p build
-cd build
-
-
-alias xx 'cc -I.. -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Werror -Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment -Wformat -Wimplicit -Wmissing-declarations -Wnested-externs -Wparentheses -Wreturn-type -Wshadow -Wswitch -Wtrigraphs -Wuninitialized -Wunused -Wwrite-strings -fno-inline-functions-called-once -g -O2 -o xtest -DUNIT_TEST libxo.c'
-
-alias mm "make CFLAGS='-O0 -g'"
-
-alias mmi 'mm && mi'
diff --git a/contrib/libxo/bin/setup.sh b/contrib/libxo/bin/setup.sh
deleted file mode 100755
index f49dd48dd860..000000000000
--- a/contrib/libxo/bin/setup.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Copyright 2013, Juniper Networks, Inc.
-# All rights reserved.
-# This SOFTWARE is licensed under the LICENSE provided in the
-# ../Copyright file. By downloading, installing, copying, or otherwise
-# using the SOFTWARE, you agree to be bound by the terms of that
-# LICENSE.
-
-
-if [ ! -f configure ]; then
- vers=`autoreconf --version | head -1`
- echo "Using" $vers
-
- mkdir -p m4
-
- autoreconf --install
-
- if [ ! -f configure ]; then
- echo "Failed to create configure script"
- exit 1
- fi
-fi
-
-echo "Creating build directory ..."
-mkdir build
-
-echo "Setup is complete. To build libslax:"
-
-echo " 1) Type 'cd build ; ../configure' to configure libslax"
-echo " 2) Type 'make' to build libslax"
-echo " 3) Type 'make install' to install libslax"
-
-exit 0
diff --git a/contrib/libxo/build/.create b/contrib/libxo/build/.create
deleted file mode 100644
index e69de29bb2d1..000000000000
--- a/contrib/libxo/build/.create
+++ /dev/null
diff --git a/contrib/libxo/install-sh b/contrib/libxo/install-sh
index 377bb8687ffe..0b0fdcbba69a 100755
--- a/contrib/libxo/install-sh
+++ b/contrib/libxo/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
# This script is compatible with the BSD install script, but was written
# from scratch.
+tab=' '
nl='
'
-IFS=" "" $nl"
+IFS=" $tab$nl"
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
-# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
posix_mkdir=
# Desired mode of installed file.
@@ -97,7 +82,7 @@ dir_arg=
dst_arg=
copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
-s) stripcmd=$stripprog;;
- -t) dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
- -T) no_target_directory=true;;
+ -T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
shift
done
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -269,41 +274,15 @@ do
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
+ dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
@@ -314,74 +293,74 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
@@ -391,53 +370,51 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
esac
- eval "$initialize_posix_glob"
-
oIFS=$IFS
IFS=/
- $posix_glob set -f
+ set -f
set fnord $dstdir
shift
- $posix_glob set +f
+ set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -472,15 +449,12 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
+ set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
@@ -493,24 +467,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
diff --git a/contrib/libxo/libxo/xo_config.h.in b/contrib/libxo/libxo/xo_config.h.in
new file mode 100644
index 000000000000..614e7fec728a
--- /dev/null
+++ b/contrib/libxo/libxo/xo_config.h.in
@@ -0,0 +1,246 @@
+/* libxo/xo_config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the `asprintf' function. */
+#undef HAVE_ASPRINTF
+
+/* Define to 1 if you have the `bzero' function. */
+#undef HAVE_BZERO
+
+/* Define to 1 if you have the `ctime' function. */
+#undef HAVE_CTIME
+
+/* Define to 1 if you have the <ctype.h> header file. */
+#undef HAVE_CTYPE_H
+
+/* Define to 1 if you have the declaration of `__isthreaded', and to 0 if you
+ don't. */
+#undef HAVE_DECL___ISTHREADED
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the `dlfunc' function. */
+#undef HAVE_DLFUNC
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the `fdopen' function. */
+#undef HAVE_FDOPEN
+
+/* Define to 1 if you have the `flock' function. */
+#undef HAVE_FLOCK
+
+/* Define to 1 if you have the `getpass' function. */
+#undef HAVE_GETPASS
+
+/* Define to 1 if you have the `getprogname' function. */
+#undef HAVE_GETPROGNAME
+
+/* Define to 1 if you have the `getrusage' function. */
+#undef HAVE_GETRUSAGE
+
+/* gettext(3) */
+#undef HAVE_GETTEXT
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* humanize_number(3) */
+#undef HAVE_HUMANIZE_NUMBER
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `crypto' library (-lcrypto). */
+#undef HAVE_LIBCRYPTO
+
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define to 1 if you have the <libutil.h> header file. */
+#undef HAVE_LIBUTIL_H
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#undef HAVE_MALLOC
+
+/* Define to 1 if you have the `memmove' function. */
+#undef HAVE_MEMMOVE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Support printflike */
+#undef HAVE_PRINTFLIKE
+
+/* Define to 1 if your system has a GNU libc compatible `realloc' function,
+ and to 0 otherwise. */
+#undef HAVE_REALLOC
+
+/* Define to 1 if you have the `srand' function. */
+#undef HAVE_SRAND
+
+/* Define to 1 if you have the `sranddev' function. */
+#undef HAVE_SRANDDEV
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdio_ext.h> header file. */
+#undef HAVE_STDIO_EXT_H
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#undef HAVE_STDIO_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <stdtime/tzfile.h> header file. */
+#undef HAVE_STDTIME_TZFILE_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strcspn' function. */
+#undef HAVE_STRCSPN
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strlcpy' function. */
+#undef HAVE_STRLCPY
+
+/* Define to 1 if you have the `strspn' function. */
+#undef HAVE_STRSPN
+
+/* Have struct sockaddr_un.sun_len */
+#undef HAVE_SUN_LEN
+
+/* Define to 1 if you have the `sysctlbyname' function. */
+#undef HAVE_SYSCTLBYNAME
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <threads.h> header file. */
+#undef HAVE_THREADS_H
+
+/* thread-local setting */
+#undef HAVE_THREAD_LOCAL
+
+/* Define to 1 if you have the <tzfile.h> header file. */
+#undef HAVE_TZFILE_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `__flbf' function. */
+#undef HAVE___FLBF
+
+/* Enable debugging */
+#undef LIBXO_DEBUG
+
+/* Enable text-only rendering */
+#undef LIBXO_TEXT_ONLY
+
+/* Version number as dotted value */
+#undef LIBXO_VERSION
+
+/* Version number extra information */
+#undef LIBXO_VERSION_EXTRA
+
+/* Version number as a number */
+#undef LIBXO_VERSION_NUMBER
+
+/* Version number as string */
+#undef LIBXO_VERSION_STRING
+
+/* Enable local wcwidth implementation */
+#undef LIBXO_WCWIDTH
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#undef LT_OBJDIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to rpl_malloc if the replacement function should be used. */
+#undef malloc
+
+/* Define to rpl_realloc if the replacement function should be used. */
+#undef realloc
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/contrib/llvm/include/llvm/Support/ThreadPool.h b/contrib/llvm/include/llvm/Support/ThreadPool.h
index 745334db4450..665cec2465bf 100644
--- a/contrib/llvm/include/llvm/Support/ThreadPool.h
+++ b/contrib/llvm/include/llvm/Support/ThreadPool.h
@@ -33,6 +33,7 @@
#pragma warning(pop)
#endif
+#include <atomic>
#include <condition_variable>
#include <functional>
#include <memory>
diff --git a/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp b/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
index dd9966f9e179..25288a79a82c 100644
--- a/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -22242,7 +22242,7 @@ X86TargetLowering::EmitLoweredTLSAddr(MachineInstr *MI,
// Emit CALLSEQ_START right before the instruction.
unsigned AdjStackDown = TII.getCallFrameSetupOpcode();
MachineInstrBuilder CallseqStart =
- BuildMI(MF, DL, TII.get(AdjStackDown)).addImm(0);
+ BuildMI(MF, DL, TII.get(AdjStackDown)).addImm(0).addImm(0);
BB->insert(MachineBasicBlock::iterator(MI), CallseqStart);
// Emit CALLSEQ_END right after the instruction.
diff --git a/contrib/ofed/libcxgb4/src/cq.c b/contrib/ofed/libcxgb4/src/cq.c
index f028a22d9a60..ed5b66b4507e 100644
--- a/contrib/ofed/libcxgb4/src/cq.c
+++ b/contrib/ofed/libcxgb4/src/cq.c
@@ -697,7 +697,7 @@ static int c4iw_poll_cq_one(struct c4iw_cq *chp, struct ibv_wc *wc)
default:
PDBG("Unexpected cqe_status 0x%x for QPID=0x%0x\n",
CQE_STATUS(&cqe), CQE_QPID(&cqe));
- ret = -EINVAL;
+ wc->status = IBV_WC_FATAL_ERR;
}
}
if (wc->status && wc->status != IBV_WC_WR_FLUSH_ERR)
diff --git a/contrib/ofed/libcxgb4/src/dev.c b/contrib/ofed/libcxgb4/src/dev.c
index 322fa0c86817..33c10de237e5 100644
--- a/contrib/ofed/libcxgb4/src/dev.c
+++ b/contrib/ofed/libcxgb4/src/dev.c
@@ -54,7 +54,6 @@
struct { \
unsigned vendor; \
unsigned device; \
- unsigned chip_version; \
} hca_table[] = {
#define CH_PCI_DEVICE_ID_FUNCTION \
@@ -64,7 +63,6 @@
{ \
.vendor = PCI_VENDOR_ID_CHELSIO, \
.device = (__DeviceID), \
- .chip_version = CHELSIO_PCI_ID_CHIP_VERSION(__DeviceID), \
}
#define CH_PCI_DEVICE_ID_TABLE_DEFINE_END \
@@ -493,7 +491,8 @@ found:
}
PDBG("%s found vendor %d device %d type %d\n",
- __FUNCTION__, vendor, device, hca_table[i].chip_version);
+ __FUNCTION__, vendor, device,
+ CHELSIO_PCI_ID_CHIP_VERSION(hca_table[i].device));
dev = calloc(1, sizeof *dev);
if (!dev) {
@@ -502,7 +501,7 @@ found:
pthread_spin_init(&dev->lock, PTHREAD_PROCESS_PRIVATE);
dev->ibv_dev.ops = c4iw_dev_ops;
- dev->chip_version = hca_table[i].chip_version;
+ dev->chip_version = CHELSIO_PCI_ID_CHIP_VERSION(hca_table[i].device);
dev->abi_version = abi_version;
PDBG("%s device claimed\n", __FUNCTION__);
diff --git a/contrib/ofed/libcxgb4/src/libcxgb4.h b/contrib/ofed/libcxgb4/src/libcxgb4.h
index 7110aa30864f..30afcf301af2 100644
--- a/contrib/ofed/libcxgb4/src/libcxgb4.h
+++ b/contrib/ofed/libcxgb4/src/libcxgb4.h
@@ -69,6 +69,11 @@ static inline int dev_is_t5(struct c4iw_dev *dev)
return dev->chip_version == CHELSIO_T5;
}
+static inline int dev_is_t4(struct c4iw_dev *dev)
+{
+ return dev->chip_version == CHELSIO_T4;
+}
+
struct c4iw_context {
struct ibv_context ibv_ctx;
struct t4_dev_status_page *status_page;
diff --git a/contrib/ofed/libcxgb4/src/qp.c b/contrib/ofed/libcxgb4/src/qp.c
index 9a8629138f21..71cc49b6e8ff 100644
--- a/contrib/ofed/libcxgb4/src/qp.c
+++ b/contrib/ofed/libcxgb4/src/qp.c
@@ -362,7 +362,7 @@ int c4iw_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
err = build_rdma_read(wqe, wr, &len16);
if (err)
break;
- swsqe->read_len = wr->sg_list[0].length;
+ swsqe->read_len = wr->sg_list ? wr->sg_list[0].length : 0;
if (!qhp->wq.sq.oldest_read)
qhp->wq.sq.oldest_read = swsqe;
break;
diff --git a/contrib/ofed/libcxgb4/src/t4.h b/contrib/ofed/libcxgb4/src/t4.h
index ce48244ce340..c5120a6a61b3 100644
--- a/contrib/ofed/libcxgb4/src/t4.h
+++ b/contrib/ofed/libcxgb4/src/t4.h
@@ -328,6 +328,7 @@ struct t4_sq {
volatile u32 *udb;
size_t memsize;
u32 qid;
+ u32 bar2_qid;
void *ma_sync;
u16 in_use;
u16 size;
@@ -336,6 +337,7 @@ struct t4_sq {
u16 wq_pidx;
u16 flags;
short flush_cidx;
+ int wc_reg_available;
};
struct t4_swrqe {
@@ -348,6 +350,7 @@ struct t4_rq {
volatile u32 *udb;
size_t memsize;
u32 qid;
+ u32 bar2_qid;
u32 msn;
u32 rqt_hwaddr;
u16 rqt_size;
@@ -356,6 +359,7 @@ struct t4_rq {
u16 cidx;
u16 pidx;
u16 wq_pidx;
+ int wc_reg_available;
};
struct t4_wq {
@@ -485,14 +489,14 @@ static inline void t4_ring_sq_db(struct t4_wq *wq, u16 inc, u8 t5, u8 len16,
{
wc_wmb();
if (t5) {
- if (t5_en_wc && inc == 1) {
+ if (t5_en_wc && inc == 1 && wq->sq.wc_reg_available) {
PDBG("%s: WC wq->sq.pidx = %d; len16=%d\n",
__func__, wq->sq.pidx, len16);
copy_wqe_to_udb(wq->sq.udb + 14, wqe);
} else {
PDBG("%s: DB wq->sq.pidx = %d; len16=%d\n",
__func__, wq->sq.pidx, len16);
- writel(V_PIDX_T5(inc), wq->sq.udb);
+ writel(V_QID(wq->sq.bar2_qid) | V_PIDX_T5(inc), wq->sq.udb);
}
wc_wmb();
return;
@@ -518,14 +522,14 @@ static inline void t4_ring_rq_db(struct t4_wq *wq, u16 inc, u8 t5, u8 len16,
{
wc_wmb();
if (t5) {
- if (t5_en_wc && inc == 1) {
+ if (t5_en_wc && inc == 1 && wq->sq.wc_reg_available) {
PDBG("%s: WC wq->rq.pidx = %d; len16=%d\n",
__func__, wq->rq.pidx, len16);
copy_wqe_to_udb(wq->rq.udb + 14, wqe);
} else {
PDBG("%s: DB wq->rq.pidx = %d; len16=%d\n",
__func__, wq->rq.pidx, len16);
- writel(V_PIDX_T5(inc), wq->rq.udb);
+ writel(V_QID(wq->rq.bar2_qid) | V_PIDX_T5(inc), wq->rq.udb);
}
wc_wmb();
return;
diff --git a/contrib/ofed/libcxgb4/src/verbs.c b/contrib/ofed/libcxgb4/src/verbs.c
index 93d1e499aaaa..4d2a69d27427 100644
--- a/contrib/ofed/libcxgb4/src/verbs.c
+++ b/contrib/ofed/libcxgb4/src/verbs.c
@@ -213,7 +213,7 @@ struct ibv_cq *c4iw_create_cq(struct ibv_context *context, int cqe,
goto err3;
if (dev_is_t5(chp->rhp))
- chp->cq.ugts += 3;
+ chp->cq.ugts += 5;
else
chp->cq.ugts += 1;
chp->cq.sw_queue = calloc(chp->cq.size, sizeof *chp->cq.queue);
@@ -460,8 +460,14 @@ static struct ibv_qp *create_qp(struct ibv_pd *pd,
goto err3;
}
qhp->wq.sq.udb = dbva;
- if (dev_is_t5(qhp->rhp)) {
- qhp->wq.sq.udb += (128*(qhp->wq.sq.qid & qhp->wq.qid_mask))/4;
+ if (!dev_is_t4(qhp->rhp)) {
+ unsigned long segment_offset = 128 * (qhp->wq.sq.qid & qhp->wq.qid_mask);
+
+ if (segment_offset < c4iw_page_size) {
+ qhp->wq.sq.udb += segment_offset / 4;
+ qhp->wq.sq.wc_reg_available = 1;
+ } else
+ qhp->wq.sq.bar2_qid = qhp->wq.sq.qid & qhp->wq.qid_mask;
qhp->wq.sq.udb += 2;
}
@@ -479,8 +485,14 @@ static struct ibv_qp *create_qp(struct ibv_pd *pd,
if (dbva == MAP_FAILED)
goto err5;
qhp->wq.rq.udb = dbva;
- if (dev_is_t5(qhp->rhp)) {
- qhp->wq.rq.udb += (128*(qhp->wq.rq.qid & qhp->wq.qid_mask))/4;
+ if (!dev_is_t4(qhp->rhp)) {
+ unsigned long segment_offset = 128 * (qhp->wq.rq.qid & qhp->wq.qid_mask);
+
+ if (segment_offset < c4iw_page_size) {
+ qhp->wq.rq.udb += segment_offset / 4;
+ qhp->wq.rq.wc_reg_available = 1;
+ } else
+ qhp->wq.rq.bar2_qid = qhp->wq.rq.qid & qhp->wq.qid_mask;
qhp->wq.rq.udb += 2;
}
qhp->wq.rq.queue = mmap(NULL, qhp->wq.rq.memsize,
diff --git a/contrib/ofed/management/infiniband-diags/src/ibnetdiscover.c b/contrib/ofed/management/infiniband-diags/src/ibnetdiscover.c
index 5e092f7b0877..a79aa3e79e67 100644
--- a/contrib/ofed/management/infiniband-diags/src/ibnetdiscover.c
+++ b/contrib/ofed/management/infiniband-diags/src/ibnetdiscover.c
@@ -731,7 +731,7 @@ dump_topology(int listtype, int group)
}
fprintf(f, "\n# Spine Nodes");
- for (n = 1; n <= (SPINES_MAX_NUM+1); n++) {
+ for (n = 1; n <= (SPINES_MAX_NUM); n++) {
if (ch->spinenode[n]) {
out_switch(ch->spinenode[n], group, chname);
for (port = ch->spinenode[n]->ports; port; port = port->next, i++)
@@ -740,7 +740,7 @@ dump_topology(int listtype, int group)
}
}
fprintf(f, "\n# Line Nodes");
- for (n = 1; n <= (LINES_MAX_NUM+1); n++) {
+ for (n = 1; n <= (LINES_MAX_NUM); n++) {
if (ch->linenode[n]) {
out_switch(ch->linenode[n], group, chname);
for (port = ch->linenode[n]->ports; port; port = port->next, i++)
diff --git a/contrib/ofed/management/opensm/include/vendor/osm_vendor.h b/contrib/ofed/management/opensm/include/vendor/osm_vendor.h
index 4d0ae4c009ee..3cde781212d8 100644
--- a/contrib/ofed/management/opensm/include/vendor/osm_vendor.h
+++ b/contrib/ofed/management/opensm/include/vendor/osm_vendor.h
@@ -65,7 +65,7 @@
#include <vendor/osm_vendor_ibumad.h>
#elif defined( OSM_VENDOR_INTF_AL )
#include <vendor/osm_vendor_al.h>
-#elif
+#else
#error No MAD Interface selected!
#error Choose an interface in osm_config.h
#endif
diff --git a/etc/autofs/special_hosts b/etc/autofs/special_hosts
index f81449d43107..c49854681451 100644
--- a/etc/autofs/special_hosts
+++ b/etc/autofs/special_hosts
@@ -10,8 +10,8 @@ if [ $# -eq 0 ]; then
exit 0
fi
-out=`showmount -e "$1"`
+out=`showmount -E "$1"`
[ $? -eq 0 ] || exit 1
echo "$out" | awk -v host="$1" \
- 'NR > 1 { printf "%s\t%s:%s ", $1, host, $1 } END { printf "\n" }'
+ '{ printf "\"%s\"\t\"%s:%s\" ", $0, host, $0 } END { printf "\n" }'
diff --git a/etc/autofs/special_media b/etc/autofs/special_media
index 32f947825aa9..1e2c2552183e 100755
--- a/etc/autofs/special_media
+++ b/etc/autofs/special_media
@@ -21,6 +21,7 @@ print_available() {
_label="${_fstype_and_label#* }"
# Replace plus signs and slashes with minuses;
# leading plus signs have special meaning in maps,
+ # and multi-component keys are just not supported.
_label="$(echo ${_label} | sed 's,[+/],-,g')"
echo "${_label}"
continue
@@ -31,6 +32,26 @@ print_available() {
}
# Print a single map entry.
+print_map_entry() {
+ local _fstype _p
+
+ _fstype="$1"
+ _p="$2"
+
+ if [ "${_fstype}" = "ntfs" ]; then
+ if [ -f "/usr/local/bin/ntfs-3g" ]; then
+ echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid :/dev/${_p}"
+ else
+ /usr/bin/logger -p info -t "special_media[$$]" \
+ "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first"
+ exit 1
+ fi
+ else
+ echo "-fstype=${_fstype},nosuid :/dev/${_p}"
+ fi
+}
+
+# Determine map entry contents for the given key and print out the entry.
print_one() {
local _fstype _fstype_and_label _label _key _p
@@ -38,7 +59,7 @@ print_one() {
_fstype="$(fstyp "/dev/${_key}" 2> /dev/null)"
if [ $? -eq 0 ]; then
- echo "-fstype=${_fstype},nosuid :/dev/${_key}"
+ print_map_entry "${_fstype}" "${_key}"
return
fi
@@ -66,7 +87,7 @@ print_one() {
continue
fi
- echo "-fstype=${_fstype},nosuid :/dev/${_p}"
+ print_map_entry "${_fstype}" "${_p}"
done
# No matching device - don't print anything, autofs will handle it.
diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist
index 12a4ef616f78..44e9c3edea94 100644
--- a/etc/mtree/BSD.usr.dist
+++ b/etc/mtree/BSD.usr.dist
@@ -428,6 +428,8 @@
uefisign
..
..
+ firmware
+ ..
games
fortune
..
diff --git a/etc/rc.d/msgs b/etc/rc.d/msgs
index 6031acc7337d..8bcc26c10729 100755
--- a/etc/rc.d/msgs
+++ b/etc/rc.d/msgs
@@ -6,8 +6,20 @@
# PROVIDE: msgs
# REQUIRE: LOGIN
-# Make a bounds file for msgs(1) if there isn't one already
-#
-if [ -d /var/msgs -a ! -f /var/msgs/bounds -a ! -L /var/msgs/bounds ]; then
- echo 0 > /var/msgs/bounds
-fi
+. /etc/rc.subr
+
+name="msgs"
+start_cmd="msgs_start"
+stop_cmd=":"
+
+msgs_start()
+{
+ # Make a bounds file for msgs(1) if there isn't one already
+ #
+ if [ -d /var/msgs -a ! -f /var/msgs/bounds -a ! -L /var/msgs/bounds ]; then
+ echo 0 > /var/msgs/bounds
+ fi
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/etc/rc.d/pf b/etc/rc.d/pf
index 8dcc40d466eb..323e639edf11 100755
--- a/etc/rc.d/pf
+++ b/etc/rc.d/pf
@@ -66,7 +66,11 @@ pf_resync()
pf_status()
{
- $pf_program -s info
+ if ! [ -c /dev/pf ] ; then
+ echo "pf.ko is not loaded"
+ else
+ $pf_program -s info
+ fi
}
run_rc_command "$1"
diff --git a/gnu/lib/csu/Makefile b/gnu/lib/csu/Makefile
index 92d49dc17d43..431baac607c5 100644
--- a/gnu/lib/csu/Makefile
+++ b/gnu/lib/csu/Makefile
@@ -22,7 +22,6 @@ CFLAGS+= -fno-inline-functions -fno-exceptions \
CFLAGS+= -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \
-I${CCDIR}/cc_tools
CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG}
-MKDEP= -DCRT_BEGIN
.if ${TARGET_CPUARCH} == "arm"
CFLAGS+= -DTARGET_ARM_EABI
diff --git a/include/paths.h b/include/paths.h
index af18c26e2b2c..3fa54dc10814 100644
--- a/include/paths.h
+++ b/include/paths.h
@@ -56,6 +56,7 @@
#define _PATH_DRUM "/dev/drum"
#define _PATH_ESDB "/usr/share/i18n/esdb"
#define _PATH_ETC "/etc"
+#define _PATH_FIRMWARE "/usr/share/firmware"
#define _PATH_FTPUSERS "/etc/ftpusers"
#define _PATH_FWMEM "/dev/fwmem"
#define _PATH_GBDE "/sbin/gbde"
diff --git a/include/stdlib.h b/include/stdlib.h
index d5506ff65ea4..8a645c0737c1 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -125,7 +125,7 @@ size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t);
*
* (The only other extension made by C99 in thie header is _Exit().)
*/
-#if __ISO_C_VISIBLE >= 1999
+#if __ISO_C_VISIBLE >= 1999 || defined(__cplusplus)
#ifdef __LONG_LONG_SUPPORTED
/* LONGLONG */
typedef struct {
diff --git a/kerberos5/Makefile b/kerberos5/Makefile
index c93126df40ff..e78084f6d161 100644
--- a/kerberos5/Makefile
+++ b/kerberos5/Makefile
@@ -14,7 +14,6 @@ kerberize:
cd ${.CURDIR}/../${entry}; \
${MAKE} cleandir; \
${MAKE} obj; \
- ${MAKE} depend; \
${MAKE} all; \
${MAKE} install
.endfor
@@ -25,7 +24,6 @@ dekerberize:
cd ${.CURDIR}/../${entry}; \
${MAKE} MK_KERBEROS=no cleandir; \
${MAKE} MK_KERBEROS=no obj; \
- ${MAKE} MK_KERBEROS=no depend; \
${MAKE} MK_KERBEROS=no all; \
${MAKE} MK_KERBEROS=no install
.endfor
diff --git a/kerberos5/lib/libroken/Makefile b/kerberos5/lib/libroken/Makefile
index aade99ae625b..8bd27e629605 100644
--- a/kerberos5/lib/libroken/Makefile
+++ b/kerberos5/lib/libroken/Makefile
@@ -76,7 +76,6 @@ SRCS= base64.c \
write_pid.c \
xfree.c
-CPPFLAGS+= -DBUILD_ROKEN_LIB
CFLAGS+=-I${KRB5DIR}/lib/roken -I.
CLEANFILES= roken.h
diff --git a/lib/clang/libllvmsupport/Makefile b/lib/clang/libllvmsupport/Makefile
index c82807341f5d..cc6c6882297b 100644
--- a/lib/clang/libllvmsupport/Makefile
+++ b/lib/clang/libllvmsupport/Makefile
@@ -113,4 +113,3 @@ SRCS+= StringPool.cpp
# Ugly hack to work around CLOCK_PROCESS_CPUTIME_ID not being properly defined
# between r239347 and r245428.
CXXFLAGS.Process.cpp= -DCLOCK_PROCESS_CPUTIME_ID=15
-CXXFLAGS+= ${CXXFLAGS.${.IMPSRC:T}}
diff --git a/lib/csu/powerpc64/Makefile b/lib/csu/powerpc64/Makefile
index 09b643e1b3ad..a97ef1ef3e40 100644
--- a/lib/csu/powerpc64/Makefile
+++ b/lib/csu/powerpc64/Makefile
@@ -13,8 +13,11 @@ CFLAGS+= -I${.CURDIR}/../common \
# clang doesn't support -mlongcall, and testing shows a clang linked with a
# clang-built csu segfaults, this must currently be compiled with gcc. Once
# clang supports -mlongcall, or we get a fixed ld, this can be revisited.
+.include <bsd.compiler.mk>
+.if ${COMPILER_TYPE} != "gcc"
CC:= gcc
COMPILER_TYPE:= gcc
+.endif
FILES= ${OBJS}
FILESMODE= ${LIBMODE}
diff --git a/lib/libc/Makefile b/lib/libc/Makefile
index 17b9720f3605..3b72a1bbf32f 100644
--- a/lib/libc/Makefile
+++ b/lib/libc/Makefile
@@ -6,6 +6,9 @@ SHLIBDIR?= /lib
.include <src.opts.mk>
+# Force building of libc_pic.a
+MK_TOOLCHAIN= yes
+
LIBC_SRCTOP?= ${.CURDIR}
# Pick the current architecture directory for libc. In general, this is
diff --git a/lib/libc/aarch64/Symbol.map b/lib/libc/aarch64/Symbol.map
index 84c38d8dac68..0c00ec281097 100644
--- a/lib/libc/aarch64/Symbol.map
+++ b/lib/libc/aarch64/Symbol.map
@@ -36,7 +36,5 @@ FBSD_1.0 {
FBSDprivate_1.0 {
_set_tp;
_end;
- curbrk;
- minbrk;
__makecontext;
};
diff --git a/lib/libc/amd64/Symbol.map b/lib/libc/amd64/Symbol.map
index bbf611396b79..5354d66bcc38 100644
--- a/lib/libc/amd64/Symbol.map
+++ b/lib/libc/amd64/Symbol.map
@@ -63,8 +63,6 @@ FBSDprivate_1.0 {
__signalcontext;
signalcontext;
__siglongjmp;
- .curbrk;
- .minbrk;
_brk;
_end;
__sys_vfork;
diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map
index cf65492c3050..3c5c80f1a74e 100644
--- a/lib/libc/arm/Symbol.map
+++ b/lib/libc/arm/Symbol.map
@@ -29,7 +29,6 @@ FBSD_1.0 {
ntohs;
vfork;
brk;
- cerror; /* XXX - Should this be .cerror (see sys/cerror.S)? */
sbrk;
};
@@ -60,8 +59,6 @@ FBSDprivate_1.0 {
_vfork;
_brk;
_end;
- curbrk;
- minbrk;
_sbrk;
/* softfloat */
diff --git a/lib/libc/db/mpool/Makefile.inc b/lib/libc/db/mpool/Makefile.inc
index bab7e6d2234f..76ec0ebe5cd2 100644
--- a/lib/libc/db/mpool/Makefile.inc
+++ b/lib/libc/db/mpool/Makefile.inc
@@ -3,4 +3,7 @@
.PATH: ${LIBC_SRCTOP}/db/mpool
-SRCS+= mpool.c mpool-compat.c
+SRCS+= mpool.c
+.if ${MK_SYMVER} == yes
+SRCS+= mpool-compat.c
+.endif
diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc
index 7de8ce33d647..a68f5c7ff13f 100644
--- a/lib/libc/gen/Makefile.inc
+++ b/lib/libc/gen/Makefile.inc
@@ -49,7 +49,6 @@ SRCS+= __getosreldate.c \
fstab.c \
ftok.c \
fts.c \
- fts-compat.c \
ftw.c \
getbootfile.c \
getbsize.c \
@@ -137,7 +136,6 @@ SRCS+= __getosreldate.c \
ualarm.c \
ulimit.c \
uname.c \
- unvis-compat.c \
usleep.c \
utime.c \
utxdb.c \
@@ -147,6 +145,10 @@ SRCS+= __getosreldate.c \
waitpid.c \
waitid.c \
wordexp.c
+.if ${MK_SYMVER} == yes
+SRCS+= fts-compat.c \
+ unvis-compat.c
+.endif
.PATH: ${LIBC_SRCTOP}/../../contrib/libc-pwcache
SRCS+= pwcache.c pwcache.h
diff --git a/lib/libc/i386/Symbol.map b/lib/libc/i386/Symbol.map
index 78be4c40bc59..20dbc3e9cfcd 100644
--- a/lib/libc/i386/Symbol.map
+++ b/lib/libc/i386/Symbol.map
@@ -64,6 +64,4 @@ FBSDprivate_1.0 {
_vfork;
_end;
_brk;
- .curbrk;
- .minbrk;
};
diff --git a/lib/libc/iconv/Makefile.inc b/lib/libc/iconv/Makefile.inc
index 5442f79c6e01..3b247376c399 100644
--- a/lib/libc/iconv/Makefile.inc
+++ b/lib/libc/iconv/Makefile.inc
@@ -14,7 +14,11 @@ SRCS+= citrus_bcs.c citrus_bcs_strtol.c citrus_bcs_strtoul.c \
citrus_esdb.c citrus_hash.c citrus_iconv.c citrus_lookup.c \
citrus_lookup_factory.c citrus_mapper.c citrus_memstream.c \
citrus_mmap.c citrus_module.c citrus_none.c citrus_pivot_factory.c \
- citrus_prop.c citrus_stdenc.c bsd_iconv.c iconv_compat.c
+ citrus_prop.c citrus_stdenc.c bsd_iconv.c
+.if ${MK_SYMVER} == yes
+SRCS+= iconv_compat.c
+.endif
+
SYM_MAPS+= ${LIBC_SRCTOP}/iconv/Symbol.map
.if ${MK_ICONV} == yes
diff --git a/lib/libc/locale/euc.c b/lib/libc/locale/euc.c
index c2a2e3b9a7b1..2fe40462e9be 100644
--- a/lib/libc/locale/euc.c
+++ b/lib/libc/locale/euc.c
@@ -132,7 +132,7 @@ _EUC_CN_init(struct xlocale_ctype *l, _RuneLocale *rl)
l->runes = rl;
l->__mb_cur_max = 4;
- l->__mb_sb_limit = 256;
+ l->__mb_sb_limit = 128;
return (0);
}
@@ -226,7 +226,7 @@ _EUC_JP_init(struct xlocale_ctype *l, _RuneLocale *rl)
l->runes = rl;
l->__mb_cur_max = 3;
- l->__mb_sb_limit = 196;
+ l->__mb_sb_limit = 128;
return (0);
}
@@ -273,7 +273,7 @@ _EUC_TW_init(struct xlocale_ctype *l, _RuneLocale *rl)
l->runes = rl;
l->__mb_cur_max = 4;
- l->__mb_sb_limit = 256;
+ l->__mb_sb_limit = 128;
return (0);
}
diff --git a/lib/libc/locale/mskanji.c b/lib/libc/locale/mskanji.c
index dc2d0e155d3a..c7da4b5e8c0f 100644
--- a/lib/libc/locale/mskanji.c
+++ b/lib/libc/locale/mskanji.c
@@ -83,7 +83,7 @@ _MSKanji_init(struct xlocale_ctype *l, _RuneLocale *rl)
l->__mbsinit = _MSKanji_mbsinit;
l->runes = rl;
l->__mb_cur_max = 2;
- l->__mb_sb_limit = 256;
+ l->__mb_sb_limit = 224;
return (0);
}
diff --git a/lib/libc/mips/Symbol.map b/lib/libc/mips/Symbol.map
index d7fbd0adc5d0..38680807adc4 100644
--- a/lib/libc/mips/Symbol.map
+++ b/lib/libc/mips/Symbol.map
@@ -28,7 +28,6 @@ FBSD_1.0 {
ntohs;
vfork;
brk;
- cerror; /* XXX - Should this be .cerror (see sys/cerror.S)? */
sbrk;
};
@@ -52,8 +51,6 @@ FBSDprivate_1.0 {
__sys_vfork;
_vfork;
_end;
- __curbrk;
- minbrk;
_brk;
_sbrk;
diff --git a/lib/libc/net/Makefile.inc b/lib/libc/net/Makefile.inc
index 6f51f08f236b..304c465b8545 100644
--- a/lib/libc/net/Makefile.inc
+++ b/lib/libc/net/Makefile.inc
@@ -35,7 +35,6 @@ YFLAGS+=-p_nsyy
LFLAGS+=-P_nsyy
CFLAGS.nslexer.c= -DYY_BUF_SIZE=1024
-CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
MAN+= byteorder.3 ethers.3 eui64.3 \
getaddrinfo.3 gai_strerror.3 gethostbyname.3 \
diff --git a/lib/libc/posix1e/Makefile.inc b/lib/libc/posix1e/Makefile.inc
index 2cc415818973..85fed32c140e 100644
--- a/lib/libc/posix1e/Makefile.inc
+++ b/lib/libc/posix1e/Makefile.inc
@@ -11,7 +11,6 @@ subr_acl_nfs4.c: ${LIBC_SRCTOP}/../../sys/kern/subr_acl_nfs4.c
SRCS+= acl_branding.c \
acl_calc_mask.c \
acl_copy.c \
- acl_compat.c \
acl_delete.c \
acl_delete_entry.c \
acl_entry.c \
@@ -36,6 +35,9 @@ SRCS+= acl_branding.c \
mac_get.c \
mac_set.c \
subr_acl_nfs4.c
+.if ${MK_SYMVER} == yes
+SRCS+= acl_compat.c
+.endif
SYM_MAPS+=${LIBC_SRCTOP}/posix1e/Symbol.map
diff --git a/lib/libc/powerpc/Symbol.map b/lib/libc/powerpc/Symbol.map
index 10b7c574e566..f695c81bb27f 100644
--- a/lib/libc/powerpc/Symbol.map
+++ b/lib/libc/powerpc/Symbol.map
@@ -56,7 +56,4 @@ FBSDprivate_1.0 {
__signalcontext;
__syncicache;
_end;
- .curbrk;
- .minbrk;
- .cerror;
};
diff --git a/lib/libc/powerpc64/Symbol.map b/lib/libc/powerpc64/Symbol.map
index 018a19382ecd..c429e84ab5fd 100644
--- a/lib/libc/powerpc64/Symbol.map
+++ b/lib/libc/powerpc64/Symbol.map
@@ -52,7 +52,4 @@ FBSDprivate_1.0 {
__signalcontext;
__syncicache;
_end;
- _curbrk;
- _minbrk;
- _cerror;
};
diff --git a/lib/libc/riscv/Symbol.map b/lib/libc/riscv/Symbol.map
index 84c38d8dac68..0c00ec281097 100644
--- a/lib/libc/riscv/Symbol.map
+++ b/lib/libc/riscv/Symbol.map
@@ -36,7 +36,5 @@ FBSD_1.0 {
FBSDprivate_1.0 {
_set_tp;
_end;
- curbrk;
- minbrk;
__makecontext;
};
diff --git a/lib/libc/secure/Makefile.inc b/lib/libc/secure/Makefile.inc
index 6f18bded1ff5..e2e75c70603b 100644
--- a/lib/libc/secure/Makefile.inc
+++ b/lib/libc/secure/Makefile.inc
@@ -5,8 +5,9 @@
.PATH: ${LIBC_SRCTOP}/secure
# Sources common to both syscall interfaces:
-SRCS+= \
- stack_protector.c \
- stack_protector_compat.c
+SRCS+= stack_protector.c
+.if ${MK_SYMVER} == yes
+SRCS+= stack_protector_compat.c
+.endif
SYM_MAPS+= ${LIBC_SRCTOP}/secure/Symbol.map
diff --git a/lib/libc/sparc64/Symbol.map b/lib/libc/sparc64/Symbol.map
index 4f90486daf4a..1dc3d150ab3d 100644
--- a/lib/libc/sparc64/Symbol.map
+++ b/lib/libc/sparc64/Symbol.map
@@ -80,11 +80,8 @@ FBSDprivate_1.0 {
signalcontext;
__signalcontext;
__siglongjmp;
- .curbrk;
- .minbrk;
__sys_brk;
_brk;
- .cerror;
__sys_exect;
_exect;
_end;
diff --git a/lib/libc/stdio/open_memstream.3 b/lib/libc/stdio/open_memstream.3
index 1a0cb0753aba..8e2c1e9e057f 100644
--- a/lib/libc/stdio/open_memstream.3
+++ b/lib/libc/stdio/open_memstream.3
@@ -144,8 +144,8 @@ Memory for the stream or buffer could not be allocated.
.Xr fopen 3 ,
.Xr free 3 ,
.Xr fseek 3 ,
-.Xr sbuf 3 ,
-.Xr stdio 3
+.Xr stdio 3 ,
+.Xr sbuf 9
.Sh STANDARDS
The
.Fn open_memstream
diff --git a/lib/libc/stdtime/Makefile.inc b/lib/libc/stdtime/Makefile.inc
index 3220cc91367f..9b53ba572584 100644
--- a/lib/libc/stdtime/Makefile.inc
+++ b/lib/libc/stdtime/Makefile.inc
@@ -12,7 +12,6 @@ SYM_MAPS+= ${LIBC_SRCTOP}/stdtime/Symbol.map
CFLAGS+= -I${LIBC_SRCTOP}/../../contrib/tzcode/stdtime -I${LIBC_SRCTOP}/stdtime
CFLAGS.localtime.c= -fwrapv
-CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
MAN+= ctime.3 strftime.3 strptime.3 time2posix.3
MAN+= tzfile.5
diff --git a/lib/libc/sys/aio_return.2 b/lib/libc/sys/aio_return.2
index 2ef6c25953f7..df558734ed41 100644
--- a/lib/libc/sys/aio_return.2
+++ b/lib/libc/sys/aio_return.2
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 7, 2006
+.Dd March 21, 2016
.Dt AIO_RETURN 2
.Os
.Sh NAME
@@ -34,7 +34,7 @@
.Lb libc
.Sh SYNOPSIS
.In aio.h
-.Ft int
+.Ft ssize_t
.Fn aio_return "struct aiocb *iocb"
.Sh DESCRIPTION
The
diff --git a/lib/libc/sys/aio_waitcomplete.2 b/lib/libc/sys/aio_waitcomplete.2
index 885b3d7fa481..66e7208d7b48 100644
--- a/lib/libc/sys/aio_waitcomplete.2
+++ b/lib/libc/sys/aio_waitcomplete.2
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 19, 2000
+.Dd March 21, 2016
.Dt AIO_WAITCOMPLETE 2
.Os
.Sh NAME
@@ -34,7 +34,7 @@
.Lb libc
.Sh SYNOPSIS
.In aio.h
-.Ft int
+.Ft ssize_t
.Fn aio_waitcomplete "struct aiocb **iocbp" "struct timespec *timeout"
.Sh DESCRIPTION
The
diff --git a/lib/libc/sys/ktrace.2 b/lib/libc/sys/ktrace.2
index 4e5d92af837c..b02a6724bc3a 100644
--- a/lib/libc/sys/ktrace.2
+++ b/lib/libc/sys/ktrace.2
@@ -28,7 +28,7 @@
.\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93
.\" $FreeBSD$
.\"
-.Dd October 10, 2011
+.Dd March 31, 2016
.Dt KTRACE 2
.Os
.Sh NAME
@@ -94,6 +94,8 @@ generate much output).
.It KTRFAC_PROCCTOR Ta "Trace process construction."
.It KTRFAC_PROCDTOR Ta "Trace process destruction."
.It KTRFAC_CAPFAIL Ta "Trace capability failures."
+.It KTRFAC_FAULT Ta "Trace page faults."
+.It KTRFAC_FAULTEND Ta "Trace the end of page faults."
.It KTRFAC_INHERIT Ta "Inherit tracing to future children."
.El
.Pp
diff --git a/lib/libc/sys/modfind.2 b/lib/libc/sys/modfind.2
index 3f485798a6c9..38d09c4ee9f3 100644
--- a/lib/libc/sys/modfind.2
+++ b/lib/libc/sys/modfind.2
@@ -49,7 +49,7 @@ The
.Fn modfind
system call
returns the modid of the kernel module referenced by
-.Fa file .
+.Fa modname .
Upon error,
.Fn modfind
returns -1 and sets
diff --git a/lib/libc/sys/ptrace.2 b/lib/libc/sys/ptrace.2
index 786f4576db9b..10ad660fe9e4 100644
--- a/lib/libc/sys/ptrace.2
+++ b/lib/libc/sys/ptrace.2
@@ -103,7 +103,7 @@ be ignored.
If the child was created by
.Xr vfork 2
system call or
-.Xr rfork(2)
+.Xr rfork 2
call with the
.Dv RFMEM
flag specified, the debugging events are reported to the parent
diff --git a/lib/libc/tests/ssp/Makefile b/lib/libc/tests/ssp/Makefile
index 09adf97d5560..11ccca9c0402 100644
--- a/lib/libc/tests/ssp/Makefile
+++ b/lib/libc/tests/ssp/Makefile
@@ -36,7 +36,7 @@ PROGS+= h_memset
#
# sanitizer is not tested or supported for ARM right now. sbruno
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
-.if ${COMPILER_TYPE} == "clang"
+.if ${COMPILER_TYPE} == "clang" && ${MK_TOOLCHAIN} == "yes"
.if ${COMPILER_VERSION} < 30500 || 30700 <= ${COMPILER_VERSION}
PROGS+= h_raw
.endif
diff --git a/lib/libclang_rt/asan_dynamic/Makefile b/lib/libclang_rt/asan_dynamic/Makefile
index 8be3903d7eb0..8bd44e7be339 100644
--- a/lib/libclang_rt/asan_dynamic/Makefile
+++ b/lib/libclang_rt/asan_dynamic/Makefile
@@ -101,4 +101,3 @@ CXXFLAGS.ubsan_handlers_cxx.cc= -frtti
CXXFLAGS.ubsan_type_hash.cc= -frtti
CXXFLAGS.ubsan_type_hash_itanium.cc= -frtti
CXXFLAGS.ubsan_type_hash_win.cc= -frtti
-CXXFLAGS+= ${CXXFLAGS.${.IMPSRC:T}}
diff --git a/lib/libcxxrt/Makefile b/lib/libcxxrt/Makefile
index 8f3d9c54c3b7..15420a692b9f 100644
--- a/lib/libcxxrt/Makefile
+++ b/lib/libcxxrt/Makefile
@@ -21,7 +21,10 @@ SRCS+= libelftc_dem_gnu3.c\
guard.cc
WARNS= 0
-CFLAGS+= -I${SRCDIR}
+CFLAGS+= -I${SRCDIR} -nostdinc++
+.if empty(CXXFLAGS:M-std=*)
+CXXFLAGS+= -std=c++11
+.endif
VERSION_MAP= ${.CURDIR}/Version.map
.include <bsd.lib.mk>
diff --git a/lib/libdevinfo/Makefile b/lib/libdevinfo/Makefile
index 6c0927ee0b41..4849c7acd5dc 100644
--- a/lib/libdevinfo/Makefile
+++ b/lib/libdevinfo/Makefile
@@ -6,6 +6,8 @@ SRCS= devinfo.c
INCS= devinfo.h
MAN= devinfo.3
+SHLIB_MAJOR= 6
+
WARNS?= 3
.include <bsd.lib.mk>
diff --git a/lib/libfetch/fetch.3 b/lib/libfetch/fetch.3
index 0ad91660bfb9..e04917ebcb42 100644
--- a/lib/libfetch/fetch.3
+++ b/lib/libfetch/fetch.3
@@ -1,6 +1,6 @@
.\"-
.\" Copyright (c) 1998-2013 Dag-Erling Smørgrav
-.\" Copyright (c) 2013 Michael Gmelin <freebsd@grem.de>
+.\" Copyright (c) 2013-2016 Michael Gmelin <freebsd@grem.de>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 29, 2015
+.Dd March 18, 2016
.Dt FETCH 3
.Os
.Sh NAME
@@ -396,8 +396,15 @@ is currently unimplemented.
.Sh HTTPS SCHEME
Based on HTTP SCHEME.
By default the peer is verified using the CA bundle located in
-.Pa /etc/ssl/cert.pem .
-The file may contain multiple CA certificates.
+.Pa /usr/local/etc/ssl/cert.pem .
+If this file does not exist,
+.Pa /etc/ssl/cert.pem
+is used instead.
+If neither file exists, and
+.Ev SSL_CA_CERT_PATH
+has not been set,
+OpenSSL's default CA cert and path settings apply.
+The certificate bundle can contain multiple CA certificates.
A common source of a current CA bundle is
.Pa \%security/ca_root_nss .
.Pp
@@ -428,10 +435,11 @@ Client certificate based authentication is supported.
The environment variable
.Ev SSL_CLIENT_CERT_FILE
should be set to point to a file containing key and client certificate
-to be used in PEM format. In case the key is stored in a separate
-file, the environment variable
+to be used in PEM format.
+When a PEM-format key is in a separate file from the client certificate,
+the environment variable
.Ev SSL_CLIENT_KEY_FILE
-can be set to point to the key in PEM format.
+can be set to point to the key file.
In case the key uses a password, the user will be prompted on standard
input (see
.Xr PEM 3 ) .
@@ -531,7 +539,7 @@ Invalid URL
.El
.Pp
The accompanying error message includes a protocol-specific error code
-and message, e.g.\& "File is not available (404 Not Found)"
+and message, like "File is not available (404 Not Found)"
.Sh ENVIRONMENT
.Bl -tag -width ".Ev FETCH_BIND_ADDRESS"
.It Ev FETCH_BIND_ADDRESS
@@ -648,8 +656,7 @@ for compatibility.
Allow SSL version 3 when negotiating the connection (not recommended).
.It Ev SSL_CA_CERT_FILE
CA certificate bundle containing trusted CA certificates.
-Default value:
-.Pa /etc/ssl/cert.pem .
+Default value: See HTTPS SCHEME above.
.It Ev SSL_CA_CERT_PATH
Path containing trusted CA hashes.
.It Ev SSL_CLIENT_CERT_FILE
@@ -717,7 +724,6 @@ SSL_CA_CERT_FILE=/path/to/myca.pem
.Ed
.Sh SEE ALSO
.Xr fetch 1 ,
-.Xr ftpio 3 ,
.Xr ip 4
.Rs
.%A J. Postel
diff --git a/lib/libkvm/kvm_amd64.c b/lib/libkvm/kvm_amd64.c
index 1ba17f1efe37..70789f4c989d 100644
--- a/lib/libkvm/kvm_amd64.c
+++ b/lib/libkvm/kvm_amd64.c
@@ -227,7 +227,7 @@ _amd64_vatop(kvm_t *kd, kvaddr_t va, off_t *pa)
/*
* No next-level page table; pdpe describes one 1GB page.
*/
- a = (pde & AMD64_PG_1GB_FRAME) + (va & AMD64_PDPMASK);
+ a = (pdpe & AMD64_PG_1GB_FRAME) + (va & AMD64_PDPMASK);
s = _kvm_pa2off(kd, a, pa);
if (s == 0) {
_kvm_err(kd, kd->program,
diff --git a/lib/libstand/Makefile b/lib/libstand/Makefile
index 835b535d327b..0ebcaf1ccfdb 100644
--- a/lib/libstand/Makefile
+++ b/lib/libstand/Makefile
@@ -26,7 +26,7 @@ WARNS?= 0
CFLAGS+= -I${LIBSTAND_SRC}
# standalone components and stuff we have modified locally
-SRCS+= gzguts.h zutil.h __main.c assert.c bcd.c bswap.c environment.c getopt.c gets.c \
+SRCS+= gzguts.h zutil.h __main.c assert.c bcd.c environment.c getopt.c gets.c \
globals.c pager.c printf.c strdup.c strerror.c strtol.c strtoul.c random.c \
sbrk.c twiddle.c zalloc.c zalloc_malloc.c
diff --git a/lib/libstand/bootp.c b/lib/libstand/bootp.c
index 1af7bd5da113..f3bc81697911 100644
--- a/lib/libstand/bootp.c
+++ b/lib/libstand/bootp.c
@@ -39,6 +39,7 @@
__FBSDID("$FreeBSD$");
#include <sys/types.h>
+#include <sys/endian.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
@@ -393,6 +394,13 @@ vend_rfc1048(cp, len)
val = (const char *)cp;
strlcpy(hostname, val, sizeof(hostname));
}
+ if (tag == TAG_INTF_MTU) {
+ if ((val = getenv("dhcp.interface-mtu")) != NULL) {
+ intf_mtu = (u_int)strtoul(val, NULL, 0);
+ } else {
+ intf_mtu = be16dec(cp);
+ }
+ }
#ifdef SUPPORT_DHCP
if (tag == TAG_DHCP_MSGTYPE) {
if(*cp != expected_dhcpmsgtype)
diff --git a/lib/libstand/bootp.h b/lib/libstand/bootp.h
index ed9101f3ea89..47e5649ce9a0 100644
--- a/lib/libstand/bootp.h
+++ b/lib/libstand/bootp.h
@@ -91,6 +91,7 @@ struct bootp {
#define TAG_DOMAINNAME ((unsigned char) 15)
#define TAG_SWAPSERVER ((unsigned char) 16)
#define TAG_ROOTPATH ((unsigned char) 17)
+#define TAG_INTF_MTU ((unsigned char) 26)
#ifdef SUPPORT_DHCP
#define TAG_REQ_ADDR ((unsigned char) 50)
diff --git a/lib/libstand/bswap.c b/lib/libstand/bswap.c
deleted file mode 100644
index 308edda63085..000000000000
--- a/lib/libstand/bswap.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Written by Manuel Bouyer <bouyer@netbsd.org>.
- * Public domain.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$NetBSD: bswap32.c,v 1.1 1997/10/09 15:42:33 bouyer Exp $";
-static char *rcsid = "$NetBSD: bswap64.c,v 1.3 2009/03/16 05:59:21 cegger Exp $";
-#endif
-
-#include <sys/types.h>
-
-#undef bswap32
-#undef bswap64
-
-u_int32_t bswap32(u_int32_t x);
-u_int64_t bswap64(u_int64_t x);
-
-u_int32_t
-bswap32(u_int32_t x)
-{
- return ((x << 24) & 0xff000000 ) |
- ((x << 8) & 0x00ff0000 ) |
- ((x >> 8) & 0x0000ff00 ) |
- ((x >> 24) & 0x000000ff );
-}
-
-u_int64_t
-bswap64(u_int64_t x)
-{
-#ifdef __LP64__
- /*
- * Assume we have wide enough registers to do it without touching
- * memory.
- */
- return ( (x << 56) & 0xff00000000000000UL ) |
- ( (x << 40) & 0x00ff000000000000UL ) |
- ( (x << 24) & 0x0000ff0000000000UL ) |
- ( (x << 8) & 0x000000ff00000000UL ) |
- ( (x >> 8) & 0x00000000ff000000UL ) |
- ( (x >> 24) & 0x0000000000ff0000UL ) |
- ( (x >> 40) & 0x000000000000ff00UL ) |
- ( (x >> 56) & 0x00000000000000ffUL );
-#else
- /*
- * Split the operation in two 32bit steps.
- */
- u_int32_t tl, th;
-
- th = bswap32((u_int32_t)(x & 0x00000000ffffffffULL));
- tl = bswap32((u_int32_t)((x >> 32) & 0x00000000ffffffffULL));
- return ((u_int64_t)th << 32) | tl;
-#endif
-}
diff --git a/lib/libstand/globals.c b/lib/libstand/globals.c
index 03108232fff0..f2c624083c27 100644
--- a/lib/libstand/globals.c
+++ b/lib/libstand/globals.c
@@ -30,7 +30,8 @@ struct in_addr myip; /* my ip address */
struct in_addr nameip; /* DNS server ip address */
struct in_addr rootip; /* root ip address */
struct in_addr swapip; /* swap ip address */
-struct in_addr gateip; /* swap ip address */
+struct in_addr gateip; /* gateway ip address */
n_long netmask = 0xffffff00; /* subnet or net mask */
+u_int intf_mtu; /* interface mtu from bootp/dhcp */
int errno; /* our old friend */
diff --git a/lib/libstand/net.h b/lib/libstand/net.h
index 94f2aabf81e2..ce7df49f2de2 100644
--- a/lib/libstand/net.h
+++ b/lib/libstand/net.h
@@ -83,6 +83,7 @@ extern struct in_addr swapip;
extern struct in_addr gateip;
extern struct in_addr nameip;
extern n_long netmask;
+extern u_int intf_mtu;
extern int debug; /* defined in the machdep sources */
diff --git a/lib/libstand/stand.h b/lib/libstand/stand.h
index 22ee3199234d..a8415236894c 100644
--- a/lib/libstand/stand.h
+++ b/lib/libstand/stand.h
@@ -335,11 +335,6 @@ static __inline quad_t qmin(quad_t a, quad_t b) { return (a < b ? a : b); }
static __inline u_long ulmax(u_long a, u_long b) { return (a > b ? a : b); }
static __inline u_long ulmin(u_long a, u_long b) { return (a < b ? a : b); }
-/* swaps (undocumented, useful?) */
-#ifdef __i386__
-extern u_int32_t bswap32(u_int32_t x);
-extern u_int64_t bswap64(u_int64_t x);
-#endif
/* null functions for device/filesystem switches (undocumented) */
extern int nodev(void);
diff --git a/lib/libsysdecode/errno.c b/lib/libsysdecode/errno.c
index 1e863bb69dc2..c21d21616ba3 100644
--- a/lib/libsysdecode/errno.c
+++ b/lib/libsysdecode/errno.c
@@ -56,7 +56,7 @@ static int bsd_to_linux_errno[ELAST + 1] = {
#endif
#if defined(__aarch64__) || defined(__amd64__)
-#include <compat/cloudabi/cloudabi_syscalldefs.h>
+#include <contrib/cloudabi/cloudabi_types_common.h>
static const int cloudabi_errno_table[] = {
[CLOUDABI_E2BIG] = E2BIG,
diff --git a/lib/libthr/Makefile b/lib/libthr/Makefile
index 7a080e0f2580..517a30f21ee8 100644
--- a/lib/libthr/Makefile
+++ b/lib/libthr/Makefile
@@ -39,7 +39,7 @@ SYMBOL_MAPS=${.CURDIR}/pthread.map
MAN= libthr.3
-# enable extra internal consistancy checks
+# enable extra internal consistency checks
CFLAGS+=-D_PTHREADS_INVARIANTS
PRECIOUSLIB=
diff --git a/lib/libthr/thread/thr_fork.c b/lib/libthr/thread/thr_fork.c
index 7256b68b7a3f..531e09cef5f1 100644
--- a/lib/libthr/thread/thr_fork.c
+++ b/lib/libthr/thread/thr_fork.c
@@ -168,6 +168,7 @@ __thr_fork(void)
if (_thr_isthreaded() != 0) {
was_threaded = 1;
_malloc_prefork();
+ __thr_pshared_atfork_pre();
_rtld_atfork_pre(rtld_locks);
} else {
was_threaded = 0;
@@ -202,8 +203,10 @@ __thr_fork(void)
_thr_signal_postfork_child();
- if (was_threaded)
+ if (was_threaded) {
_rtld_atfork_post(rtld_locks);
+ __thr_pshared_atfork_post();
+ }
_thr_setthreaded(0);
/* reinitalize library. */
@@ -236,6 +239,7 @@ __thr_fork(void)
if (was_threaded) {
_rtld_atfork_post(rtld_locks);
+ __thr_pshared_atfork_post();
_malloc_postfork();
}
diff --git a/lib/libthr/thread/thr_init.c b/lib/libthr/thread/thr_init.c
index 3c81299937f2..c9f30ab02387 100644
--- a/lib/libthr/thread/thr_init.c
+++ b/lib/libthr/thread/thr_init.c
@@ -108,7 +108,6 @@ struct pthread_cond_attr _pthread_condattr_default = {
.c_clockid = CLOCK_REALTIME
};
-pid_t _thr_pid;
int _thr_is_smp = 0;
size_t _thr_guard_default;
size_t _thr_stack_default = THR_STACK_DEFAULT;
@@ -305,7 +304,7 @@ _thread_init_hack(void)
void
_libpthread_init(struct pthread *curthread)
{
- int fd, first, dlopened;
+ int first, dlopened;
/* Check if this function has already been called: */
if ((_thr_initial != NULL) && (curthread == NULL))
@@ -321,27 +320,6 @@ _libpthread_init(struct pthread *curthread)
memcpy(__thr_jtable, jmp_table, sizeof(jmp_table));
__thr_interpose_libc();
- /*
- * Check for the special case of this process running as
- * or in place of init as pid = 1:
- */
- if ((_thr_pid = getpid()) == 1) {
- /*
- * Setup a new session for this process which is
- * assumed to be running as root.
- */
- if (setsid() == -1)
- PANIC("Can't set session ID");
- if (revoke(_PATH_CONSOLE) != 0)
- PANIC("Can't revoke console");
- if ((fd = __sys_openat(AT_FDCWD, _PATH_CONSOLE, O_RDWR)) < 0)
- PANIC("Can't open console");
- if (setlogin("root") == -1)
- PANIC("Can't set login to root");
- if (_ioctl(fd, TIOCSCTTY, (char *) NULL) == -1)
- PANIC("Can't set controlling terminal");
- }
-
/* Initialize pthread private data. */
init_private();
@@ -466,7 +444,6 @@ init_private(void)
_thr_once_init();
_thr_spinlock_init();
_thr_list_init();
- __thr_pshared_init();
_thr_wake_addr_init();
_sleepq_init();
_single_thread = NULL;
@@ -477,6 +454,7 @@ init_private(void)
* e.g. after a fork().
*/
if (init_once == 0) {
+ __thr_pshared_init();
/* Find the stack top */
mib[0] = CTL_KERN;
mib[1] = KERN_USRSTACK;
diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c
index 30a8be2767f5..865e4cfbb29f 100644
--- a/lib/libthr/thread/thr_mutex.c
+++ b/lib/libthr/thread/thr_mutex.c
@@ -38,6 +38,7 @@
* $FreeBSD$
*/
+#include <stdbool.h>
#include "namespace.h"
#include <stdlib.h>
#include <errno.h>
@@ -124,8 +125,14 @@ mutex_assert_is_owned(struct pthread_mutex *m)
{
#if defined(_PTHREADS_INVARIANTS)
- if (__predict_false(m->m_qe.tqe_prev == NULL))
- PANIC("mutex is not on list");
+ if (__predict_false(m->m_qe.tqe_prev == NULL)) {
+ char msg[128];
+ snprintf(msg, sizeof(msg),
+ "mutex %p own %#x %#x is not on list %p %p",
+ m, m->m_lock.m_owner, m->m_owner, m->m_qe.tqe_prev,
+ m->m_qe.tqe_next);
+ PANIC(msg);
+ }
#endif
}
@@ -135,8 +142,14 @@ mutex_assert_not_owned(struct pthread_mutex *m)
#if defined(_PTHREADS_INVARIANTS)
if (__predict_false(m->m_qe.tqe_prev != NULL ||
- m->m_qe.tqe_next != NULL))
- PANIC("mutex is on list");
+ m->m_qe.tqe_next != NULL)) {
+ char msg[128];
+ snprintf(msg, sizeof(msg),
+ "mutex %p own %#x %#x is on list %p %p",
+ m, m->m_lock.m_owner, m->m_owner, m->m_qe.tqe_prev,
+ m->m_qe.tqe_next);
+ PANIC(msg);
+ }
#endif
}
@@ -252,6 +265,51 @@ set_inherited_priority(struct pthread *curthread, struct pthread_mutex *m)
m->m_lock.m_ceilings[1] = -1;
}
+static void
+shared_mutex_init(struct pthread_mutex *pmtx, const struct
+ pthread_mutex_attr *mutex_attr)
+{
+ static const struct pthread_mutex_attr foobar_mutex_attr = {
+ .m_type = PTHREAD_MUTEX_DEFAULT,
+ .m_protocol = PTHREAD_PRIO_NONE,
+ .m_ceiling = 0,
+ .m_pshared = PTHREAD_PROCESS_SHARED
+ };
+ bool done;
+
+ /*
+ * Hack to allow multiple pthread_mutex_init() calls on the
+ * same process-shared mutex. We rely on kernel allocating
+ * zeroed offpage for the mutex, i.e. the
+ * PMUTEX_INITSTAGE_ALLOC value must be zero.
+ */
+ for (done = false; !done;) {
+ switch (pmtx->m_ps) {
+ case PMUTEX_INITSTAGE_DONE:
+ atomic_thread_fence_acq();
+ done = true;
+ break;
+ case PMUTEX_INITSTAGE_ALLOC:
+ if (atomic_cmpset_int(&pmtx->m_ps,
+ PMUTEX_INITSTAGE_ALLOC, PMUTEX_INITSTAGE_BUSY)) {
+ if (mutex_attr == NULL)
+ mutex_attr = &foobar_mutex_attr;
+ mutex_init_body(pmtx, mutex_attr);
+ atomic_store_rel_int(&pmtx->m_ps,
+ PMUTEX_INITSTAGE_DONE);
+ done = true;
+ }
+ break;
+ case PMUTEX_INITSTAGE_BUSY:
+ _pthread_yield();
+ break;
+ default:
+ PANIC("corrupted offpage");
+ break;
+ }
+ }
+}
+
int
__pthread_mutex_init(pthread_mutex_t *mutex,
const pthread_mutexattr_t *mutex_attr)
@@ -273,7 +331,7 @@ __pthread_mutex_init(pthread_mutex_t *mutex,
if (pmtx == NULL)
return (EFAULT);
*mutex = THR_PSHARED_PTR;
- mutex_init_body(pmtx, *mutex_attr);
+ shared_mutex_init(pmtx, *mutex_attr);
return (0);
}
@@ -414,6 +472,7 @@ check_and_init_mutex(pthread_mutex_t *mutex, struct pthread_mutex **m)
*m = __thr_pshared_offpage(mutex, 0);
if (*m == NULL)
ret = EINVAL;
+ shared_mutex_init(*m, NULL);
} else if (__predict_false(*m <= THR_MUTEX_DESTROYED)) {
if (*m == THR_MUTEX_DESTROYED) {
ret = EINVAL;
@@ -576,6 +635,7 @@ _pthread_mutex_unlock(pthread_mutex_t *mutex)
mp = __thr_pshared_offpage(mutex, 0);
if (mp == NULL)
return (EINVAL);
+ shared_mutex_init(mp, NULL);
} else {
mp = *mutex;
}
@@ -803,6 +863,7 @@ _pthread_mutex_getprioceiling(pthread_mutex_t *mutex,
m = __thr_pshared_offpage(mutex, 0);
if (m == NULL)
return (EINVAL);
+ shared_mutex_init(m, NULL);
} else {
m = *mutex;
if (m <= THR_MUTEX_DESTROYED)
@@ -827,6 +888,7 @@ _pthread_mutex_setprioceiling(pthread_mutex_t *mutex,
m = __thr_pshared_offpage(mutex, 0);
if (m == NULL)
return (EINVAL);
+ shared_mutex_init(m, NULL);
} else {
m = *mutex;
if (m <= THR_MUTEX_DESTROYED)
@@ -930,12 +992,13 @@ __pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count)
int
_pthread_mutex_isowned_np(pthread_mutex_t *mutex)
{
- struct pthread_mutex *m;
+ struct pthread_mutex *m;
if (*mutex == THR_PSHARED_PTR) {
m = __thr_pshared_offpage(mutex, 0);
if (m == NULL)
return (0);
+ shared_mutex_init(m, NULL);
} else {
m = *mutex;
if (m <= THR_MUTEX_DESTROYED)
diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h
index 31f8e6c863da..f35d3cd3c357 100644
--- a/lib/libthr/thread/thr_private.h
+++ b/lib/libthr/thread/thr_private.h
@@ -146,6 +146,13 @@ TAILQ_HEAD(mutex_queue, pthread_mutex);
#define MAX_DEFER_WAITERS 50
+/*
+ * Values for pthread_mutex m_ps indicator.
+ */
+#define PMUTEX_INITSTAGE_ALLOC 0
+#define PMUTEX_INITSTAGE_BUSY 1
+#define PMUTEX_INITSTAGE_DONE 2
+
struct pthread_mutex {
/*
* Lock for accesses to this structure.
@@ -156,6 +163,7 @@ struct pthread_mutex {
int m_count;
int m_spinloops;
int m_yieldloops;
+ int m_ps; /* pshared init stage */
/*
* Link for all mutexes a thread currently owns, of the same
* prio type.
@@ -717,7 +725,6 @@ extern struct pthread_cond_attr _pthread_condattr_default __hidden;
extern struct pthread_prio _thr_priorities[] __hidden;
-extern pid_t _thr_pid __hidden;
extern int _thr_is_smp __hidden;
extern size_t _thr_guard_default __hidden;
@@ -952,6 +959,8 @@ void _tcb_dtor(struct tcb *);
void __thr_pshared_init(void) __hidden;
void *__thr_pshared_offpage(void *key, int doalloc) __hidden;
void __thr_pshared_destroy(void *key) __hidden;
+void __thr_pshared_atfork_pre(void) __hidden;
+void __thr_pshared_atfork_post(void) __hidden;
__END_DECLS
diff --git a/lib/libthr/thread/thr_pshared.c b/lib/libthr/thread/thr_pshared.c
index e8ccf1cebb10..83714785f9b1 100644
--- a/lib/libthr/thread/thr_pshared.c
+++ b/lib/libthr/thread/thr_pshared.c
@@ -252,3 +252,17 @@ __thr_pshared_destroy(void *key)
pshared_clean(key, val);
pshared_gc(curthread);
}
+
+void
+__thr_pshared_atfork_pre(void)
+{
+
+ _thr_rwl_rdlock(&pshared_lock);
+}
+
+void
+__thr_pshared_atfork_post(void)
+{
+
+ _thr_rwl_unlock(&pshared_lock);
+}
diff --git a/lib/libthr/thread/thr_pspinlock.c b/lib/libthr/thread/thr_pspinlock.c
index 9e1f96eb39cd..1c9b41285599 100644
--- a/lib/libthr/thread/thr_pspinlock.c
+++ b/lib/libthr/thread/thr_pspinlock.c
@@ -1,7 +1,11 @@
/*-
* Copyright (c) 2003 David Xu <davidxu@freebsd.org>
+ * Copyright (c) 2016 The FreeBSD Foundation
* All rights reserved.
*
+ * Portions of this software were developed by Konstantin Belousov
+ * under sponsorship from the FreeBSD Foundation.
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -46,93 +50,100 @@ int
_pthread_spin_init(pthread_spinlock_t *lock, int pshared)
{
struct pthread_spinlock *lck;
- int ret;
- if (lock == NULL || pshared != PTHREAD_PROCESS_PRIVATE)
- ret = EINVAL;
- else if ((lck = malloc(sizeof(struct pthread_spinlock))) == NULL)
- ret = ENOMEM;
- else {
- _thr_umutex_init(&lck->s_lock);
+ if (lock == NULL)
+ return (EINVAL);
+ if (pshared == PTHREAD_PROCESS_PRIVATE) {
+ lck = malloc(sizeof(struct pthread_spinlock));
+ if (lck == NULL)
+ return (ENOMEM);
*lock = lck;
- ret = 0;
+ } else if (pshared == PTHREAD_PROCESS_SHARED) {
+ lck = __thr_pshared_offpage(lock, 1);
+ if (lck == NULL)
+ return (EFAULT);
+ *lock = THR_PSHARED_PTR;
+ } else {
+ return (EINVAL);
}
-
- return (ret);
+ _thr_umutex_init(&lck->s_lock);
+ return (0);
}
int
_pthread_spin_destroy(pthread_spinlock_t *lock)
{
+ void *l;
int ret;
- if (lock == NULL || *lock == NULL)
+ if (lock == NULL || *lock == NULL) {
ret = EINVAL;
- else {
+ } else if (*lock == THR_PSHARED_PTR) {
+ l = __thr_pshared_offpage(lock, 0);
+ if (l != NULL)
+ __thr_pshared_destroy(l);
+ ret = 0;
+ } else {
free(*lock);
*lock = NULL;
ret = 0;
}
-
return (ret);
}
int
_pthread_spin_trylock(pthread_spinlock_t *lock)
{
- struct pthread *curthread = _get_curthread();
struct pthread_spinlock *lck;
- int ret;
- if (lock == NULL || (lck = *lock) == NULL)
- ret = EINVAL;
- else
- ret = THR_UMUTEX_TRYLOCK(curthread, &lck->s_lock);
- return (ret);
+ if (lock == NULL || *lock == NULL)
+ return (EINVAL);
+ lck = *lock == THR_PSHARED_PTR ? __thr_pshared_offpage(lock, 0) : *lock;
+ if (lck == NULL)
+ return (EINVAL);
+ return (THR_UMUTEX_TRYLOCK(_get_curthread(), &lck->s_lock));
}
int
_pthread_spin_lock(pthread_spinlock_t *lock)
{
- struct pthread *curthread = _get_curthread();
+ struct pthread *curthread;
struct pthread_spinlock *lck;
- int ret, count;
-
- if (lock == NULL || (lck = *lock) == NULL)
- ret = EINVAL;
- else {
- count = SPIN_COUNT;
- while ((ret = THR_UMUTEX_TRYLOCK(curthread, &lck->s_lock)) != 0) {
- while (lck->s_lock.m_owner) {
- if (!_thr_is_smp) {
+ int count;
+
+ if (lock == NULL)
+ return (EINVAL);
+ lck = *lock == THR_PSHARED_PTR ? __thr_pshared_offpage(lock, 0) : *lock;
+ if (lck == NULL)
+ return (EINVAL);
+
+ curthread = _get_curthread();
+ count = SPIN_COUNT;
+ while (THR_UMUTEX_TRYLOCK(curthread, &lck->s_lock) != 0) {
+ while (lck->s_lock.m_owner) {
+ if (!_thr_is_smp) {
+ _pthread_yield();
+ } else {
+ CPU_SPINWAIT;
+ if (--count <= 0) {
+ count = SPIN_COUNT;
_pthread_yield();
- } else {
- CPU_SPINWAIT;
-
- if (--count <= 0) {
- count = SPIN_COUNT;
- _pthread_yield();
- }
}
}
}
- ret = 0;
}
-
- return (ret);
+ return (0);
}
int
_pthread_spin_unlock(pthread_spinlock_t *lock)
{
- struct pthread *curthread = _get_curthread();
struct pthread_spinlock *lck;
- int ret;
- if (lock == NULL || (lck = *lock) == NULL)
- ret = EINVAL;
- else {
- ret = THR_UMUTEX_UNLOCK(curthread, &lck->s_lock);
- }
- return (ret);
+ if (lock == NULL)
+ return (EINVAL);
+ lck = *lock == THR_PSHARED_PTR ? __thr_pshared_offpage(lock, 0) : *lock;
+ if (lck == NULL)
+ return (EINVAL);
+ return (THR_UMUTEX_UNLOCK(_get_curthread(), &lck->s_lock));
}
diff --git a/lib/libthr/thread/thr_rtld.c b/lib/libthr/thread/thr_rtld.c
index cb200980cb26..6c407d1ca866 100644
--- a/lib/libthr/thread/thr_rtld.c
+++ b/lib/libthr/thread/thr_rtld.c
@@ -227,6 +227,7 @@ _thr_rtld_init(void)
_rtld_atfork_post(NULL);
_malloc_prefork();
_malloc_postfork();
+ getpid();
syscall(SYS_getpid);
/* mask signals, also force to resolve __sys_sigprocmask PLT */
diff --git a/lib/libxo/Makefile b/lib/libxo/Makefile
index 2f3f1673d2cd..040db75bee47 100644
--- a/lib/libxo/Makefile
+++ b/lib/libxo/Makefile
@@ -14,7 +14,7 @@ SHLIB_MAJOR=0
SRCS= libxo.c xo_encoder.c xo_syslog.c
-CFLAGS+=-I${LIBXOSRC}/libxo
+CFLAGS+=-I${LIBXOSRC}/libxo -I${.CURDIR}
CFLAGS+=-DXO_ENCODERDIR=\"/usr/lib/libxo/encoder\"
INCS= xo.h xo_encoder.h
diff --git a/lib/libxo/tests/Makefile b/lib/libxo/tests/Makefile
index 43f2e9dfa1a5..de59ada7b7a6 100644
--- a/lib/libxo/tests/Makefile
+++ b/lib/libxo/tests/Makefile
@@ -244,10 +244,15 @@ PROGS+= test_09
PROGS+= test_10
PROGS+= test_11
-CFLAGS+= -I${LIBXOSRC}/libxo
+CFLAGS+= -I${LIBXOSRC}/libxo -I${.CURDIR:H}
-LIBADD= xo
+LIBADD= xo util
SUBDIR+= encoder
+.if ${MACHINE} == "host"
+# make it easy to test without install
+TESTSDIR= ${.OBJDIR}
+.endif
+
.include <bsd.test.mk>
diff --git a/contrib/libxo/libxo/xo_config.h b/lib/libxo/xo_config.h
index 9177962f08d9..9177962f08d9 100644
--- a/contrib/libxo/libxo/xo_config.h
+++ b/lib/libxo/xo_config.h
diff --git a/lib/libz/Makefile b/lib/libz/Makefile
index 6a372bb3a10f..8f67885b3535 100644
--- a/lib/libz/Makefile
+++ b/lib/libz/Makefile
@@ -76,4 +76,3 @@ FILESDIR= ${LIBDATADIR}/pkgconfig
## XXX: clang integrated-as doesn't grok .intel_syntax directives yet
#ACFLAGS.gvmat64.S= ${CLANG_NO_IAS}
-#ACFLAGS+= ${ACFLAGS.${.IMPSRC:T}}
diff --git a/lib/msun/arm/Makefile.inc b/lib/msun/arm/Makefile.inc
index e86997c99081..535d5ea3f12f 100644
--- a/lib/msun/arm/Makefile.inc
+++ b/lib/msun/arm/Makefile.inc
@@ -8,5 +8,3 @@ ARCH_SRCS = fenv-softfp.c fenv-vfp.c
.endif
CFLAGS.fenv-vfp.c= -mfpu=vfp -mfloat-abi=softfp
-CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
-
diff --git a/lib/ncurses/ncurses/Makefile b/lib/ncurses/ncurses/Makefile
index cf9053ca94c8..6d720edaa051 100644
--- a/lib/ncurses/ncurses/Makefile
+++ b/lib/ncurses/ncurses/Makefile
@@ -332,7 +332,7 @@ codes.c: MKcodes.awk
${AWK} -f ${NCURSES_DIR}/ncurses/tinfo/MKcodes.awk bigstrings=${USE_BIG_STRINGS} ${NCURSES_DIR}/include/Caps > codes.c
lib_gen.c: MKlib_gen.sh curses.h
- LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC} -E ${CFLAGS}" \
+ LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC:N${CCACHE_BIN}} -E ${CFLAGS}" \
"${AWK}" generated < curses.h >$@
lib_keyname.c: keys.list MKkeyname.awk
@@ -347,14 +347,14 @@ comp_captab.c: MKcaptab.sh MKcaptab.awk Caps make_hash
${NCURSES_DIR}/include/Caps > comp_captab.c
expanded.c: MKexpanded.sh
- sh ${NCURSES_DIR}/ncurses/tty/MKexpanded.sh "${CC} -E" ${CFLAGS} >expanded.c
+ sh ${NCURSES_DIR}/ncurses/tty/MKexpanded.sh "${CC:N${CCACHE_BIN}} -E" ${CFLAGS} >expanded.c
fallback.c: MKfallback.sh
sh ${NCURSES_DIR}/ncurses/tinfo/MKfallback.sh > fallback.c
# Generated headers
nomacros.h: MKlib_gen.sh curses.h
- LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC} -E ${CFLAGS}" \
+ LC_ALL=C sh ${NCURSES_DIR}/ncurses/base/MKlib_gen.sh "${CC:N${CCACHE_BIN}} -E ${CFLAGS}" \
"${AWK}" generated < curses.h | fgrep undef > $@
init_keytry.h: keys.list make_keys
diff --git a/libexec/dma/Makefile.inc b/libexec/dma/Makefile.inc
index 4db4bf106b4f..ec5eba84d20b 100644
--- a/libexec/dma/Makefile.inc
+++ b/libexec/dma/Makefile.inc
@@ -4,7 +4,7 @@
DMA_SOURCES= ${.CURDIR}/../../../contrib/dma
.PATH: ${DMA_SOURCES}
-CFLAGS= -I${DMA_SOURCES} \
+CFLAGS+= -I${DMA_SOURCES} \
-DHAVE_REALLOCF -DHAVE_STRLCPY -DHAVE_GETPROGNAME \
-DCONF_PATH='"/etc/dma"' \
-DLIBEXEC_PATH='"/usr/libexec"' -DDMA_VERSION='"v0.10"' \
diff --git a/libexec/dma/dmagent/Makefile b/libexec/dma/dmagent/Makefile
index 6f7e8b0648ed..187517736e62 100644
--- a/libexec/dma/dmagent/Makefile
+++ b/libexec/dma/dmagent/Makefile
@@ -1,5 +1,7 @@
# $FreeBSD$
+.include <src.opts.mk>
+
LIBADD= ssl crypto
PROG= dma
@@ -22,6 +24,11 @@ YFLAGS+= -i
CLEANFILES= aliases_parse.i
FILES= mailer.conf
FILESDIR= ${SHAREDIR}/examples/dma
+.if ${MK_SENDMAIL} == no
+CONFGROUPS= CONFS MAILER
+MAILERDIR= /etc/mail
+MAILER= mailer.conf
+.endif
BINMODE= 2555
diff --git a/libexec/rtld-elf/Makefile b/libexec/rtld-elf/Makefile
index e2ebcce5f857..6ae9130121fa 100644
--- a/libexec/rtld-elf/Makefile
+++ b/libexec/rtld-elf/Makefile
@@ -49,6 +49,9 @@ CFLAGS+= -fvisibility=hidden
.endif
LDFLAGS+= -shared -Wl,-Bsymbolic
LIBADD= c_pic
+.if ${MK_TOOLCHAIN} == "no"
+LDFLAGS+= -L${LIBCDIR}
+.endif
.if ${MACHINE_CPUARCH} == "arm"
# Some of the required math functions (div & mod) are implemented in
diff --git a/release/doc/en_US.ISO8859-1/relnotes/article.xml b/release/doc/en_US.ISO8859-1/relnotes/article.xml
index f8604092db07..ec98197acc67 100644
--- a/release/doc/en_US.ISO8859-1/relnotes/article.xml
+++ b/release/doc/en_US.ISO8859-1/relnotes/article.xml
@@ -1168,6 +1168,11 @@
<para revision="288310">The &man.ctl.4; driver has been updated
to support CD-ROM and removable devices.</para>
+
+ <para contrib="sponsor" sponsor="&ix;">The &man.isp.4; driver has
+ been updated and improved: added support for 16Gbps FC cards,
+ improved target mode support, completed Multi-ID (NPIV)
+ functionality.</para>
</sect2>
<sect2 xml:id="drivers-network">
diff --git a/release/picobsd/build/Makefile.conf b/release/picobsd/build/Makefile.conf
index 73406638a581..1521b7885dd5 100644
--- a/release/picobsd/build/Makefile.conf
+++ b/release/picobsd/build/Makefile.conf
@@ -43,8 +43,7 @@ do_a_make_in_the_kernel_directory_anyways:
(cd ${COMPILE}; ${BINMAKE} KERNEL=kernel ${MODULES} )
${COMPILE}: ${CONF}/${CONFFILE}
- (cd ${CONF}; ${CONFIG} -d ${COMPILE} ${CONFFILE}; \
- cd ${COMPILE}; ${BINMAKE} KERNEL=kernel ${MODULES} depend )
+ cd ${CONF}; ${CONFIG} -d ${COMPILE} ${CONFFILE}
${CONF}/${CONFFILE}: ${KERNCONF}
# -mkdir -p ${CONF} # XXX not needed yet.
diff --git a/sbin/atm/atmconfig/atmconfig.8 b/sbin/atm/atmconfig/atmconfig.8
index dc765ca3027a..3a03b0acff40 100644
--- a/sbin/atm/atmconfig/atmconfig.8
+++ b/sbin/atm/atmconfig/atmconfig.8
@@ -313,7 +313,6 @@ List all NATM routes.
.El
.Sh SEE ALSO
.Xr natm 4 ,
-.Xr natmip 4 ,
-.Xr atm 8
+.Xr natmip 4
.Sh AUTHORS
.An Hartmut Brandt Aq Mt harti@FreeBSD.org
diff --git a/sbin/casperd/Makefile b/sbin/casperd/Makefile
deleted file mode 100644
index 698263c1836e..000000000000
--- a/sbin/casperd/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# $FreeBSD$
-
-PACKAGE=casper
-PROG= casperd
-
-SRCS= casperd.c zygote.c
-
-LIBADD= casper nv pjdlog util
-
-MAN= casperd.8
-
-CFLAGS+=-I${.CURDIR}
-CFLAGS+=-I${.CURDIR}/../../lib/libcapsicum
-CFLAGS+=-I${.CURDIR}/../../lib/libcasper
-CFLAGS+=-I${.CURDIR}/../../lib/libnv
-CFLAGS+=-I${.CURDIR}/../../lib/libpjdlog
-
-.include <bsd.prog.mk>
diff --git a/sbin/devd/devd.cc b/sbin/devd/devd.cc
index 203d7507ced2..b2aea194973c 100644
--- a/sbin/devd/devd.cc
+++ b/sbin/devd/devd.cc
@@ -648,8 +648,8 @@ config::expand_one(const char *&src, string &dst)
return;
}
- // $[^A-Za-z] -> $\1
- if (!isalpha(*src)) {
+ // $[^-A-Za-z_*] -> $\1
+ if (!isalpha(*src) && *src != '_' && *src != '-' && *src != '*') {
dst += '$';
dst += *src++;
return;
@@ -788,15 +788,30 @@ process_event(char *buffer)
{
char type;
char *sp;
+ struct timeval tv;
+ char *timestr;
sp = buffer + 1;
devdlog(LOG_INFO, "Processing event '%s'\n", buffer);
type = *buffer++;
cfg.push_var_table();
- // No match doesn't have a device, and the format is a little
+ // $* is the entire line
+ cfg.set_variable("*", buffer - 1);
+ // $_ is the entire line without the initial character
+ cfg.set_variable("_", buffer);
+
+ // Save the time this happened (as approximated by when we got
+ // around to processing it).
+ gettimeofday(&tv, NULL);
+ asprintf(&timestr, "%jd.%06ld", (uintmax_t)tv.tv_sec, tv.tv_usec);
+ cfg.set_variable("timestamp", timestr);
+ free(timestr);
+
+ // Match doesn't have a device, and the format is a little
// different, so handle it separately.
switch (type) {
case notify:
+ //! (k=v)*
sp = cfg.set_vars(sp);
break;
case nomatch:
diff --git a/sbin/devd/devd.conf.5 b/sbin/devd/devd.conf.5
index 86570fb21f93..83c4c767400a 100644
--- a/sbin/devd/devd.conf.5
+++ b/sbin/devd/devd.conf.5
@@ -41,7 +41,7 @@
.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\"
-.Dd July 11, 2015
+.Dd March 28, 2016
.Dt DEVD.CONF 5
.Os
.Sh NAME
@@ -234,10 +234,19 @@ A partial list of variables and their possible values that can be used together
with the
.Ic match
statement.
+The variables are published by the bus based on characteristics of the device
+that generated the event (for device events).
+Variables for other classes of events are dependent on those events.
.Pp
.Bl -tag -width ".Li manufacturer" -compact
.It Ic Variable
.Ic Description
+.It Li *
+The entire message from the current event
+.It Li _
+The entire message from the current event, after the initial type character
+.It Li timestamp
+The time this event was processed, in seconds since 1970 dot fraction
.It Li bus
Device name of parent bus.
.It Li cdev
diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c
index 5ababf369880..84daec9681d1 100644
--- a/sbin/ifconfig/ifieee80211.c
+++ b/sbin/ifconfig/ifieee80211.c
@@ -2534,6 +2534,45 @@ printwmeinfo(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen)
}
static void
+printvhtcap(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen)
+{
+ printf("%s", tag);
+ if (verbose) {
+ const struct ieee80211_ie_vhtcap *vhtcap =
+ (const struct ieee80211_ie_vhtcap *) ie;
+ uint32_t vhtcap_info = LE_READ_4(&vhtcap->vht_cap_info);
+
+ printf("<cap 0x%08x", vhtcap_info);
+ printf(" rx_mcs_map 0x%x",
+ LE_READ_2(&vhtcap->supp_mcs.rx_mcs_map));
+ printf(" rx_highest %d",
+ LE_READ_2(&vhtcap->supp_mcs.rx_highest) & 0x1fff);
+ printf(" tx_mcs_map 0x%x",
+ LE_READ_2(&vhtcap->supp_mcs.tx_mcs_map));
+ printf(" tx_highest %d",
+ LE_READ_2(&vhtcap->supp_mcs.tx_highest) & 0x1fff);
+
+ printf(">");
+ }
+}
+
+static void
+printvhtinfo(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen)
+{
+ printf("%s", tag);
+ if (verbose) {
+ const struct ieee80211_ie_vht_operation *vhtinfo =
+ (const struct ieee80211_ie_vht_operation *) ie;
+
+ printf("<chw %d freq1_idx %d freq2_idx %d basic_mcs_set 0x%04x>",
+ vhtinfo->chan_width,
+ vhtinfo->center_freq_seg1_idx,
+ vhtinfo->center_freq_seg2_idx,
+ LE_READ_2(&vhtinfo->basic_mcs_set));
+ }
+}
+
+static void
printhtcap(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen)
{
printf("%s", tag);
@@ -2674,6 +2713,40 @@ do { \
#undef MATCHOUI
}
+static void
+printbssload(const char *tag, const uint8_t *ie, size_t ielen, int maxlen)
+{
+ printf("%s", tag);
+ if (verbose) {
+ const struct ieee80211_bss_load_ie *bssload =
+ (const struct ieee80211_bss_load_ie *) ie;
+ printf("<sta count %d, chan load %d, aac %d>",
+ LE_READ_2(&bssload->sta_count),
+ bssload->chan_load,
+ bssload->aac);
+ }
+}
+
+static void
+printapchanrep(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen)
+{
+ printf("%s", tag);
+ if (verbose) {
+ const struct ieee80211_ap_chan_report_ie *ap =
+ (const struct ieee80211_ap_chan_report_ie *) ie;
+ const char *sep = "";
+ int i;
+
+ printf("<class %u, chan:[", ap->i_class);
+
+ for (i = 3; i < ielen; i++) {
+ printf("%s%u", sep, ie[i]);
+ sep = ",";
+ }
+ printf("]>");
+ }
+}
+
static const char *
wpa_cipher(const u_int8_t *sel)
{
@@ -3018,14 +3091,6 @@ printcountry(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen)
printf(">");
}
-/* unaligned little endian access */
-#define LE_READ_4(p) \
- ((u_int32_t) \
- ((((const u_int8_t *)(p))[0] ) | \
- (((const u_int8_t *)(p))[1] << 8) | \
- (((const u_int8_t *)(p))[2] << 16) | \
- (((const u_int8_t *)(p))[3] << 24)))
-
static __inline int
iswpaoui(const u_int8_t *frm)
{
@@ -3084,9 +3149,9 @@ iename(int elemid)
case IEEE80211_ELEMID_MEASREP: return " MEASREP";
case IEEE80211_ELEMID_QUIET: return " QUIET";
case IEEE80211_ELEMID_IBSSDFS: return " IBSSDFS";
- case IEEE80211_ELEMID_APCHANREP:return " APCHANREP";
case IEEE80211_ELEMID_TPC: return " TPC";
case IEEE80211_ELEMID_CCKM: return " CCKM";
+ case IEEE80211_ELEMID_VHT_PWR_ENV: return " VHTPWRENV";
}
return " ???";
}
@@ -3151,6 +3216,18 @@ printies(const u_int8_t *vp, int ielen, int maxcols)
case IEEE80211_ELEMID_MESHCONF:
printmeshconf(" MESHCONF", vp, 2+vp[1], maxcols);
break;
+ case IEEE80211_ELEMID_VHT_CAP:
+ printvhtcap(" VHTCAP", vp, 2+vp[1], maxcols);
+ break;
+ case IEEE80211_ELEMID_VHT_OPMODE:
+ printvhtinfo(" VHTOPMODE", vp, 2+vp[1], maxcols);
+ break;
+ case IEEE80211_ELEMID_BSSLOAD:
+ printbssload(" BSSLOAD", vp, 2+vp[1], maxcols);
+ break;
+ case IEEE80211_ELEMID_APCHANREP:
+ printapchanrep(" APCHANREP", vp, 2+vp[1], maxcols);
+ break;
default:
if (verbose)
printie(iename(vp[0]), vp, 2+vp[1], maxcols);
diff --git a/sbin/ifconfig/sfp.c b/sbin/ifconfig/sfp.c
index 306140a96fd3..d92ee2cb2a32 100644
--- a/sbin/ifconfig/sfp.c
+++ b/sbin/ifconfig/sfp.c
@@ -625,14 +625,17 @@ get_sfp_voltage(struct i2c_info *ii, char *buf, size_t size)
convert_sff_voltage(buf, size, xbuf);
}
-static void
+static int
get_qsfp_temp(struct i2c_info *ii, char *buf, size_t size)
{
uint8_t xbuf[2];
memset(xbuf, 0, sizeof(xbuf));
read_i2c(ii, SFF_8436_BASE, SFF_8436_TEMP, 2, xbuf);
+ if ((xbuf[0] == 0xFF && xbuf[1] == 0xFF) || (xbuf[0] == 0 && xbuf[1] == 0))
+ return (-1);
convert_sff_temp(buf, size, xbuf);
+ return (0);
}
static void
@@ -779,22 +782,9 @@ static void
print_qsfp_status(struct i2c_info *ii, int verbose)
{
char buf[80], buf2[40], buf3[40];
- uint8_t diag_type;
uint32_t bitrate;
int i;
- /* Read diagnostic monitoring type */
- read_i2c(ii, SFF_8436_BASE, SFF_8436_DIAG_TYPE, 1, (caddr_t)&diag_type);
- if (ii->error != 0)
- return;
-
- /*
- * Read monitoring data it is supplied.
- * XXX: It is not exactly clear from standard
- * how one can specify lack of measurements (passive cables case).
- */
- if (diag_type != 0)
- ii->do_diag = 1;
ii->qsfp = 1;
/* Transceiver type */
@@ -817,9 +807,13 @@ print_qsfp_status(struct i2c_info *ii, int verbose)
printf("\tnominal bitrate: %u Mbps\n", bitrate);
}
- /* Request current measurements if they are provided: */
- if (ii->do_diag != 0) {
- get_qsfp_temp(ii, buf, sizeof(buf));
+ /*
+ * The standards in this area are not clear when the
+ * additional measurements are present or not. Use a valid
+ * temperature reading as an indicator for the presence of
+ * voltage and TX/RX power measurements.
+ */
+ if (get_qsfp_temp(ii, buf, sizeof(buf)) == 0) {
get_qsfp_voltage(ii, buf2, sizeof(buf2));
printf("\tmodule temperature: %s voltage: %s\n", buf, buf2);
for (i = 1; i <= 4; i++) {
diff --git a/sbin/kldstat/Makefile.depend b/sbin/kldstat/Makefile.depend
index 0f77a15a871f..58f9a3347b00 100644
--- a/sbin/kldstat/Makefile.depend
+++ b/sbin/kldstat/Makefile.depend
@@ -5,6 +5,7 @@ DIRDEPS = \
gnu/lib/csu \
gnu/lib/libgcc \
include \
+ include/xlocale \
lib/${CSU_DIR} \
lib/libc \
lib/libcompiler_rt \
diff --git a/sbin/kldstat/kldstat.8 b/sbin/kldstat/kldstat.8
index 2ea9ca44d4bc..00918265e3f8 100644
--- a/sbin/kldstat/kldstat.8
+++ b/sbin/kldstat/kldstat.8
@@ -36,10 +36,12 @@
.Op Fl h
.Op Fl q
.Op Fl v
+.Op Fl d
.Op Fl i Ar id
.Op Fl n Ar filename
.Nm
.Op Fl q
+.Op Fl d
.Op Fl m Ar modname
.Sh DESCRIPTION
The
@@ -54,6 +56,8 @@ Display the size field in a human-readable form, using unit suffixes
instead of hex values.
.It Fl v
Be more verbose.
+.It Fl d
+Show the module specific data (as int, unsigned int and unsigned long)
.It Fl i Ar id
Display the status of only the file with this ID.
.It Fl n Ar filename
diff --git a/sbin/kldstat/kldstat.c b/sbin/kldstat/kldstat.c
index c48024f0d43b..3ae75183b570 100644
--- a/sbin/kldstat/kldstat.c
+++ b/sbin/kldstat/kldstat.c
@@ -36,19 +36,28 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/module.h>
#include <sys/linker.h>
+#include <strings.h>
#define POINTER_WIDTH ((int)(sizeof(void *) * 2 + 2))
+static int showdata = 0;
+
static void
printmod(int modid)
{
struct module_stat stat;
+ bzero(&stat, sizeof(stat));
stat.version = sizeof(struct module_stat);
if (modstat(modid, &stat) < 0)
warn("can't stat module id %d", modid);
else
- printf("\t\t%2d %s\n", stat.id, stat.name);
+ if (showdata) {
+ printf("\t\t%2d %s (%d, %u, 0x%lx)\n", stat.id, stat.name,
+ stat.data.intval, stat.data.uintval, stat.data.ulongval);
+ } else {
+ printf("\t\t%2d %s\n", stat.id, stat.name);
+ }
}
static void
@@ -88,8 +97,8 @@ printfile(int fileid, int verbose, int humanized)
static void
usage(void)
{
- fprintf(stderr, "usage: kldstat [-h] [-q] [-v] [-i id] [-n filename]\n");
- fprintf(stderr, " kldstat [-q] [-m modname]\n");
+ fprintf(stderr, "usage: kldstata[-d] [-h] [-q] [-v] [-i id] [-n filename]\n");
+ fprintf(stderr, " kldstat [-d] [-q] [-m modname]\n");
exit(1);
}
@@ -105,8 +114,11 @@ main(int argc, char** argv)
char* modname = NULL;
char* p;
- while ((c = getopt(argc, argv, "hi:m:n:qv")) != -1)
+ while ((c = getopt(argc, argv, "dhi:m:n:qv")) != -1)
switch (c) {
+ case 'd':
+ showdata = 1;
+ break;
case 'h':
humanized = 1;
break;
@@ -152,8 +164,14 @@ main(int argc, char** argv)
if (modstat(modid, &stat) < 0)
warn("can't stat module id %d", modid);
else {
- printf("Id Refs Name\n");
- printf("%3d %4d %s\n", stat.id, stat.refs, stat.name);
+ if (showdata) {
+ printf("Id Refs Name data..(int, uint, ulong)\n");
+ printf("%3d %4d %s (%d, %u, 0x%lx)\n", stat.id, stat.refs, stat.name,
+ stat.data.intval, stat.data.uintval, stat.data.ulongval);
+ } else {
+ printf("Id Refs Name\n");
+ printf("%3d %4d %s\n", stat.id, stat.refs, stat.name);
+ }
}
return 0;
diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c
index a5f860271383..e7df6cab08a2 100644
--- a/sbin/ping/ping.c
+++ b/sbin/ping/ping.c
@@ -794,7 +794,7 @@ main(int argc, char *const *argv)
#endif
if (sweepmax) {
if (sweepmin > sweepmax)
- errx(EX_USAGE, "Maximum packet size must be no less than the minimum packet size");
+ errx(EX_USAGE, "Maximum packet size must be no less than the minimum packet size");
if (datalen != DEFDATALEN)
errx(EX_USAGE, "Packet size and ping sweep are mutually exclusive");
@@ -1201,7 +1201,7 @@ pr_pack(char *buf, int cc, struct sockaddr_in *from, struct timeval *tv)
if (options & F_MASK) {
/* Just prentend this cast isn't ugly */
(void)printf(" mask=%s",
- pr_addr(*(struct in_addr *)&(icp->icmp_mask)));
+ inet_ntoa(*(struct in_addr *)&(icp->icmp_mask)));
}
if (options & F_TIME) {
(void)printf(" tso=%s", pr_ntime(icp->icmp_otime));
diff --git a/sbin/restore/tape.c b/sbin/restore/tape.c
index 7a60cf4b9ab4..2f972318ddc3 100644
--- a/sbin/restore/tape.c
+++ b/sbin/restore/tape.c
@@ -340,6 +340,7 @@ getvol(long nextvol)
}
if (volno == 1)
return;
+ newvol = 0;
goto gethdr;
}
again:
diff --git a/secure/Makefile b/secure/Makefile
index 0b8ec0106eca..c3b2c87e1462 100644
--- a/secure/Makefile
+++ b/secure/Makefile
@@ -24,7 +24,6 @@ secure: .MAKE .PHONY
cd ${.CURDIR}/../${entry}; \
${MAKE} cleandir; \
${MAKE} obj; \
- ${MAKE} depend; \
${MAKE} all; \
${MAKE} install
.endfor
@@ -35,7 +34,6 @@ insecure: .MAKE .PHONY
cd ${.CURDIR}/../${entry}; \
${MAKE} MK_CRYPT=no cleandir; \
${MAKE} MK_CRYPT=no obj; \
- ${MAKE} MK_CRYPT=no depend; \
${MAKE} MK_CRYPT=no all; \
${MAKE} MK_CRYPT=no install
.endfor
diff --git a/share/dtrace/Makefile b/share/dtrace/Makefile
index 8daa75b0d38d..98b18fa8c228 100644
--- a/share/dtrace/Makefile
+++ b/share/dtrace/Makefile
@@ -30,4 +30,10 @@ SCRIPTS= blocking \
SCRIPTSDIR= ${SHAREDIR}/dtrace
+DSRCS= mbuf.d
+
+FILES= ${DSRCS}
+FILESDIR= /usr/lib/dtrace
+FILESMODE= ${NOBINMODE}
+
.include <bsd.prog.mk>
diff --git a/share/dtrace/mbuf.d b/share/dtrace/mbuf.d
new file mode 100644
index 000000000000..f8584596e250
--- /dev/null
+++ b/share/dtrace/mbuf.d
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2016 George V. Neville-Neil
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ *
+ * Translators and flags for the mbuf structure. FreeBSD specific code.
+ *
+ */
+
+#pragma D depends_on module kernel
+
+/*
+ * mbuf flags of global significance and layer crossing.
+ * Those of only protocol/layer specific significance are to be mapped
+ * to M_PROTO[1-12] and cleared at layer handoff boundaries.
+ * NB: Limited to the lower 24 bits.
+ */
+
+#pragma D binding "1.6.3" M_EXT
+inline int M_EXT = 0x00000001; /* has associated external storage */
+#pragma D binding "1.6.3" M_PKTHDR
+inline int M_PKTHDR = 0x00000002; /* start of record */
+#pragma D binding "1.6.3" M_EOR
+inline int M_EOR = 0x00000004; /* end of record */
+#pragma D binding "1.6.3" M_RDONLY
+inline int M_RDONLY = 0x00000008; /* associated data is marked read-only */
+#pragma D binding "1.6.3" M_BCAST
+inline int M_BCAST = 0x00000010; /* send/received as link-level broadcast */
+#pragma D binding "1.6.3" M_MCAST
+inline int M_MCAST = 0x00000020; /* send/received as link-level multicast */
+#pragma D binding "1.6.3" M_PROMISC
+inline int M_PROMISC = 0x00000040; /* packet was not for us */
+#pragma D binding "1.6.3" M_VLANTAG
+inline int M_VLANTAG = 0x00000080; /* ether_vtag is valid */
+#pragma D binding "1.6.3" M_UNUSED_8
+inline int M_UNUSED_8 = 0x00000100; /* --available-- */
+#pragma D binding "1.6.3" M_NOFREE
+inline int M_NOFREE = 0x00000200; /* do not free mbuf, embedded in cluster */
+
+#pragma D binding "1.6.3" M_PROTO1
+inline int M_PROTO1 = 0x00001000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO2
+inline int M_PROTO2 = 0x00002000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO3
+inline int M_PROTO3 = 0x00004000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO4
+inline int M_PROTO4 = 0x00008000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO5
+inline int M_PROTO5 = 0x00010000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO6
+inline int M_PROTO6 = 0x00020000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO7
+inline int M_PROTO7 = 0x00040000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO8
+inline int M_PROTO8 = 0x00080000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO9
+inline int M_PROTO9 = 0x00100000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO10
+inline int M_PROTO10 = 0x00200000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO11
+inline int M_PROTO11 = 0x00400000; /* protocol-specific */
+#pragma D binding "1.6.3" M_PROTO12
+inline int M_PROTO12 = 0x00800000; /* protocol-specific */
+
+#pragma D binding "1.6.3" mbufflags_string
+inline string mbufflags_string[uint32_t flags] =
+ flags & M_EXT ? "M_EXT" :
+ flags & M_PKTHDR ? "M_PKTHDR" :
+ flags & M_EOR ? "M_EOR" :
+ flags & M_RDONLY ? "M_RDONLY" :
+ flags & M_BCAST ? "M_BCAST" :
+ flags & M_MCAST ? "M_MCAST" :
+ flags & M_PROMISC ? "M_PROMISC" :
+ flags & M_VLANTAG ? "M_VLANTAG" :
+ flags & M_UNUSED_8 ? "M_UNUSED_8" :
+ flags & M_NOFREE ? "M_NOFREE" :
+ flags & M_PROTO1 ? "M_PROTO1" :
+ flags & M_PROTO2 ? "M_PROTO2" :
+ flags & M_PROTO3 ? "M_PROTO3" :
+ flags & M_PROTO4 ? "M_PROTO4" :
+ flags & M_PROTO5 ? "M_PROTO5" :
+ flags & M_PROTO6 ? "M_PROTO6" :
+ flags & M_PROTO7 ? "M_PROTO7" :
+ flags & M_PROTO8 ? "M_PROTO8" :
+ flags & M_PROTO9 ? "M_PROTO9" :
+ flags & M_PROTO10 ? "M_PROTO10" :
+ flags & M_PROTO11 ? "M_PROTO11" :
+ flags & M_PROTO12 ? "M_PROTO12" :
+ "none" ;
+
+/*
+ * Packet tag structure (see below for details).
+ */
+typedef struct m_tag {
+ u_int16_t m_tag_id; /* Tag ID */
+ u_int16_t m_tag_len; /* Length of data */
+ u_int32_t m_tag_cookie; /* ABI/Module ID */
+} m_tag_t;
+
+/*
+ * Record/packet header in first mbuf of chain; valid only if M_PKTHDR is set.
+ * Size ILP32: 48
+ * LP64: 56
+ * Compile-time assertions in uipc_mbuf.c test these values to ensure that
+ * they are correct.
+ */
+typedef struct pkthdr {
+/* struct ifnet *rcvif; */ /* rcv interface */
+ int32_t len; /* total packet length */
+
+ /* Layer crossing persistent information. */
+ uint32_t flowid; /* packet's 4-tuple system */
+ uint64_t csum_flags; /* checksum and offload features */
+ uint16_t fibnum; /* this packet should use this fib */
+ uint8_t cosqos; /* class/quality of service */
+ uint8_t rsstype; /* hash type */
+} pkthdr_t;
+
+/*
+ * Description of external storage mapped into mbuf; valid only if M_EXT is
+ * set.
+ * Size ILP32: 28
+ * LP64: 48
+ * Compile-time assertions in uipc_mbuf.c test these values to ensure that
+ * they are correct.
+ */
+typedef struct m_ext {
+ volatile u_int *ext_cnt; /* pointer to ref count info */
+ caddr_t ext_buf; /* start of buffer */
+ uint32_t ext_size; /* size of buffer, for ext_free */
+ uint32_t ext_type:8, /* type of external storage */
+ ext_flags:24; /* external storage mbuf flags */
+ void *ext_arg1; /* optional argument pointer */
+ void *ext_arg2; /* optional argument pointer */
+} m_ext_t;
+
+/*
+ * The core of the mbuf object along with some shortcut defines for practical
+ * purposes.
+ */
+struct mbuf {
+ uintptr_t mbuf_addr;
+ /*
+ * Header present at the beginning of every mbuf.
+ * Size ILP32: 24
+ * LP64: 32
+ * Compile-time assertions in uipc_mbuf.c test these values to ensure
+ * that they are correct.
+ */
+ caddr_t m_data; /* location of data */
+ int32_t m_len; /* amount of data in this mbuf */
+ uint32_t m_type:8, /* type of data in this mbuf */
+ m_flags:24; /* flags; see below */
+ /*
+ * A set of optional headers (packet header, external storage header)
+ * and internal data storage. Historically, these arrays were sized
+ * to MHLEN (space left after a packet header) and MLEN (space left
+ * after only a regular mbuf header); they are now variable size in
+ * order to support future work on variable-size mbufs.
+ */
+ /* union { */
+ /* struct { */
+ /* struct pkthdr m_pkthdr; */
+ /* union { */
+ /* struct m_ext m_ext; */
+ /* char m_pktdat[0]; */
+ /* }; */
+ /* }; */
+ /* char m_dat[0]; */
+ /* }; */
+ char *m_dat;
+};
+
+typedef struct mbufinfo {
+ uintptr_t mbuf_addr;
+ caddr_t m_data;
+ int32_t m_len;
+ uint8_t m_type;
+ uint32_t m_flags;
+} mbufinfo_t;
+
+translator mbufinfo_t < struct mbuf *p > {
+ mbuf_addr = (uintptr_t)p;
+ m_data = p->m_data;
+ m_len = p->m_len;
+ m_type = p->m_type & 0xff000000;
+ m_flags = p->m_type & 0x00ffffff;
+};
diff --git a/share/man/man4/amdsbwd.4 b/share/man/man4/amdsbwd.4
index 429ca44499b1..656921a8113d 100644
--- a/share/man/man4/amdsbwd.4
+++ b/share/man/man4/amdsbwd.4
@@ -25,12 +25,12 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 7, 2011
+.Dd March 29, 2016
.Dt AMDSBWD 4
.Os
.Sh NAME
.Nm amdsbwd
-.Nd device driver for the AMD SB600/SB7xx/SB8xx watchdog timers
+.Nd device driver for the AMD southbridge watchdog timers
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following line in your
@@ -51,7 +51,7 @@ The
driver provides
.Xr watchdog 4
support for the watchdog timers present on
-AMD SB600, SB7xx and SB8xx southbridges.
+AMD SB600, SB7xx, SB8xx and SB9xx southbridges and Axx FCHs.
.Sh SEE ALSO
.Xr watchdog 4 ,
.Xr watchdog 8 ,
diff --git a/share/man/man4/capsicum.4 b/share/man/man4/capsicum.4
index afdf5862c8dc..aa1568e8d3e9 100644
--- a/share/man/man4/capsicum.4
+++ b/share/man/man4/capsicum.4
@@ -105,7 +105,7 @@ associated with file descriptors; described in greater detail in
.Xr write 2 ,
.Xr cap_rights_get 3 ,
.Xr casper 3 ,
-.Xr procdesc 4 ,
+.Xr procdesc 4
.Sh HISTORY
.Nm
first appeared in
diff --git a/share/man/man4/cfi.4 b/share/man/man4/cfi.4
index c5a9703c2b0c..7dee561d7c81 100644
--- a/share/man/man4/cfi.4
+++ b/share/man/man4/cfi.4
@@ -50,8 +50,8 @@ In
.Pp
In DTS file:
.Cd flash@74000000 {
-.Cd " compatible =" Qo cfi-flash Qc ;
-.Cd " reg = <0x74000000 0x4000000>;"
+.Cd " compatible =" Qo cfi-flash Qc ;
+.Cd " reg = <0x74000000 0x4000000>;"
.Cd };
.Sh DESCRIPTION
The
@@ -72,7 +72,6 @@ Additional support for write-once bits to switch part of Intel StrataFlash
devices to read-only can be enabled by the
.Cd CFI_ARMEDANDDANGEROUS
kernel option.
-.El
.Sh SEE ALSO
.Xr led 4
.Sh HISTORY
diff --git a/share/man/man4/cyapa.4 b/share/man/man4/cyapa.4
index 5ecc9d757a1f..dc312f490637 100644
--- a/share/man/man4/cyapa.4
+++ b/share/man/man4/cyapa.4
@@ -175,9 +175,9 @@ file:
.Dl debug.cyapa_enable_tapclick=2
.Sh SEE ALSO
.Xr ig4 4 ,
-.Xr moused 4 ,
.Xr smbus 4 ,
-.Xr sysmouse 4
+.Xr sysmouse 4 ,
+.Xr moused 8
.Sh AUTHORS
.An -nosplit
The original
diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4
index 04df7248b934..087b9160d146 100644
--- a/share/man/man4/ddb.4
+++ b/share/man/man4/ddb.4
@@ -1132,7 +1132,7 @@ abbreviations.
.Nm
supports a basic output capture facility, which can be used to retrieve the
results of debugging commands from userspace using
-.Xr sysctl 2 .
+.Xr sysctl 3 .
.Ic capture on
enables output capture;
.Ic capture off
diff --git a/share/man/man4/filemon.4 b/share/man/man4/filemon.4
index 3287a47aab6a..0f1b60edb040 100644
--- a/share/man/man4/filemon.4
+++ b/share/man/man4/filemon.4
@@ -31,7 +31,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 9, 2016
+.Dd March 22, 2016
.Dt FILEMON 4
.Os
.Sh NAME
@@ -51,7 +51,7 @@ calls.
.Pp
.Nm
is not intended to be a security auditing tool.
-Many syscalls are not tracked and binaries of foreign ABI will not be fully
+Many system calls are not tracked and binaries of foreign ABI will not be fully
audited.
It is intended for auditing of processes for the purpose of determining its
dependencies in an efficient and easily parsable format.
@@ -64,6 +64,9 @@ to handle incremental builds more smartly.
System calls are denoted using the following single letters:
.Pp
.Bl -tag -width indent -compact
+.It Ql A
+.Xr openat 2 .
+The next log entry may be lacking an absolute path or be inaccurate.
.It Ql C
.Xr chdir 2
.It Ql D
@@ -82,11 +85,13 @@ System calls are denoted using the following single letters:
.Xr rename 2
.It Ql R
.Xr open 2
+or
+.Xr openat 2
for read
-.It Ql S
-.Xr stat 2
.It Ql W
.Xr open 2
+or
+.Xr openat 2
for write
.It Ql X
.Xr _exit 2
@@ -116,6 +121,10 @@ Each takes a single argument.
Write the internal tracing buffer to the supplied open file descriptor.
.It Dv FILEMON_SET_PID
Child process ID to trace.
+This should normally be done under the control of a parent in the child after
+.Xr fork 2
+but before anything else.
+See the example below.
.El
.Sh RETURN VALUES
.\" .Rv -std ioctl
@@ -138,6 +147,35 @@ The
.Nm
handle is already associated with a file descriptor.
.El
+.Pp
+The
+.Fn ioctl
+system call
+with
+.Dv FILEMON_SET_PID
+will fail if:
+.Bl -tag -width Er
+.It Bq Er ESRCH
+No process having the specified process ID exists.
+.It Bq Er EBUSY
+The process ID specified is already being traced and was not the current
+process.
+.El
+.Pp
+The
+.Fn close
+system call on the filemon file descriptor may fail with the errors from
+.Xr write 2
+if any error is encountered while writing the log.
+It may also fail if:
+.Bl -tag -width Er
+.It Bq Er EFAULT
+An invalid address was used for a traced system call argument, resulting in
+no log entry for the system call.
+.It Bq Er ENAMETOOLONG
+An argument for a traced system call was too long, resulting in
+no log entry for the system call.
+.El
.Sh FILES
.Bl -tag -width ".Pa /dev/filemon"
.It Pa /dev/filemon
@@ -199,14 +237,5 @@ A
device appeared in
.Fx 9.1 .
.Sh BUGS
-Loading
-.Nm
-may reduce system performance for the noted syscalls.
-.Pp
-Only children of the set process are logged.
-Processes can escape being traced by double forking.
-This is not seen as a problem as the intended use is build monitoring, which
-does not make sense to have daemons for.
-.Pp
Unloading the module may panic the system, thus requires using
.Ic kldunload -f .
diff --git a/share/man/man4/iscsi_initiator.4 b/share/man/man4/iscsi_initiator.4
index df03e6a0058b..a39339254b02 100644
--- a/share/man/man4/iscsi_initiator.4
+++ b/share/man/man4/iscsi_initiator.4
@@ -57,7 +57,7 @@ instead.
The
.Nm
implements the kernel side of the Internet SCSI (iSCSI) network
-protocol standard, the user land companion is
+protocol standard, the userland companion is
.Xr iscontrol 8 ,
and permits access to remote
.Em virtual
diff --git a/share/man/man4/lagg.4 b/share/man/man4/lagg.4
index c1a1bef4d926..71f92212250b 100644
--- a/share/man/man4/lagg.4
+++ b/share/man/man4/lagg.4
@@ -166,7 +166,7 @@ Gigabit Ethernet interfaces:
192.168.1.1 netmask 255.255.255.0
.Ed
.Pp
-Create a link aggregation using ROUNDROBIN with two
+Create a link aggregation using ROUNDROBIN with two
.Xr bge 4
Gigabit Ethernet interfaces and set the limit of 500 packets
per interface:
diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4
index 78ab5b246ba0..aca6eddf6764 100644
--- a/share/man/man4/pcm.4
+++ b/share/man/man4/pcm.4
@@ -233,7 +233,7 @@ Most bridge device drivers are still missing multichannel matrixing
support, but in most cases this should be trivial to implement.
Use the
.Va dev.pcm.%d.[play|rec].vchanformat
-.Xr sysctl(8)
+.Xr sysctl 8
to adjust the number of channels used.
The current multichannel interleaved structure and arrangement was
implemented by inspecting various popular UNIX applications.
diff --git a/share/man/man4/sppp.4 b/share/man/man4/sppp.4
index 00700d8bcb96..0420bb45ab80 100644
--- a/share/man/man4/sppp.4
+++ b/share/man/man4/sppp.4
@@ -175,7 +175,6 @@ take place.
.Sh SEE ALSO
.Xr inet 4 ,
.Xr intro 4 ,
-.Xr ppp 4 ,
.Xr ifconfig 8 ,
.Xr spppcontrol 8
.Rs
diff --git a/share/man/man4/uart.4 b/share/man/man4/uart.4
index 811deb9e7958..cbf8e0808187 100644
--- a/share/man/man4/uart.4
+++ b/share/man/man4/uart.4
@@ -188,7 +188,7 @@ Capture pulses on the CTS line.
Capture pulses on the DCD line.
.El
.Pp
-The following values may be ORed with the capture mode to configure
+The following values may be ORed with the capture mode to configure
capture processing options:
.Bl -tag -compact -offset "mmmm" -width "mmmm"
.It 0x10
diff --git a/share/man/man4/udl.4 b/share/man/man4/udl.4
index 2699cc7413b8..572fe8f37a25 100644
--- a/share/man/man4/udl.4
+++ b/share/man/man4/udl.4
@@ -62,6 +62,7 @@ The following devices should work:
.It Sunweit USB to DVI
.It Unitek Y-2240 USB to DVI
.It VideoHome NBdock1920
+.It i-tec USB 2.0 Docking Station (USBDVIDOCK)
.El
.Sh SEE ALSO
.Xr usb 4
diff --git a/share/man/man4/vxlan.4 b/share/man/man4/vxlan.4
index 167d5b0f2ae2..15b40e61febc 100644
--- a/share/man/man4/vxlan.4
+++ b/share/man/man4/vxlan.4
@@ -217,9 +217,9 @@ interface can be configured with
.Sh SEE ALSO
.Xr inet 4 ,
.Xr inet6 4 ,
+.Xr vlan 4 ,
.Xr ifconfig 8 ,
-.Xr sysctl 8 ,
-.Xr vlan 8
+.Xr sysctl 8
.Rs
.%A "M. Mahalingam"
.%A "et al"
diff --git a/share/man/man4/wbwd.4 b/share/man/man4/wbwd.4
index 058a407bc6f0..800f627e34df 100644
--- a/share/man/man4/wbwd.4
+++ b/share/man/man4/wbwd.4
@@ -25,12 +25,12 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 28, 2012
+.Dd March 24, 2016
.Dt WBWD 4
.Os
.Sh NAME
.Nm wbwd
-.Nd device driver for watchdog timer found on Winbond Super I/O chips
+.Nd device driver for Winbond/Nuvoton Super I/O chips watchdog timer
.Sh SYNOPSIS
To compile this driver into the kernel, place the following line in your
kernel configuration file:
@@ -50,18 +50,51 @@ The
driver provides
.Xr watchdog 4
support for the watchdog interrupt timer present on at least the following
-Winbond Super I/O chips:
-.Pp
+Super I/O chips:
.Bl -bullet -compact
.It
-83627HF/F/HG/G Rev. G
+Winbond 83627HF/F/HG/G
+.It
+Winbond 83627S
+.It
+Winbond 83697HF
+.It
+Winbond 83697UG
+.It
+Winbond 83637HF
+.It
+Winbond 83627THF
+.It
+Winbond 83687THF
+.It
+Winbond 83627EHF
+.It
+Winbond 83627DHG
.It
-83627HF/F/HG/G Rev. J
+Winbond 83627UHG
.It
-83627HF/F/HG/G Rev. UD-A
+Winbond 83667HG
.It
-83627DHG IC ver. 5
+Winbond 83627DHG-P
+.It
+Winbond 83667HG-B
+.It
+Nuvoton NCT6775
+.It
+Nuvoton NCT6776
+.It
+Nuvoton NCT6102
+.It
+Nuvoton NCT6779
+.It
+Nuvoton NCT6791
+.It
+Nuvoton NCT6792
.El
+.Pp
+Driver may be forced to attach to unknown chips by adding to
+.Pa /boot/device.hints :
+.Cd hint.wbwd.0.at="isa"
.Sh SYSCTL VARIABLES
The
.Nm
diff --git a/share/man/man5/make.conf.5 b/share/man/man5/make.conf.5
index d1fc4615ecaf..24ebffbbff8a 100644
--- a/share/man/man5/make.conf.5
+++ b/share/man/man5/make.conf.5
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 24, 2016
+.Dd March 29, 2016
.Dt MAKE.CONF 5
.Os
.Sh NAME
@@ -294,12 +294,6 @@ Set this to skip running
.Xr config 8
during
.Dq Li "${MAKE} buildkernel" .
-.It Va NO_KERNELDEPEND
-.Pq Vt bool
-Set this to skip running
-.Dq Li "${MAKE} depend"
-during
-.Dq Li "${MAKE} buildkernel" .
.It Va NO_KERNELOBJ
.Pq Vt bool
Set this to skip running
diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5
index a8dee319f592..cb9a8b06b39c 100644
--- a/share/man/man5/periodic.conf.5
+++ b/share/man/man5/periodic.conf.5
@@ -617,7 +617,7 @@ Weekly counterpart of
Set to
.Dq Li YES
if you want to use
-.Xr pkg_version 1
+.Xr pkg-version 8
to list installed packages which are out of date.
.It Va pkg_version
.Pq Vt str
@@ -628,7 +628,7 @@ is set to
this variable specifies the program that is used to determine the out of
date packages.
If unset, the
-.Xr pkg_version 1
+.Xr pkg-version 8
program is used.
As an example, this variable might be set to
.Dq Li portversion
@@ -642,7 +642,7 @@ This variable specifies the
file from
.Pa /usr/ports
that should be used by
-.Xr pkg_version 1 .
+.Xr pkg-version 8 .
Because the dependency tree may be substantially different between versions of
.Fx ,
there may be more than one
@@ -975,7 +975,6 @@ is shared or distributed.
.Xr msgs 1 ,
.Xr netstat 1 ,
.Xr nice 1 ,
-.Xr pkg_version 1 ,
.Xr login.conf 5 ,
.Xr rc.conf 5 ,
.Xr ac 8 ,
@@ -983,6 +982,7 @@ is shared or distributed.
.Xr dump 8 ,
.Xr newsyslog 8 ,
.Xr periodic 8 ,
+.Xr pkg-version 8 ,
.Xr sendmail 8
.Sh HISTORY
The
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index b6d9bb485a6f..68e16217e48b 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,7 +1,7 @@
.\" DO NOT EDIT-- this file is automatically generated.
.\" from FreeBSD: head/tools/build/options/makeman 292283 2015-12-15 18:42:30Z bdrewery
.\" $FreeBSD$
-.Dd March 11, 2016
+.Dd March 30, 2016
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -248,7 +248,7 @@ Set to not build Capsicum support into system programs.
.\" from FreeBSD: head/tools/build/options/WITHOUT_CASPER 258838 2013-12-02 08:21:28Z pjd
Set to not build Casper program and related libraries.
.It Va WITH_CCACHE_BUILD
-.\" from FreeBSD: head/tools/build/options/WITH_CCACHE_BUILD 290526 2015-11-08 00:50:18Z bdrewery
+.\" from FreeBSD: head/tools/build/options/WITH_CCACHE_BUILD 297436 2016-03-30 23:53:12Z bdrewery
Set to use
.Xr ccache 1
for the build.
@@ -274,9 +274,6 @@ when using an external compiler.
The
.Sy CCACHE_CPP2
option is used for Clang but not GCC.
-ccache works best when combined with the
-.Sy WITH_FAST_DEPEND
-option.
.Pp
Sharing a cache between multiple work directories requires using a layout
similar to
@@ -517,8 +514,6 @@ When set, it also enforces the following options:
.Pp
.Bl -item -compact
.It
-.Va WITH_FAST_DEPEND
-.It
.Va WITH_INSTALL_AS_USER
.El
.Pp
@@ -618,12 +613,6 @@ An alternate bootstrap tool chain must be provided.
.\" from FreeBSD: head/tools/build/options/WITHOUT_EXAMPLES 156938 2006-03-21 09:06:24Z ru
Set to avoid installing examples to
.Pa /usr/share/examples/ .
-.It Va WITHOUT_FAST_DEPEND
-.\" from FreeBSD: head/tools/build/options/WITHOUT_FAST_DEPEND 296669 2016-03-11 17:00:42Z bdrewery
-Set to use the historical
-.Xr mkdep 1
-for the "make depend" phase of the build.
-This option is deprecated and will be removed soon.
.It Va WITHOUT_FDT
.\" from FreeBSD: head/tools/build/options/WITHOUT_FDT 221539 2011-05-06 19:10:27Z ru
Set to not build Flattened Device Tree support as part of the base system.
@@ -1459,6 +1448,8 @@ When set, it also enforces the following options:
.Va WITHOUT_GDB
.It
.Va WITHOUT_INCLUDES
+.It
+.Va WITHOUT_LLDB
.El
.It Va WITHOUT_UNBOUND
.\" from FreeBSD: head/tools/build/options/WITHOUT_UNBOUND 255597 2013-09-15 14:51:23Z des
diff --git a/share/man/man7/build.7 b/share/man/man7/build.7
index 985c1656d816..36603dac5ac3 100644
--- a/share/man/man7/build.7
+++ b/share/man/man7/build.7
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 26, 2016
+.Dd March 29, 2016
.Dt BUILD 7
.Os
.Sh NAME
@@ -122,11 +122,13 @@ test suite on installed world.
.It Cm clean
Remove any files created during the build process.
.It Cm cleandepend
-Remove the file
-.Pa ${.OBJDIR}/${DEPENDFILE}
-generated by a prior
+Remove the
+.Pa ${.OBJDIR}/${DEPENDFILE}*
+files generated by prior
+.Dq Li "make"
+and
.Dq Li "make depend"
-step.
+steps.
.It Cm cleandir
Remove the canonical object directory if it exists, or perform
actions equivalent to
@@ -146,6 +148,8 @@ and the second one will clean up
.It Cm depend
Generate a list of build dependencies in file
.Pa ${.OBJDIR}/${DEPENDFILE} .
+Per-object dependencies are generated at build time and stored in
+.Pa ${.OBJDIR}/${DEPENDFILE}.${OBJ} .
.It Cm install
Install the results of the build to the appropriate location in the
installation directory hierarchy specified in variable
@@ -412,7 +416,6 @@ If set, the build target
defaults to setting
.Va NO_KERNELCLEAN ,
.Va NO_KERNELCONFIG ,
-.Va NO_KERNELDEPEND
and
.Va NO_KERNELOBJ .
When set to a value other than
@@ -527,7 +530,7 @@ using the
.Fl D
option of
.Xr make 1 :
-.Bl -tag -width ".Va -DNO_KERNELDEPEND"
+.Bl -tag -width ".Va -DNO_KERNELCONFIG"
.It Va NO_CLEANDIR
If set, the build targets that clean parts of the object tree use the
equivalent of
@@ -565,12 +568,6 @@ If set, the build process does not run
as part of the
.Cm buildkernel
target.
-.It Va NO_KERNELDEPEND
-If set, the build process does not run
-.Dq make depend
-as part of the
-.Cm buildkernel
-target.
.It Va NO_KERNELOBJ
If set, the build process does not run
.Dq make obj
diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7
index 9def56246a48..ed2cf872d558 100644
--- a/share/man/man7/hier.7
+++ b/share/man/man7/hier.7
@@ -28,7 +28,7 @@
.\" @(#)hier.7 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
-.Dd October 2, 2015
+.Dd March 15, 2016
.Dt HIER 7
.Os
.Sh NAME
@@ -545,6 +545,8 @@ Chinese translations of documents in /usr/share/doc
.Pp
.It Pa examples/
various examples for users and programmers
+.It Pa firmware/
+Firmware images loaded by userland programs
.It Pa games/
ASCII text files used by various games
.It Pa groff_font/
diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7
index a73914bbe86b..99d566580385 100644
--- a/share/man/man7/ports.7
+++ b/share/man/man7/ports.7
@@ -214,12 +214,12 @@ portion never recurses
(this is perhaps a bug).
.It Cm reinstall
Use this to restore a port after using
-.Xr pkg_delete 1
+.Xr pkg-delete 8
when you should have used
.Cm deinstall .
.It Cm deinstall
Remove an installed port from the system, similar to
-.Xr pkg_delete 1 .
+.Xr pkg-delete 8 .
.It Cm deinstall-all
Remove all installed ports with the same
.Va PKGORIGIN
@@ -231,7 +231,7 @@ The package is a
.Pa .tbz
file that you can use to
install the port on other machines with
-.Xr pkg_add 1 .
+.Xr pkg-add 8 .
If the directory specified by
.Va PACKAGES
does not exist, the package will be put into the current directory.
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index fa768f531019..702fafa0530a 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -641,7 +641,11 @@ MLINKS+=counter.9 counter_u64_alloc.9 \
counter.9 counter_exit.9 \
counter.9 counter_u64_add_protected.9 \
counter.9 counter_u64_fetch.9 \
- counter.9 counter_u64_zero.9
+ counter.9 counter_u64_zero.9 \
+ counter.9 SYSCTL_COUNTER_U64.9 \
+ counter.9 SYSCTL_ADD_COUNTER_U64.9 \
+ counter.9 SYSCTL_COUNTER_U64_ARRAY.9 \
+ counter.9 SYSCTL_ADD_COUNTER_U64_ARRAY.9
MLINKS+=cpuset.9 CPUSET_T_INITIALIZER.9 \
cpuset.9 CPUSET_FSET.9 \
cpuset.9 CPU_CLR.9 \
diff --git a/share/man/man9/SYSCALL_MODULE.9 b/share/man/man9/SYSCALL_MODULE.9
index eb90aeb08326..8fc92aada530 100644
--- a/share/man/man9/SYSCALL_MODULE.9
+++ b/share/man/man9/SYSCALL_MODULE.9
@@ -57,6 +57,10 @@ A pointer to an
which saves the offset in
.Vt "struct sysent"
where the syscall is allocated.
+If the location pointed to by
+.Fa offset
+holds a non 0 number it will be used if possible.
+If it holds 0 then one will be assigned.
.It Fa new_sysent
is a pointer to a structure that specifies the function implementing
the syscall and the number of arguments this function needs (see
@@ -72,6 +76,17 @@ The argument passed to the callback functions of the
.Fa evh
event handler when it is called.
.El
+.Pp
+The syscall number assigned to the module can be retrieved using the
+.Xr modstat 3
+and
+.Xr modfind 3
+library functions in libc.
+The MACRO
+.Fn SYSCALL_MODULE_HELPER
+includes
+.Fn SYSCALL_MODULE
+and much of its boilerplate code.
.Sh EXAMPLES
A minimal example for a syscall module can be found in
.Pa /usr/share/examples/kld/syscall/module/syscall.c .
diff --git a/share/man/man9/counter.9 b/share/man/man9/counter.9
index f703ccf2a81b..0fcf2ad97ba8 100644
--- a/share/man/man9/counter.9
+++ b/share/man/man9/counter.9
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 7, 2014
+.Dd March 14, 2016
.Dt COUNTER 9
.Os
.Sh NAME
@@ -54,6 +54,8 @@
.In sys/sysctl.h
.Fn SYSCTL_COUNTER_U64 parent nbr name access ptr descr
.Fn SYSCTL_ADD_COUNTER_U64 ctx parent nbr name access ptr descr
+.Fn SYSCTL_COUNTER_U64_ARRAY parent nbr name access ptr len descr
+.Fn SYSCTL_ADD_COUNTER_U64_ARRAY ctx parent nbr name access ptr len descr
.Sh DESCRIPTION
.Nm
is a generic facility to create counters
@@ -150,6 +152,40 @@ argument should be a pointer to allocated
A read of the oid returns value obtained through
.Fn counter_u64_fetch .
Any write to the oid zeroes it.
+.It Fn SYSCTL_COUNTER_U64_ARRAY parent nbr name access ptr len descr
+Declare a static
+.Xr sysctl
+oid that would represent an array of
+.Nm .
+The
+.Fa ptr
+argument should be a pointer to allocated array of
+.Vt counter_u64_t's .
+The
+.Fa len
+argument should specify number of elements in the array.
+A read of the oid returns len-sized array of
+.Vt uint64_t
+values obtained through
+.Fn counter_u64_fetch .
+Any write to the oid zeroes all array elements.
+.It Fn SYSCTL_ADD_COUNTER_U64_ARRAY ctx parent nbr name access ptr len descr
+Create a
+.Xr sysctl
+oid that would represent an array of
+.Nm .
+The
+.Fa ptr
+argument should be a pointer to allocated array of
+.Vt counter_u64_t's .
+The
+.Fa len
+argument should specify number of elements in the array.
+A read of the oid returns len-sized array of
+.Vt uint64_t
+values obtained through
+.Fn counter_u64_fetch .
+Any write to the oid zeroes all array elements.
.El
.Sh IMPLEMENTATION DETAILS
On all architectures
@@ -179,6 +215,16 @@ amd64 single-instruction implementation.
On some architectures updating a counter require a
.Xr critical 9
section.
+.Sh EXAMPLES
+The following example creates a static counter array exported to
+userspace through a sysctl:
+.Bd -literal -offset indent
+#define MY_SIZE 8
+static counter_u64_t array[MY_SIZE];
+SYSCTL_COUNTER_U64_ARRAY(_debug, OID_AUTO, counter_array, CTLFLAG_RW,
+ &array[0], MY_SIZE, "Test counter array");
+.Ed
+.Pp
.Sh SEE ALSO
.Xr atomic 9 ,
.Xr critical 9 ,
diff --git a/share/man/man9/fail.9 b/share/man/man9/fail.9
index 8dbba1b568c1..cf623650e0c5 100644
--- a/share/man/man9/fail.9
+++ b/share/man/man9/fail.9
@@ -26,25 +26,31 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 10, 2009
+.Dd March 15, 2016
.Dt FAIL 9
.Os
.Sh NAME
.Nm KFAIL_POINT_CODE ,
+.Nm KFAIL_POINT_CODE_FLAGS ,
+.Nm KFAIL_POINT_CODE_COND ,
.Nm KFAIL_POINT_RETURN ,
.Nm KFAIL_POINT_RETURN_VOID ,
.Nm KFAIL_POINT_ERROR ,
.Nm KFAIL_POINT_GOTO ,
+.Nm KFAIL_POINT_SLEEP_CALLBACKS ,
.Nm fail_point ,
.Nm DEBUG_FP
.Nd fail points
.Sh SYNOPSIS
.In sys/fail.h
.Fn KFAIL_POINT_CODE "parent" "name" "code"
+.Fn KFAIL_POINT_CODE_FLAGS "parent" "name" "flags" "code"
+.Fn KFAIL_POINT_CODE_COND "parent" "name" "cond" "flags" "code"
.Fn KFAIL_POINT_RETURN "parent" "name"
.Fn KFAIL_POINT_RETURN_VOID "parent" "name"
.Fn KFAIL_POINT_ERROR "parent" "name" "error_var"
.Fn KFAIL_POINT_GOTO "parent" "name" "error_var" "label"
+.Fn KFAIL_POINT_SLEEP_CALLBACKS "parent" "name" "pre_func" "pre_arg" "post_func" "post_arg" "code"
.Sh DESCRIPTION
Fail points are used to add code points where errors may be injected
in a user controlled fashion.
@@ -77,6 +83,42 @@ argument, the evaluation of
is derived from the
.Fn return
value set in the sysctl MIB.
+.Pp
+Additionally,
+.Fn KFAIL_POINT_CODE_FLAGS
+provides a
+.Fa flags
+argument which controls the fail point's behaviour.
+This can be used to e.g., mark the fail point's context as non-sleepable,
+which causes the
+.Sy sleep
+action to be coerced to a busy wait.
+The supported flags are:
+.Bl -ohang -offset indent
+.It FAIL_POINT_USE_TIMEOUT_PATH
+Rather than sleeping on a
+.Fn sleep
+call, just fire the post-sleep function after a timeout fires.
+.It FAIL_POINT_NONSLEEPABLE
+Mark the fail point as being in a non-sleepable context, which coerces
+.Fn sleep
+calls to
+.Fn delay
+calls.
+.El
+.Pp
+Likewise,
+.Fn KFAIL_POINT_CODE_COND
+supplies a
+.Fa cond
+argument, which allows you to set the condition under which the fail point's
+code may fire.
+This is equivalent to:
+.Bd -literal
+ if (cond)
+ KFAIL_POINT_CODE_FLAGS(...);
+
+.Ed
See
.Sx SYSCTL VARIABLES
below.
@@ -107,26 +149,12 @@ Many base kernel MIBs can be found in the
tree (referenced in code by
.Sy DEBUG_FP ) .
.Pp
-The sysctl variable may be set using the following grammar:
+The sysctl variable may be set in a number of ways:
.Bd -literal
- <fail_point> ::
- <term> ( "->" <term> )*
-
- <term> ::
- ( (<float> "%") | (<integer> "*" ) )*
- <type>
- [ "(" <integer> ")" ]
- [ "[pid " <integer> "]" ]
-
- <float> ::
- <integer> [ "." <integer> ] |
- "." <integer>
-
- <type> ::
- "off" | "return" | "sleep" | "panic" | "break" | "print"
+ [<pct>%][<cnt>*]<type>[(args...)][-><more terms>]
.Ed
.Pp
-The <type> argument specifies which action to take:
+The <type> argument specifies which action to take; it can be one of:
.Bl -tag -width ".Dv return"
.It Sy off
Take no action (does not trigger fail point code)
@@ -140,13 +168,23 @@ Panic
Break into the debugger, or trap if there is no debugger support
.It Sy print
Print that the fail point executed
+.It Sy pause
+Threads sleep at the fail point until the fail point is set to
+.Sy off
+.It Sy yield
+Thread yields the cpu when the fail point is evaluated
+.It Sy delay
+Similar to sleep, but busy waits the cpu.
+(Useful in non-sleepable contexts.)
.El
.Pp
-The <float>% and <integer>* modifiers prior to <type> control when
+The <pct>% and <cnt>* modifiers prior to <type> control when
<type> is executed.
-The <float>% form (e.g. "1.2%") can be used to specify a
+The <pct>% form (e.g. "1.2%") can be used to specify a
probability that <type> will execute.
-The <integer>* form (e.g. "5*") can be used to specify the number of
+This is a decimal in the range (0, 100] which can specify up to
+1/10,000% precision.
+The <cnt>* form (e.g. "5*") can be used to specify the number of
times <type> should be executed before this <term> is disabled.
Only the last probability and the last count are used if multiple
are specified, i.e. "1.2%2%" is the same as "2%".
@@ -191,6 +229,10 @@ Return 5 once, when pid 1234 executes the fail point.
.Sh AUTHORS
.An -nosplit
This manual page was written by
+.Pp
+.An Matthew Bryan Aq Mt matthew.bryan@isilon.com
+and
+.Pp
.An Zach Loafman Aq Mt zml@FreeBSD.org .
.Sh CAVEATS
It is easy to shoot yourself in the foot by setting fail points too
@@ -206,3 +248,10 @@ Currently,
.Fn fail_point_eval
does not verify whether the context is appropriate for calling
.Fn msleep .
+You can force it to evaluate a
+.Sy sleep
+action as a
+.Sy delay
+action by specifying the
+.Sy FAIL_POINT_NONSLEEPABLE
+flag at the point the fail point is declared.
diff --git a/share/man/man9/kqueue.9 b/share/man/man9/kqueue.9
index a8137bdfe61b..ff379d158568 100644
--- a/share/man/man9/kqueue.9
+++ b/share/man/man9/kqueue.9
@@ -372,7 +372,7 @@ The function
will not be called, and the
.Vt knote
will not be returned on the next scan.
-Using this function could leak user land resources if a process uses the
+Using this function could leak userland resources if a process uses the
.Vt knote
to track resources.
.Pp
diff --git a/share/man/man9/netisr.9 b/share/man/man9/netisr.9
index 6d79c57a95b2..63112be4c1b1 100644
--- a/share/man/man9/netisr.9
+++ b/share/man/man9/netisr.9
@@ -120,7 +120,7 @@ whose fields are defined as follows:
.Bl -tag -width "netisr_handler_t nh_handler"
.It Vt "const char *" Va nh_name
Unique character string name of the protocol, which may be included in
-.Xr sysctl 2
+.Xr sysctl 3
MIB names, so should not contain whitespace.
.It Vt netisr_handler_t Va nh_handler
Protocol handler function that will be invoked on each packet received for
diff --git a/share/man/man9/osd.9 b/share/man/man9/osd.9
index e8260fe46338..c27b5d9fa4bb 100644
--- a/share/man/man9/osd.9
+++ b/share/man/man9/osd.9
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 5, 2011
+.Dd March 30, 2016
.Dt OSD 9
.Os
.Sh NAME
@@ -33,6 +33,9 @@
.Nm osd_register ,
.Nm osd_deregister ,
.Nm osd_set ,
+.Nm osd_reserve ,
+.Nm osd_set_reserved ,
+.Nm osd_free_reserved ,
.Nm osd_get ,
.Nm osd_del ,
.Nm osd_call ,
@@ -63,6 +66,22 @@
.Fa "void *value"
.Fc
.Ft void *
+.Fo osd_reserve
+.Fa "u_int slot"
+.Fc
+.Ft int
+.Fo osd_set_reserved
+.Fa "u_int type"
+.Fa "struct osd *osd"
+.Fa "u_int slot"
+.Fa "void *rsv"
+.Fa "void *value"
+.Fc
+.Ft void
+.Fo osd_free_reserved
+.Fa "void *rsv"
+.Fc
+.Ft void *
.Fo osd_get
.Fa "u_int type"
.Fa "struct osd *osd"
@@ -198,6 +217,15 @@ argument points to a data object to associate with
.Fa osd .
.Pp
The
+.Fn osd_set_reserved
+function does the same as
+.Fn osd_set ,
+but with an extra argument
+.Fa rsv
+that is internal-use memory previously allocated via
+.Fn osd_reserve .
+.Pp
+The
.Fn osd_get
function returns the data pointer associated with a kernel data structure's
.Vt struct osd
@@ -324,6 +352,24 @@ will proceed without any
.Xr realloc 9
calls.
.Pp
+It is possible for
+.Fn osd_set
+to fail to allocate this array. To ensure that such allocation succeeds,
+.Fn osd_reserve
+may be called (in a non-blocking context), and it will pre-allocate the
+memory via
+.Xr malloc 9
+with M_WAITOK.
+Then this pre-allocated memory is passed to
+.Fn osd_set_reserved ,
+which will use it if necessary or otherwise discard it.
+The memory may also be explicitly discarded by calling
+.Fn osd_free_reserved .
+As this method always allocates memory whether or not it is ultimately needed,
+it should be used only rarely, such as in the unlikely event that
+.Fn osd_set
+fails.
+.Pp
The
.Nm
API is geared towards slot identifiers storing pointers to the same underlying
@@ -359,15 +405,27 @@ the kernel including most fast paths.
returns the slot identifier for the newly registered data type.
.Pp
.Fn osd_set
-returns zero on success or ENOMEM if the specified type/slot identifier pair
+and
+.Fn osd_set_reserved
+return zero on success or ENOMEM if the specified type/slot identifier pair
triggered an internal
.Xr realloc 9
-which failed.
+which failed
+.Fn ( osd_set_reserved
+will always succeed when
+.Fa rsv
+is non-NULL).
.Pp
.Fn osd_get
returns the data pointer for the specified type/slot identifier pair, or NULL if
the slot has not been initialised yet.
.Pp
+.Fn osd_reserve
+returns a pointer suitable for passing to
+.Fn osd_set_reserved
+or
+.Fn osd_free_reserved .
+.Pp
.Fn osd_call
returns zero if no method is run or the method for each slot runs successfully.
If a method for a slot returns non-zero,
diff --git a/share/man/man9/rwlock.9 b/share/man/man9/rwlock.9
index 75988265fdf3..9ee16fc7cebc 100644
--- a/share/man/man9/rwlock.9
+++ b/share/man/man9/rwlock.9
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 13, 2014
+.Dd March 28, 2016
.Dt RWLOCK 9
.Os
.Sh NAME
@@ -313,18 +313,19 @@ facility was written by
This manual page was written by
.An "Gleb Smirnoff" .
.Sh BUGS
-If
+A kernel without
.Dv WITNESS
-is not included in the kernel,
-then it is impossible to assert that the current thread does or does not
-hold a read lock.
-In the
-.Pf non- Dv WITNESS
-case, the
+cannot assert whether the current thread does or does not hold a read lock.
.Dv RA_LOCKED
and
.Dv RA_RLOCKED
-assertions merely check that some thread holds a read lock.
+can only assert that
+.Em any
+thread holds a read lock.
+They cannot ensure that the current thread holds a read lock.
+Further,
+.Dv RA_UNLOCKED
+can only assert that the current thread does not hold a write lock.
.Pp
Reader/writer is a bit of an awkward name.
An
diff --git a/share/man/man9/sx.9 b/share/man/man9/sx.9
index a9931a943908..f09584a91222 100644
--- a/share/man/man9/sx.9
+++ b/share/man/man9/sx.9
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 13, 2016
+.Dd March 28, 2016
.Dt SX 9
.Os
.Sh NAME
@@ -320,16 +320,16 @@ end up sleeping while holding a mutex, which is not allowed.
.Xr rwlock 9 ,
.Xr sema 9
.Sh BUGS
-Currently there is no way to assert that a lock is not held.
-This is not possible in the
-.No non- Ns Dv WITNESS
-case for asserting that this thread
-does not hold a shared lock.
-In the
-.No non- Ns Dv WITNESS
-case, the
+A kernel without
+.Dv WITNESS
+cannot assert whether the current thread does or does not hold a shared lock.
.Dv SA_LOCKED
and
.Dv SA_SLOCKED
-assertions merely check that some thread holds a shared lock.
-They do not ensure that the current thread holds a shared lock.
+can only assert that
+.Em any
+thread holds a shared lock.
+They cannot ensure that the current thread holds a shared lock.
+Further,
+.Dv SA_UNLOCKED
+can only assert that the current thread does not hold an exclusive lock.
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index e4790ae2da29..57d08f308d1c 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -333,9 +333,11 @@ FreeBSD 5.2 | | | |
| | | | | DragonFly 4.2.0
| FreeBSD | | | |
| 10.2 | | | |
- | OS X NetBSD 7.0 | |
- | 10.11 | OpenBSD 5.8 |
- | | | | DragonFly 4.4.1
+ | | OS X NetBSD 7.0 | |
+ | | 10.11 | OpenBSD 5.8 |
+ | | | | | DragonFly 4.4.1
+ | FreeBSD | | OpenBSD 5.9 |
+ | 10.3 | | | |
| | | | |
FreeBSD 11 -current | NetBSD -current OpenBSD -current DragonFly -current
| | | | |
@@ -683,6 +685,8 @@ NetBSD 7.0 2015-09-25 [NBD]
OS X 10.11 2015-09-30 [APL]
OpenBSD 5.8 2015-10-18 [OBD]
DragonFly 4.4.1 2015-12-07 [DFB]
+OpenBSD 5.9 2016-03-29 [OBD]
+FreeBSD 10.3 2016-04-04 [FBD]
Bibliography
------------------------
diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors
index a4a8b76bb402..5ccce0fe2df7 100644
--- a/share/misc/pci_vendors
+++ b/share/misc/pci_vendors
@@ -3,11 +3,11 @@
#
# List of PCI ID's
#
-# Version: 2015.07.31
-# Date: 2015-07-31 03:15:02
+# Version: 2016.02.27
+# Date: 2016-02-27 03:15:01
#
-# Maintained by Martin Mares <mj@ucw.cz> and other volunteers from the
-# PCI ID Project at http://pci-ids.ucw.cz/.
+# Maintained by Albert Pool, Martin Mares, and other volunteers from
+# the PCI ID Project at http://pci-ids.ucw.cz/.
#
# New data are always welcome, especially if they are accurate. If you have
# anything to contribute, please follow the instructions at the web site.
@@ -23,6 +23,7 @@
# device device_name <-- single tab
# subvendor subdevice subsystem_name <-- two tabs
+0001 SafeNet (wrong ID)
0010 Allied Telesis, Inc (Wrong ID)
# This is a relabelled RTL-8139
8139 AT-2500TX V3 Ethernet
@@ -287,6 +288,10 @@
0050 SAS1064 PCI-X Fusion-MPT SAS
1028 1f04 SAS 5/E
1028 1f09 SAS 5i/R
+ 0052 MegaRAID SAS-3 3216/3224 [Cutlass]
+ 0053 MegaRAID SAS-3 3216/3224 [Cutlass]
+ 1000 9350 MegaRAID SAS 9341-16i
+ 1000 9351 MegaRAID SAS 9341-24i
0054 SAS1068 PCI-X Fusion-MPT SAS
1028 1f04 SAS 5/E Adapter Controller
1028 1f05 SAS 5/i Adapter Controller
@@ -364,6 +369,7 @@
1028 1f4c PERC H330 Mini (for blades)
1028 1f4d PERC H330 Embedded (for monolithic)
1054 306a SAS 3004 iMR ROMB
+ 1d49 04db ServeRAID M1210 SAS/SATA Controller
0060 MegaRAID SAS 1078
1000 1006 MegaRAID SAS 8888ELP
1000 100a MegaRAID SAS 8708ELP
@@ -482,6 +488,8 @@
0085 SAS2208 PCI-Express Fusion-MPT SAS-2
0086 SAS2308 PCI-Express Fusion-MPT SAS-2
0087 SAS2308 PCI-Express Fusion-MPT SAS-2
+ 1000 3020 9207-8i SAS2.1 HBA
+ 1000 3040 9207-8e SAS2.1 HBA
1590 0044 H220i
008f 53c875J
1092 8000 FirePort 40 SCSI Controller
@@ -494,6 +502,21 @@
0097 SAS3008 PCI-Express Fusion-MPT SAS-3
1028 1f45 12GB/s HBA internal
1028 1f46 12Gbps HBA
+ 00c0 SAS3324 PCI-Express Fusion-MPT SAS-3
+ 00c1 SAS3324 PCI-Express Fusion-MPT SAS-3
+ 00c2 SAS3324 PCI-Express Fusion-MPT SAS-3
+ 00c3 SAS3324 PCI-Express Fusion-MPT SAS-3
+ 00c4 SAS3224 PCI-Express Fusion-MPT SAS-3
+ 00c5 SAS3316 PCI-Express Fusion-MPT SAS-3
+ 00c6 SAS3316 PCI-Express Fusion-MPT SAS-3
+ 00c7 SAS3316 PCI-Express Fusion-MPT SAS-3
+ 00c8 SAS3316 PCI-Express Fusion-MPT SAS-3
+ 00c9 SAS3216 PCI-Express Fusion-MPT SAS-3
+ 00ce MegaRAID SAS-3 3316 [Intruder]
+ 1000 9371 MegaRAID SAS 9361-16i
+ 1000 9390 MegaRAID SAS 9380-8i8e
+ 00cf MegaRAID SAS-3 3324 [Intruder]
+ 1000 9370 MegaRAID SAS 9361-24i
0407 MegaRAID
1000 0530 MegaRAID 530 SCSI 320-0X RAID Controller
1000 0531 MegaRAID 531 SCSI 320-4X RAID Controller
@@ -1260,7 +1283,7 @@
5652 RV410/M26 [Mobility Radeon X700]
5653 RV410/M26 [Mobility Radeon X700]
1025 0080 Aspire 5024WLMi
- 103c 0940 HP Compaq NW8240 Mobile Workstation
+ 103c 0940 Compaq NW8240 Mobile Workstation
5654 264VT [Mach64 VT]
1002 5654 Mach64VT Reference
5655 264VT3 [Mach64 VT3]
@@ -1515,6 +1538,12 @@
1462 3271 Radeon R9 360 OEM
1682 7360 Radeon R7 360
6660 Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330]
+ 1028 05ea Radeon HD 8670M
+ 1028 06bf Radeon R5 M335
+ 103c 1970 Radeon HD 8670M
+ 103c 80be Radeon R5 M330
+ 103c 8136 Radeon R5 M330
+ 17aa 3804 Radeon R5 M330
17aa 3809 Radeon R5 M330
17aa 390c Radeon R5 M330
6663 Sun PRO [Radeon HD 8570A/8570M]
@@ -2075,6 +2104,7 @@
1458 228c R9 290X WindForce 3X
1458 228d R9 290X WindForce 3X OC
1458 2290 R9 290X WindForce 3X
+ 1458 22c1 Grenada PRO [Radeon R9 390]
1462 3070 R9 290X Lightning
1462 3071 R9 290X Lightning
1462 3072 R9 290X Lightning LE
@@ -2103,7 +2133,7 @@
1002 0310 FirePro S7000
1002 0420 Radeon Sky 500
6809 Pitcairn LE GL [FirePro W5000]
- 6810 Curacao XT [Radeon R7 370 / R9 270X/370 OEM]
+ 6810 Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
148c 0908 Radeon R9 370 OEM
1682 7370 Radeon R7 370
6811 Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
@@ -2743,20 +2773,42 @@
174b e180 Radeon HD 7350
17af 3015 Radeon HD 7350
68fe Cedar LE
- 6900 Topaz XT [Radeon R7 M260/M265]
- 1028 0640 Radeon R7 M265
+ 6900 Topaz XT [Radeon R7 M260/M265 / M340/M360]
+ 1025 1056 Radeon R7 M360 / R8 M365DX
+ 1028 0640 Radeon R7 M260/M265
+ 1028 0643 Radeon R7 M260/M265
+ 1028 067f Radeon R7 M260
+ 1028 130a Radeon R7 M260
+ 103c 2263 Radeon R7 M260
103c 2269 Radeon R7 M260
+ 103c 22c6 Radeon R7 M260
103c 22c8 Radeon R7 M260
+ 103c 808c Radeon R7 M260
+ 103c 8099 Radeon R7 M360
+ 103c 80b5 Radeon R7 M360
+ 103c 80b9 Radeon R7 M360
+ 103c 811c Radeon R7 M340
+ 10cf 1906 Radeon R7 M260
+ 1170 9979 Radeon R7 M360
1179 f903 Radeon R7 M260
+ 1179 f922 Radeon R7 M260
+ 1179 f923 Radeon R7 M260
1179 f934 Radeon R7 M260
+ 17aa 3822 Radeon R7 M360
+ 17aa 3824 Radeon R7 M360
+ 17aa 5021 Radeon R7 M260
6901 Topaz PRO [Radeon R5 M255]
+ 103c 1318 Radeon R6 M255DX
6921 Amethyst XT [Radeon R9 M295X]
- 6929 Tonga PRO GL [FirePro Series]
+ 6929 Tonga XT GL [FirePro S7150]
692b Tonga PRO GL [FirePro W7100]
- 692f Tonga XT GL [FirePro W8100]
- 6938 Amethyst XT [Radeon R9 M295X Mac Edition]
+ 692f Tonga XTV GL [FirePro S7150V]
+ 6938 Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X Mac Edition]
+ 174b e308 Radeon R9 380X Nitro 4G D5
6939 Tonga PRO [Radeon R9 285/380]
148c 9380 Radeon R9 380
+# Make naming scheme consistent
+ 174b e308 Radeon R9 380 Nitro 4G D5
700f RS100 AGP Bridge
7010 RS200/RS250 AGP Bridge
7100 R520 [Radeon X1800 XT]
@@ -2877,7 +2929,11 @@
72a8 RV570 [Radeon X1950 GT] (Secondary)
72b1 RV560 [Radeon X1650 XT] (Secondary)
72b3 RV560 [Radeon X1650 GT] (Secondary)
- 7300 Fiji XT [Radeon R9 FURY X]
+ 7300 Fiji [Radeon R9 FURY / NANO Series]
+ 1002 0b36 Radeon R9 FURY X / NANO
+ 1043 049e Radeon R9 FURY
+ 1043 04a0 Radeon R9 FURY X
+ 174b e329 Radeon R9 FURY
7833 RS350 Host Bridge
7834 RS350 [Radeon 9100 PRO/XT IGP]
7835 RS350M [Mobility Radeon 9000 IGP]
@@ -3144,10 +3200,12 @@
985f Mullins
9874 Carrizo
9900 Trinity [Radeon HD 7660G]
+ 103c 1985 Pavilion 17-e163sg Notebook PC
# AMD A10-5800K CPU
9901 Trinity [Radeon HD 7660D]
9902 Trinity HDMI Audio Controller
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
9903 Trinity [Radeon HD 7640G]
103c 194e ProBook 455 G1 Notebook
103c 1952 ProBook 455 G1 Notebook
@@ -3168,6 +3226,8 @@
9917 Trinity [Radeon HD 7620G]
9918 Trinity [Radeon HD 7600G]
9919 Trinity [Radeon HD 7500G]
+ 9920 Liverpool Graphics
+ 9921 Liverpool HDMI/DP Audio Controller
9990 Trinity [Radeon HD 7520G]
9991 Trinity [Radeon HD 7540D]
9992 Trinity [Radeon HD 7420G]
@@ -3214,6 +3274,11 @@
174b aa98 Radeon HD 6450 1GB DDR3
aaa0 Tahiti XT HDMI Audio [Radeon HD 7970 Series]
aab0 Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
+ aac0 Tobago HDMI Audio [Radeon R7 360 / R9 360 OEM]
+ aac8 Hawaii HDMI Audio
+# I have a Tonga card and this is the HDMI Audio part
+ aad8 Tonga HDMI Audio [Radeon R9 285/380]
+ 174b aad8 Radeon R9 285/380 HDMI Audio
ac00 Theater 600 Pro
ac02 TV Wonder HD 600 PCIe
ac12 Theater HD T507 (DVB-T) TV tuner/capture device
@@ -3630,9 +3695,12 @@
1014 049a PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE)
1014 04c7 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA)
1014 04c8 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2)
- 1014 0c49 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)
+ 1014 04c9 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD)
044b GenWQE Accelerator Adapter
04aa Flash Adapter 90 (PCIe2 0.9TB)
+ 04da PCI-E IPR SAS+ Adapter (ASIC)
+ 1014 04fb PCIe3 x16 20GB Cache 12Gb Quad SAS RAID+ Adapter(580B)
+ 1014 04fc PCIe3 x8 12Gb Quad SAS RAID+ Adapter(580A)
3022 QLA3022 Network Adapter
4022 QLA3022 Network Adapter
ffff MPIC-2 interrupt controller
@@ -3727,9 +3795,12 @@
1404 Family 15h (Models 10h-1fh) Processor Function 4
1405 Family 15h (Models 10h-1fh) Processor Function 5
1410 Family 15h (Models 10h-1fh) Processor Root Complex
+ 103c 1985 Pavilion 17-e163sg Notebook PC
1412 Family 15h (Models 10h-1fh) Processor Root Port
+ 1022 1234 Trinity A-series APU
1413 Family 15h (Models 10h-1fh) Processor Root Port
1414 Family 15h (Models 10h-1fh) Processor Root Port
+ 1022 1234 Trinity A-series APU
1415 Family 15h (Models 10h-1fh) Processor Root Port
1416 Family 15h (Models 10h-1fh) Processor Root Port
1417 Family 15h (Models 10h-1fh) Processor Root Port
@@ -3744,7 +3815,11 @@
1422 Family 15h (Models 30h-3fh) Processor Root Complex
1423 Family 15h (Models 30h-3fh) I/O Memory Management Unit
1426 Family 15h (Models 30h-3fh) Processor Root Port
+ 1436 Liverpool Processor Root Complex
+ 1437 Liverpool I/O Memory Management Unit
+ 1438 Liverpool Processor Root Port
1439 Family 16h Processor Functions 5:1
+ 145b Zeppelin Non-Transparent Bridge
1510 Family 14h Processor Root Complex
174b 1001 PURE Fusion Mini
1512 Family 14h Processor Root Port
@@ -3890,27 +3965,34 @@
7802 FCH SATA Controller [RAID mode]
7803 FCH SATA Controller [RAID mode]
7804 FCH SATA Controller [AHCI mode]
+ 103c 1985 Pavilion 17-e163sg Notebook PC
7805 FCH SATA Controller [RAID mode]
7806 FCH SD Flash Controller
7807 FCH USB OHCI Controller
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
7808 FCH USB EHCI Controller
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
7809 FCH USB OHCI Controller
103c 194e ProBook 455 G1 Notebook
780b FCH SMBus Controller
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
780c FCH IDE Controller
780d FCH Azalia Controller
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
1043 8444 F2A85-M Series
780e FCH LPC Bridge
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
780f FCH PCI Bridge
7812 FCH USB XHCI Controller
7813 FCH SD Flash Controller
7814 FCH USB XHCI Controller
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
7900 FCH SATA Controller [IDE mode]
7901 FCH SATA Controller [AHCI mode]
7902 FCH SATA Controller [RAID mode]
@@ -3923,6 +4005,7 @@
790f FCH PCI Bridge
7914 FCH USB XHCI Controller
9600 RS780 Host Bridge
+ 1043 82ee M378A-CM Motherboard
1043 82f1 M3A78-EH Motherboard
9601 RS880 Host Bridge
1019 2120 A785GM-M
@@ -4479,6 +4562,7 @@
103c 1293 USB add-in card
103c 1294 USB 2.0 add-in card
1179 0001 USB
+ 1186 0035 DUB-C2 USB 2.0 2-port 32-bit cardbus controller
12ee 7000 Root Hub
14c2 0105 PTI-205N USB 2.0 Host Controller
1799 0001 Root Hub
@@ -4510,6 +4594,7 @@
00ce uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller
00df Vr4131
00e0 uPD72010x USB 2.0 Controller
+ 1186 f100 DUB-C2 USB 2.0 2-port 32-bit cardbus controller
12ee 7001 Root hub
14c2 0205 PTI-205N USB 2.0 Host Controller
1799 0002 Root Hub
@@ -4796,30 +4881,30 @@
103c 3212 Smart Array E200
3239 Smart Array Gen9 Controllers
103c 21bd P244br
- 103c 21be Smart Array
+ 103c 21be P741m
103c 21bf H240ar
103c 21c0 P440ar
- 103c 21c1 Smart Array
+ 103c 21c1 P840ar
103c 21c2 P440
103c 21c3 P441
103c 21c4 Smart Array
- 103c 21c5 Smart Array
+ 103c 21c5 P841
103c 21c6 H244br
103c 21c7 H240
103c 21c8 H241
103c 21c9 Smart Array
- 103c 21ca Smart Array
+ 103c 21ca P246br
103c 21cb P840
103c 21cc Smart Array
- 103c 21cd Smart Array
- 103c 21ce Smart Array
+ 103c 21cd P240nr
+ 103c 21ce H240nr
323a Smart Array G6 controllers
103c 3241 Smart Array P212
103c 3243 Smart Array P410
103c 3245 Smart Array P410i
103c 3247 Smart Array P411
103c 3249 Smart Array P812
- 103c 324a HP Smart Array 712m (Mezzanine RAID controller)
+ 103c 324a Smart Array 712m (Mezzanine RAID controller)
103c 324b Smart Array P711m (Mezzanine RAID controller)
323b Smart Array Gen8 Controllers
103c 3350 P222
@@ -5140,6 +5225,7 @@
803b 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
103c 309f nx9420
103c 30a3 Compaq nw8440
+ 104d 8212 VAIO VGN-N21E
104d 902d VAIO VGN-NR120E
803c PCIxx12 SDA Standard Compliant SD Host Controller
103c 309f nx9420
@@ -5171,6 +5257,7 @@
1395 2201 WL22-PC
16ab 8501 WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter
8401 ACX 100 22Mbps Wireless Interface
+ 8888 Multicore DSP+ARM KeyStone II SOC
9000 Wireless Interface (of unknown type)
9065 TMS320DM642
9066 ACX 111 54Mbps Wireless Interface
@@ -5294,6 +5381,14 @@
8056 Rockwell HCF 56K modem
808a Memory Stick Controller
81ce SxS Pro memory card
+ 908f Aeolia ACPI
+ 909e Aeolia Ethernet Controller (Marvell Yukon 2 Family)
+ 909f Aeolia SATA AHCI Controller
+ 90a0 Aeolia SD/MMC Host Controller
+ 90a1 Aeolia PCI Express Glue and Miscellaneous Devices
+ 90a2 Aeolia DMA Controller
+ 90a3 Aeolia Memory (DDR3/SPM)
+ 90a4 Aeolia USB 3.0 xHCI Host Controller
104e Oak Technology, Inc
0017 OTI-64017
0107 OTI-107 [Spitfire]
@@ -5435,7 +5530,6 @@
6400 MPC190 Security Processor (S1 family, encryption)
6405 MPC184 Security Processor (S1 family)
1058 Electronics & Telecommunications RSH
-# Formerly: Teknor Industrial Computers Inc
1059 Kontron
105a Promise Technology, Inc.
0d30 PDC20265 (FastTrak100 Lite/Ultra100)
@@ -5701,6 +5795,7 @@
0074 U4 HT Bridge
# should be 14e4:1645
1645 Broadcom NetXtreme BCM5701 Gigabit Ethernet
+ 2001 PCI Express SSD
106c Hynix Semiconductor
8139 8139c 100BaseTX Ethernet Controller
8801 Dual Pentium ISA/PCI Motherboard
@@ -5757,13 +5852,52 @@
101e 8493 QLA12160 on AMI MegaRAID
1240 ISP1240 SCSI Host Adapter
1280 ISP1280 SCSI Host Adapter
+ 1634 FastLinQ QL45000 Series 40GbE Controller
+ 1077 e4f1 FastLinQ QL45212H 40GbE Adapter
+ 1077 e4f2 FastLinQ QL45211H 40GbE Adapter
+ 1077 e4f3 FastLinQ QL45412H 40GbE Adapter
+ 1077 e4f4 FastLinQ QL45411H 40GbE Adapter
+ 1644 FastLinQ QL45000 Series 100GbE Controller
+ 1077 e4f8 FastLinQ QL45611H 100GbE Adapter
+ 1656 FastLinQ QL45000 Series 25GbE Controller
+ 1077 e4f6 FastLinQ QL45211H 25GbE Adapter
+ 1077 e4f7 FastLinQ QL45212H 25GbE Adapter
+ 165c FastLinQ QL45000 Series 40GbE Controller (FCoE)
+ 1077 e4f1 FastLinQ QL45462H 40GbE FCoE Adapter
+ 1077 e4f2 FastLinQ QL45461H 40GbE FCoE Adapter
+ 165e FastLinQ QL45000 Series 40GbE Controller (iSCSI)
+ 1077 e4f1 FastLinQ QL45462H 40GbE iSCSI Adapter
+ 1077 e4f2 FastLinQ QL45461H 40GbE iSCSI Adapter
+ 1664 FastLinQ QL45000 Series Gigabit Ethernet Controller (SR-IOV VF)
+ 1077 e4f1 FastLinQ QL45462H 40GbE Adapter (SR-IOV VF)
+ 1077 e4f2 FastLinQ QL45461H 40GbE Adapter (SR-IOV VF)
+ 1077 e4f3 FastLinQ QL45412H 40GbE Adapter (SR-IOV VF)
+ 1077 e4f4 FastLinQ QL45411H 40GbE Adapter (SR-IOV VF)
+ 1077 e4f6 FastLinQ QL45211H 25GbE Adapter (SR-IOV VF)
+ 1077 e4f7 FastLinQ QL45212H 25GbE Adapter (SR-IOV VF)
+ 1077 e4f8 FastLinQ QL45611H 100GbE Adapter (SR-IOV VF)
2020 ISP2020A Fast!SCSI Basic Adapter
2031 ISP8324-based 16Gb Fibre Channel to PCI Express Adapter
+ 103c 17e7 HP SN1000Q 16Gb Single Port Fibre Channel Adapter
+ 103c 17e8 HP SN1000Q 16Gb Dual Port Fibre Channel Adapter
+ 103c 1939 HP QMH2672 16Gb Dual Port Fibre Channel Adapter
103c 8002 3830C 16G Fibre Channel Host Bus Adapter
+ 2071 ISP2714-based 16/32Gb Fibre Channel to PCIe Adapter
+ 1077 0283 QLE2764 Quad Port 32Gb Fibre Channel to PCIe Adapter
+ 1077 029e QLE2694 Quad Port 16Gb Fibre Channel to PCIe Adapter
+ 1077 02a2 QLE2694L Quad Port 16Gb Fibre Channel to PCIe Adapter
+ 1077 02ad QLE2694U Quad Port 16/32Gb Fibre Channel to PCIe Adapter
2100 QLA2100 64-bit Fibre Channel Adapter
1077 0001 QLA2100 64-bit Fibre Channel Adapter
2200 QLA2200 64-bit Fibre Channel Adapter
1077 0002 QLA2200
+ 2261 ISP2722-based 16/32Gb Fibre Channel to PCIe Adapter
+ 1077 0299 QLE2740 Single Port 32Gb Fibre Channel to PCIe Adapter
+ 1077 029a QLE2742 Dual Port 32Gb Fibre Channel to PCIe Adapter
+ 1077 029b QLE2690 Single Port 16Gb Fibre Channel to PCIe Adapter
+ 1077 029c QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter
+ 1590 00f9 HPE StoreFabric SN1100Q 16Gb Single Port Fibre Channel Host Bus Adapter
+ 1590 00fa HPE StoreFabric SN1100Q 16Gb Dual Port Fibre Channel Host Bus Adapter
2300 QLA2300 64-bit Fibre Channel Adapter
2312 ISP2312-based 2Gb Fibre Channel to PCI-X HBA
103c 0131 2Gb Fibre Channel - Single port [A7538A]
@@ -5777,6 +5911,7 @@
2532 ISP2532-based 8Gb Fibre Channel to PCI Express HBA
103c 3262 StorageWorks 81Q
1077 0167 QME2572 Dual Port FC8 HBA Mezzanine
+ 1590 00fc HPE StoreFabric 84Q 8Gb Quad Port Fibre Channel Host Bus Adapter
3022 ISP4022-based Ethernet NIC
3032 ISP4032-based Ethernet IPv6 NIC
4010 ISP4010-based iSCSI TOE HBA
@@ -5994,6 +6129,7 @@
1093 National Instruments
0160 PCI-DIO-96
0162 PCI-MIO-16XE-50
+ 0fe1 PXI-8320
1150 PCI-6533 (PCI-DIO-32HS)
1170 PCI-MIO-16XE-10
1180 PCI-MIO-16E-1
@@ -6085,7 +6221,10 @@
7004 PXI-6551
700b PXI-5421
700c PCI-5421
+ 701a VXIpc-87xB
+ 701b VXIpc-770
7023 PXI-2593
+ 7027 PCI-MXI-2 Universal
702c PXI-7831R
702d PCI-7831R
702e PXI-7811R
@@ -6354,6 +6493,7 @@
731d PXI-2536
7322 PXIe-6124
7327 PXI-6529
+ 732c VXI-8360T
7331 PXIe-5602
7332 PXIe-5601
7333 PXI-5900
@@ -6493,6 +6633,7 @@
75e5 PXI-6683
75e6 PXI-6683H
75ef PXIe-5632
+ 761c VXI-8360LT
761f PXI-2540
7620 PXIe-2540
7621 PXI-2541
@@ -6523,6 +6664,7 @@
76a3 PXIe-6535B
76a4 PXIe-6536B
76a5 PXIe-6537B
+ 783e PXI-8368
9020 PXI-2501
9030 PXI-2503
9040 PXI-2527
@@ -6532,6 +6674,7 @@
9080 PXI-2580
9090 PCI-4021
90a0 PXI-4021
+ a001 PCI-MXI-2
b001 PCI-1408
b011 PXI-1408
b021 PCI-1424
@@ -6621,7 +6764,9 @@
1093 762b PXIe-4138
1093 762c PXIe-4144
1093 762d PXIe-4145
+ 1093 762e PXIe-5606
1093 7644 PXIe-4841
+ 1093 764a PCIe-8237R-S
1093 7658 PXIe-5162 (4CH)
1093 76ab PXIe-4322
1093 76ad PXIe-4112
@@ -6629,14 +6774,25 @@
1093 76b5 PXIe-7971R
1093 76b6 PXIe-7972R
1093 76b7 PXIe-7975R
+ 1093 76b8 PXIe-5696
+ 1093 76b9 PXIe-5654
1093 76c8 PXIe-6614
1093 76c9 PXIe-6612
1093 76cb PXIe-5646R
1093 76cc PXIe-5162 (2CH)
+ 1093 76ce CVS-1459
1093 76d0 PXIe-5160 (2CH)
1093 76d1 PXIe-5160 (4CH)
1093 76dc PXIe-4610
+ 1093 76ec PXIe-2524
+ 1093 76ed PXIe-2525
+ 1093 76ee PXIe-2526
+ 1093 76ef PXIe-2737
+ 1093 76f0 PXIe-2738
+ 1093 76f1 PXIe-2739
1093 76fb PCIe-1473R-LX110
+ 1093 76fc PXIe-5105
+ 1093 76fd PXIe-5114
1093 76fe PXIe-5644R
1093 76ff PXIe-5644R
1093 7700 PXIe-5644R
@@ -6645,24 +6801,49 @@
1093 7703 PXIe-5645R
1093 770c PXIe-4139
1093 7711 PXIe-4464
+ 1093 7712 PXIe-4463
1093 7716 PCIe-6612
+ 1093 771d Unconfigured CA4 Switch
1093 771e PXIe-4339
1093 7735 cRIO-9033
+ 1093 773e PXIe-5624R
1093 774b cRIO-9031
1093 774d cRIO-9034
1093 7755 cRIO-9030
+ 1093 7768 PXIe-2747
+ 1093 7769 PXIe-2748
+ 1093 776a PXIe-2746
1093 7777 PXIe-7976R
1093 7782 PXIe-5646R
1093 7783 PXIe-5646R
1093 7784 PXIe-5646R
+ 1093 7790 PXIe-5170R (4CH)
+ 1093 7791 PXIe-5170R (8CH)
+ 1093 7793 PXIe-5171R (8CH)
1093 77a5 PXIe-6345
1093 77a6 PXIe-6355
1093 77a7 PXIe-6365
1093 77a8 PXIe-6375
+ 1093 77aa CVS-1458
+ 1093 77ad IC-3173
1093 77b4 PXIe-7820R
1093 77b5 PXIe-7821R
1093 77b6 PXIe-7822R
1093 77b9 cRIO-9038
+ 1093 77ba PXIe-4136
+ 1093 77bb PXIe-4137
+ 1093 77c0 PXIe-5624R
+ 1093 77c1 PXIe-5624R
+ 1093 77c2 PXIe-5624R
+ 1093 77ca PXIe-6738
+ 1093 77cb PXIe-6739
+ 1093 77db cRIO-9035
+ 1093 77dc cRIO-9036
+ 1093 77dd cRIO-9039
+ 1093 7802 PXIe-4302
+ 1093 7803 PXIe-4303
+ 1093 7805 PXIe-4305
+ 1093 788e PXIe-4304
c801 PCI-GPIB
c811 PCI-GPIB+
c821 PXI-GPIB
@@ -6700,6 +6881,13 @@
e251 PXI-8460 (2 ports)
e261 PCI-CAN/DS
e271 PXI-8462
+ f110 VMEpc-650
+ f120 VXIpc-650
+ fe00 VXIpc-87x
+ fe41 VXIpc-860
+ fe51 VXIpc-74x
+ fe61 VXIpc-850
+ fe70 VXIpc-880
1094 First International Computers [FIC]
# nee CMD Technology Inc
1095 Silicon Image, Inc.
@@ -7073,6 +7261,7 @@
8747 PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch
# This is the Non-Transparent-Bridge Virtualized Port as presented by the PLX PEX 8732 chip, the physical bridges show up at 10b5:8732
87b0 PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch
+ 1093 7761 PXIe-8830mc
9016 PLX 9016 8-port serial controller
9030 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge
10b5 2695 Hilscher CIF50-PB/DPS Profibus
@@ -7084,6 +7273,7 @@
10b5 3025 Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board
10b5 3068 Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board
10b5 3463 Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board
+ 10b5 3591 PLURA PCL PCI L (v2) (3.3V/5V): Time Code Reader Board
12fe 0111 CPCI-ASIO4 (ESD 4-port Serial Interface Board)
1369 9c01 VX222v2
1369 9d01 VX222-Mic
@@ -7096,7 +7286,7 @@
1369 a801 LCM200
1397 3136 4xS0-ISDN PCI Adapter
1397 3137 S2M-E1-ISDN PCI Adapter
- 1518 0200 Kontron ThinkIO-C
+ 1518 0200 ThinkIO-C
15ed 1002 MCCS 8-port Serial Hot Swap
15ed 1003 MCCS 16-port Serial Hot Swap
# MIL-STD-1553B Board
@@ -8751,7 +8941,7 @@
0446 MCP65 SMBus
103c 30cf Pavilion dv9668eg Laptop
0447 MCP65 SMU
- 103c 30cf Pavilion dv9668eg Laptop
+ 103c 30cf Pavilion dv9500/9600/9700 series
0448 MCP65 IDE
103c 30cf Pavilion dv9668eg Laptop
0449 MCP65 PCI bridge
@@ -9575,6 +9765,7 @@
0f00 GF108 [GeForce GT 630]
0f01 GF108 [GeForce GT 620]
0f02 GF108 [GeForce GT 730]
+ 0f06 GF108 [GeForce GT 730]
0fbb GM204 High Definition Audio Controller
0fc0 GK107 [GeForce GT 640 OEM]
0fc1 GK107 [GeForce GT 640]
@@ -9619,6 +9810,7 @@
0fea GK107M [GeForce GT 755M Mac Edition]
0fec GK107M [GeForce 710A]
0fed GK107M [GeForce 820M]
+ 0fee GK107M [GeForce 810M]
0fef GK107GL [GRID K340]
0ff1 GK107 [NVS 1000]
0ff2 GK107GL [GRID K1]
@@ -9747,6 +9939,7 @@
10c5 GT218 [GeForce 405]
10d8 GT218 [NVS 300]
1140 GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M]
+ 1019 0799 GeForce 820M
1019 999f GeForce GT 720M
1025 0600 GeForce GT 620M
1025 0606 GeForce GT 620M
@@ -9846,6 +10039,7 @@
1028 065e GeForce 820M
1028 0662 GeForce 820M
1028 068d GeForce 820M
+ 1028 06c1 GeForce 820M
103c 18ef GeForce GT 630M
103c 18f9 GeForce GT 630M
103c 18fb GeForce GT 630M
@@ -10052,12 +10246,18 @@
1854 0180 GeForce 710M
1854 0190 GeForce GT 720M
1854 0192 GeForce GT 720M
+ 1854 0224 GeForce 820M
+ 1b0a 01c0 GeForce 820M
1b0a 20dd GeForce GT 620M
1b0a 20df GeForce GT 620M
1b0a 210e GeForce 820M
1b0a 2202 GeForce GT 720M
1b0a 90d7 GeForce 820M
1b0a 90dd GeForce 820M
+ 1b50 5530 GeForce 820M
+ 1b6c 5531 GeForce GT 720M
+ 1bab 0106 GeForce 820M
+ 1d05 1013 GeForce 810M
1180 GK104 [GeForce GTX 680]
1043 83f1 GTX680-DC2-2GD5
3842 3682 GeForce GTX 680 Mac Edition
@@ -10185,6 +10385,7 @@
1287 GK208 [GeForce GT 730]
1288 GK208 [GeForce GT 720]
1289 GK208 [GeForce GT 710]
+ 128b GK208 [GeForce GT 710]
1290 GK208M [GeForce GT 730M]
103c 2afa GeForce GT 730A
103c 2b04 GeForce GT 730A
@@ -10209,7 +10410,7 @@
1296 GK208M [GeForce 825M]
1298 GK208M [GeForce GT 720M]
1299 GK208M [GeForce 920M]
- 129a GK208GL [N16V-GL]
+ 129a GK208M [GeForce 910M]
12a0 GK208
12b9 GK208GLM [Quadro K610M]
12ba GK208GLM [Quadro K510M]
@@ -10222,6 +10423,9 @@
1344 GM108M [GeForce 845M]
1346 GM108M [GeForce 930M]
1347 GM108M [GeForce 940M]
+ 1348 GM108M [GeForce 945A]
+ 1349 GM108M [GeForce 930M]
+ 134d GM108M [GeForce 940MX]
137a GM108GLM [Quadro K620M]
137d GM108M [GeForce 940A]
1380 GM107 [GeForce GTX 750 Ti]
@@ -10236,12 +10440,19 @@
1393 GM107M [GeForce 840M]
1398 GM107M [GeForce 845M]
139a GM107M [GeForce GTX 950M]
+ 17aa 362c GeForce GTX 950A
+ 17aa 362f GeForce GTX 950A
+ 17aa 363f GeForce GTX 950A
+ 17aa 3640 GeForce GTX 950A
+ 17aa 36b9 GeForce GTX 950A
139b GM107M [GeForce GTX 960M]
+ 103c 2b4c GeForce GTX 960A
139c GM107M [GeForce 940M]
13b0 GM107GLM [Quadro M2000M]
13b1 GM107GLM [Quadro M1000M]
13b2 GM107GLM [Quadro M600M]
13b3 GM107GLM [Quadro K2200M]
+ 13b9 GM107GL [NVS 810]
13ba GM107GL [Quadro K2200]
13bb GM107GL [Quadro K620]
13bc GM107GL [Quadro K1200]
@@ -10254,23 +10465,35 @@
13d7 GM204M [GeForce GTX 980M]
13d8 GM204M [GeForce GTX 970M]
13d9 GM204M [GeForce GTX 965M]
+ 13da GM204M [GeForce GTX 980]
13f0 GM204GL [Quadro M5000]
13f1 GM204GL [Quadro M4000]
13f2 GM204GL [Tesla M60]
+ 13f3 GM204GL [Tesla M6]
+ 13f8 GM204GLM [Quadro M5000M]
+ 13f9 GM204GLM [Quadro M4000M]
+ 13fa GM204GLM [Quadro M3000M]
1401 GM206 [GeForce GTX 960]
+ 1402 GM206 [GeForce GTX 950]
+ 1407 GM206 [GeForce GTX 750 v2]
+ 1427 GM206M [GeForce GTX 965M]
+ 1431 GM206GL [Tesla M4]
1617 GM204M [GeForce GTX 980M]
1618 GM204M [GeForce GTX 970M]
1619 GM204M [GeForce GTX 965M]
+ 161a GM204M [GeForce GTX 980]
+ 1667 GM204M [GeForce GTX 965M]
17c2 GM200 [GeForce GTX TITAN X]
17c8 GM200 [GeForce GTX 980 Ti]
17f0 GM200GL [Quadro M6000]
+ 17fd GM200GL [Tesla M40]
10df Emulex Corporation
0720 OneConnect NIC (Skyhawk)
- 103c 1934 HP FlexFabric 20Gb 2-port 650M Adapter
- 103c 1935 HP FlexFabric 20Gb 2-port 650FLB Adapter
- 103c 21d4 HP StoreFabric CN1200E 10Gb Converged Network Adapter
- 103c 220a HP FlexFabric 10Gb 2-port 556FLR-SFP+ Adapter
- 103c 803f HP Ethernet 10Gb 2-port 557SFP+ Adapter
+ 103c 1934 FlexFabric 20Gb 2-port 650M Adapter
+ 103c 1935 FlexFabric 20Gb 2-port 650FLB Adapter
+ 103c 21d4 StoreFabric CN1200E 10Gb Converged Network Adapter
+ 103c 220a FlexFabric 10Gb 2-port 556FLR-SFP+ Adapter
+ 103c 803f Ethernet 10Gb 2-port 557SFP+ Adapter
17aa 1056 ThinkServer OCm14102-UX-L AnyFabric
17aa 1057 ThinkServer OCm14104-UX-L AnyFabric
17aa 1059 ThinkServer OCm14104-UT-L AnyFabric
@@ -10308,6 +10531,7 @@
f0e5 Zephyr LightPulse Fibre Channel Host Adapter
f0f5 Neptune LightPulse Fibre Channel Host Adapter
f100 Saturn-X: LightPulse Fibre Channel Host Adapter
+ 103c 3282 8Gb Dual-port PCI-e FC HBA
f111 Saturn-X LightPulse Fibre Channel Host Adapter
f112 Saturn-X LightPulse Fibre Channel Host Adapter
f180 LPSe12002 EmulexSecure Fibre Channel Adapter
@@ -10423,8 +10647,14 @@
5229 RTS5229 PCI Express Card Reader
1025 0813 Aspire R7-571
103c 194e ProBook 455 G1 Notebook
+ 103c 1985 Pavilion 17-e163sg Notebook PC
+ 522a RTS522A PCI Express Card Reader
5249 RTS5249 PCI Express Card Reader
103c 1909 ZBook 15
+ 524a RTS524A PCI Express Card Reader
+ 5250 RTS5250 PCI Express Card Reader
+ 525a RTS525A PCI Express Card Reader
+ 5286 RTS5286 PCI Express Card Reader
5288 RTS5288 PCI Express Card Reader
5289 RTL8411 PCI Express Card Reader
1043 1457 K55A Laptop
@@ -10438,11 +10668,12 @@
8129 RTL-8129
10ec 8129 RT8129 Fast Ethernet Adapter
11ec 8129 RTL8111/8168 PCIe Gigabit Ethernet (misconfigured)
- 8136 RTL8101E/RTL8102E PCI Express Fast Ethernet controller
+ 8136 RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller
+ 103c 1985 Pavilion 17-e163sg Notebook PC
103c 2ab1 Pavilion p6774
103c 30cc Pavilion dv6700
1179 ff64 RTL8102E PCI-E Fast Ethernet NIC
- 17c0 1053 AzureWave AW-NE766 802.11B/G/N Mini PCIe Card Model RT2700E
+ 17c0 1053 RTL8101e Medion WIM 2210 Notebook PC [MD96850]
8138 RT8139 (B/C) Cardbus Fast Ethernet Adapter
10ec 8138 RT8139 (B/C) Fast Ethernet Adapter
8139 RTL-8100/8101L/8139 PCI Fast Ethernet Adapter
@@ -10511,7 +10742,7 @@
1043 11f5 A6J-Q008
1043 16d5 U6V/U31J laptop
1043 81aa P5B
- 1043 82c6 M3A78-EH Motherboard
+ 1043 82c6 M3A78 Series Motherboard
1043 83a3 M4A785TD Motherboard
1043 8432 P8P67 and other motherboards
1043 8505 P8 series motherboard
@@ -10581,7 +10812,6 @@
0405 Wildcard TE405P (2nd Gen)
0410 Wildcard TE410P (2nd Gen)
0600 Xilinx 6 Designs (Xilinx IP)
- 2b00 Zomojo Zcard
3fc0 RME Digi96
3fc1 RME Digi96/8
3fc2 RME Digi96/8 Pro
@@ -10775,6 +11005,8 @@
127d 0000 CineView II
8485 EM8485 REALmagic DVD/MPEG-4 A/V Decoder
8486 EM8486 REALmagic DVD/MPEG-4 A/V Decoder
+# Found in Cisco DMP-4305G
+ c621 EM8621L Digital Media Processor
c622 EM8622L MPEG-4.10 (H.264) and SMPTE 421M (VC-1) A/V Decoder
1106 VIA Technologies, Inc.
0102 Embedded VIA Ethernet Controller
@@ -11010,6 +11242,7 @@
1043 8095 A7V8X Motherboard (Realtek ALC650 codec)
1043 80a1 A7V8X-X Motherboard
1043 80b0 A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX])
+ 1043 80f3 ASUSTek SK8V motherboard
1043 810d Asus P5VD1-X (AD1888 codec [SoundMax])
1043 812a A8V Deluxe motherboard (Realtek ALC850 codec)
10ec 8168 High Definition Audio
@@ -11989,6 +12222,7 @@
1137 012c VIC 1340 Dual 40Gb MLOM
1137 012e VIC 1227 Dual 10Gb SFP+ PCIe
1137 0137 VIC 1380 Dual 40Gb Mezzanine
+ 1137 014d VIC 1385 Dual 40Gb PCIe
0041 VIC PCIe Downstream Port
0042 VIC Management Controller
1137 0047 VIC P81E PCIe Management Controller
@@ -11996,6 +12230,7 @@
1137 00cd VIC 1285 PCIe Management Controller
1137 00ce VIC 1225T PCIe Management Controller
1137 012e VIC 1227 PCIe Management Controller
+ 1137 014d VIC 1385 PCIe Management Controller
0043 VIC Ethernet NIC
1137 0047 VIC P81E PCIe Ethernet NIC
1137 0048 VIC M81KR Mezzanine Ethernet NIC
@@ -12008,6 +12243,7 @@
1137 012c VIC 1340 MLOM Ethernet NIC
1137 012e VIC 1227 PCIe Ethernet NIC
1137 0137 VIC 1380 Mezzanine Ethernet NIC
+ 1137 014d VIC 1385 PCIe Ethernet NIC
0044 VIC Ethernet NIC Dynamic
1137 0047 VIC P81E PCIe Ethernet NIC Dynamic
1137 0048 VIC M81KR Mezzanine Ethernet NIC Dynamic
@@ -12020,6 +12256,7 @@
1137 012c VIC 1340 MLOM Ethernet NIC Dynamic
1137 012e VIC 1227 PCIe Ethernet NIC Dynamic
1137 0137 VIC 1380 Mezzanine Ethernet NIC Dynamic
+ 1137 014d VIC 1385 PCIe Ethernet NIC Dynamic
0045 VIC FCoE HBA
1137 0047 VIC P81E PCIe FCoE HBA
1137 0048 VIC M81KR Mezzanine FCoE HBA
@@ -12032,6 +12269,7 @@
1137 012c VIC 1340 MLOM FCoE HBA
1137 012e VIC 1227 PCIe FCoE HBA
1137 0137 VIC 1380 Mezzanine FCoE HBA
+ 1137 014d VIC 1385 PCIe FCoE HBA
0046 VIC SCSI Controller
1137 012a VIC M4308 SCSI Controller
004e VIC 82 PCIe Upstream Port
@@ -12040,6 +12278,7 @@
1137 012a VIC M4308 Dual 40Gb
1137 012c VIC 1340 Dual 40Gb MLOM
1137 0137 VIC 1380 Dual 40Gb Mezzanine
+ 1137 014d VIC 1385 Dual 40Gb PCIe
00cf VIC Userspace NIC
1137 004f VIC 1280 Mezzanine Userspace NIC
1137 0084 VIC 1240 MLOM Userspace NIC
@@ -12053,7 +12292,7 @@
1138 Ziatech Corporation
8905 8905 [STD 32 Bridge]
1139 Dynamic Pictures, Inc
- 0001 VGA Compatable 3D Graphics
+ 0001 VGA Compatible 3D Graphics
113a FWB Inc
113b Network Computing Devices
113c Cyclone Microsystems, Inc.
@@ -12467,6 +12706,7 @@
144d c006 vpr Matrix 170B4 CardBus bridge
0476 RL5c476 II
1014 0185 ThinkPad A/T/X Series
+ 1014 0555 ThinkPad X41
1014 056c ThinkPad Z60t
1028 014f Latitude X300 laptop
1028 0188 Inspiron 6000 laptop
@@ -12513,14 +12753,14 @@
103c 30b5 Presario V3242AU
103c 30b7 Presario V6133CL
103c 30cc Pavilion dv6700
- 103c 30cf Pavilion dv9668eg Laptop
+ 103c 30cf Pavilion dv9500/9600/9700 series
1043 1237 A6J-Q008
1043 1967 V6800V
144d c018 X20 IV
17aa 20ca ThinkPad T61
0811 R5C811
0822 R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
- 1014 0556 ThinkPad X60s / Z60t
+ 1014 0556 ThinkPad X40 / X41 / X60s / Z60t
1014 0598 ThinkPad Z60m
1025 0121 Aspire 5920G
1028 0188 Inspiron 6000 laptop
@@ -12559,6 +12799,7 @@
1028 024f Dell Latitude e6500
103c 03b5 Presario V3242AU
103c 30b7 Presario V6133CL
+ 103c 30cf Pavilion dv9500/9600/9700 series
1183 0843 Alienware Aurora m9700
0852 xD-Picture Card Controller
1025 0121 Aspire 5920G
@@ -12686,7 +12927,6 @@
1198 Lambda Systems Inc
1199 Attachmate Corporation
0101 Advanced ISCA/PCI Adapter
- 6832 Sierra Wireless MC8780 Device
119a Mind Share, Inc.
119b Omega Micro Inc.
1221 82C092G
@@ -13721,14 +13961,14 @@
1273 Hughes Network Systems
0002 DirecPC
1274 Ensoniq
- 1171 ES1373 [AudioPCI] (also Creative Labs CT5803)
- 1371 ES1371 / Creative Labs CT2518 [AudioPCI-97]
+ 1171 ES1373 / Creative Labs CT5803 [AudioPCI]
+ 1371 ES1371 / Creative Labs CT2518/ES1373
0e11 0024 AudioPCI on Motherboard Compaq Deskpro
0e11 b1a7 ES1371, ES1373 AudioPCI
1033 80ac ES1371, ES1373 AudioPCI
1042 1854 Tazer
107b 8054 Tabor2
- 1274 1371 AudioPCI 64V/128 / Creative Sound Blaster CT4810
+ 1274 1371 AudioPCI 64V/128 / Creative CT4810/CT5803/CT5806 [Sound Blaster PCI]
1274 8001 CT4751 board
1462 6470 ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A
1462 6560 ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10
@@ -13779,10 +14019,10 @@
8086 5643 ES1371, ES1373 AudioPCI On Motherboard Vancouver
8086 5753 ES1371, ES1373 AudioPCI On Motherboard WS440BX
5000 ES1370 [AudioPCI]
- 5880 5880B [AudioPCI]
- 1274 2000 Creative Sound Blaster AudioPCI128
+ 5880 5880B / Creative Labs CT5880
+ 1274 2000 Creative CT4810 [Sound Blaster AudioPCI 128]
1274 2003 Creative SoundBlaster AudioPCI 128
- 1274 5880 Creative Sound Blaster AudioPCI128
+ 1274 5880 Creative CT4750 [Sound Blaster PCI 128]
1274 8001 Sound Blaster 16PCI 4.1ch
1458 a000 5880 AudioPCI On Motherboard 6OXET
1462 6880 5880 AudioPCI On Motherboard MS-6188 1.00
@@ -13948,9 +14188,10 @@
8213 IT8213 IDE Controller
1458 b000 GA-EG45M-DS2H Mainboard
8330 IT8330G
- 8872 IT8874F PCI Dual Serial Port Controller
+ 8872 IT887xF PCI to ISA I/O chip with SMB, GPIO, Serial or Parallel Port
8888 IT8888F/G PCI to ISA Bridge with SMB [Golden Gate]
8889 IT8889F PCI to ISA Bridge
+ 8893 IT8893E PCIe to PCI Bridge
e886 IT8330G
1284 Sahara Networks, Inc.
1285 Platform Technologies, Inc.
@@ -15032,6 +15273,8 @@
1752 PCI-1752
1754 PCI-1754
1756 PCI-1756
+# FPGA bridge to two SJA1000
+ c302 MIOe-3680 2-Port CAN-Bus MIOe Module with Isolation Protection
13ff Silicon Spice Inc
1400 Artx Inc
1401 9432 TX
@@ -15171,7 +15414,6 @@
1412 VIA Technologies Inc.
1712 ICE1712 [Envy24] PCI Multi-Channel I/O Controller
1412 1712 Hoontech ST Audio DSP 24
- 1412 3632 M-Audio Delta Audiophile 192
1412 d630 M-Audio Delta 1010
1412 d631 M-Audio Delta DiO
1412 d632 M-Audio Delta 66
@@ -15196,6 +15438,7 @@
1412 1724 Albatron PX865PE 7.1
1412 3630 M-Audio Revolution 7.1
1412 3631 M-Audio Revolution 5.1
+ 1412 3632 M-Audio Audiophile 192
153b 1145 Aureon 7.1 Space
153b 1147 Aureon 5.1 Sky
153b 1150 PHASE 22
@@ -15443,7 +15686,7 @@
5011 T520-LL-CR Unified Wire Ethernet Controller
5012 T560-CR Unified Wire Ethernet Controller
5013 T580-CHR Unified Wire Ethernet Controller
- 5014 T580-LP-SO-CR Unified Wire Ethernet Controller
+ 5014 T580-SO-CR Unified Wire Ethernet Controller
5015 T502-BT Unified Wire Ethernet Controller
5016 T580-OCP-SO Unified Wire Ethernet Controller
5017 T520-OCP-SO Unified Wire Ethernet Controller
@@ -15460,6 +15703,15 @@
5090 T540-5090 Unified Wire Ethernet Controller
5091 T522-5091 Unified Wire Ethernet Controller
5092 T520-5092 Unified Wire Ethernet Controller
+ 5093 T580-5093 Unified Wire Ethernet Controller
+ 5094 T540-5094 Unified Wire Ethernet Controller
+ 5095 T540-5095 Unified Wire Ethernet Controller
+ 5096 T580-5096 Unified Wire Ethernet Controller
+ 5097 T520-5097 Unified Wire Ethernet Controller
+ 5098 T580-5098 Unified Wire Ethernet Controller
+ 5099 T580-5099 Unified Wire Ethernet Controller
+ 509a T520-509A Unified Wire Ethernet Controller
+ 509b T540-509B Unified Wire Ethernet Controller
5401 T520-CR Unified Wire Ethernet Controller
5402 T522-CR Unified Wire Ethernet Controller
5403 T540-CR Unified Wire Ethernet Controller
@@ -15479,7 +15731,7 @@
5411 T520-LL-CR Unified Wire Ethernet Controller
5412 T560-CR Unified Wire Ethernet Controller
5413 T580-CHR Unified Wire Ethernet Controller
- 5414 T580-LP-SO-CR Unified Wire Ethernet Controller
+ 5414 T580-SO-CR Unified Wire Ethernet Controller
5415 T502-BT Unified Wire Ethernet Controller
5416 T580-OCP-SO Unified Wire Ethernet Controller
5417 T520-OCP-SO Unified Wire Ethernet Controller
@@ -15496,6 +15748,15 @@
5490 T540-5090 Unified Wire Ethernet Controller
5491 T522-5091 Unified Wire Ethernet Controller
5492 T520-5092 Unified Wire Ethernet Controller
+ 5493 T580-5093 Unified Wire Ethernet Controller
+ 5494 T540-5094 Unified Wire Ethernet Controller
+ 5495 T540-5095 Unified Wire Ethernet Controller
+ 5496 T580-5096 Unified Wire Ethernet Controller
+ 5497 T520-5097 Unified Wire Ethernet Controller
+ 5498 T580-5098 Unified Wire Ethernet Controller
+ 5499 T580-5099 Unified Wire Ethernet Controller
+ 549a T520-509A Unified Wire Ethernet Controller
+ 549b T540-509B Unified Wire Ethernet Controller
5501 T520-CR Unified Wire Storage Controller
5502 T522-CR Unified Wire Storage Controller
5503 T540-CR Unified Wire Storage Controller
@@ -15515,7 +15776,7 @@
5511 T520-LL-CR Unified Wire Storage Controller
5512 T560-CR Unified Wire Storage Controller
5513 T580-CHR Unified Wire Storage Controller
- 5514 T580-LP-SO-CR Unified Wire Storage Controller
+ 5514 T580-SO-CR Unified Wire Storage Controller
5515 T502-BT Unified Wire Storage Controller
5516 T580-OCP-SO Unified Wire Storage Controller
5517 T520-OCP-SO Unified Wire Storage Controller
@@ -15532,6 +15793,15 @@
5590 T540-5090 Unified Wire Storage Controller
5591 T522-5091 Unified Wire Storage Controller
5592 T520-5092 Unified Wire Storage Controller
+ 5593 T580-5093 Unified Wire Storage Controller
+ 5594 T540-5094 Unified Wire Storage Controller
+ 5595 T540-5095 Unified Wire Storage Controller
+ 5596 T580-5096 Unified Wire Storage Controller
+ 5597 T520-5097 Unified Wire Storage Controller
+ 5598 T580-5098 Unified Wire Storage Controller
+ 5599 T580-5099 Unified Wire Storage Controller
+ 559a T520-509A Unified Wire Storage Controller
+ 559b T540-509B Unified Wire Storage Controller
5601 T520-CR Unified Wire Storage Controller
5602 T522-CR Unified Wire Storage Controller
5603 T540-CR Unified Wire Storage Controller
@@ -15551,7 +15821,7 @@
5611 T520-LL-CR Unified Wire Storage Controller
5612 T560-CR Unified Wire Storage Controller
5613 T580-CHR Unified Wire Storage Controller
- 5614 T580-LP-SO-CR Unified Wire Storage Controller
+ 5614 T580-SO-CR Unified Wire Storage Controller
5615 T502-BT Unified Wire Storage Controller
5616 T580-OCP-SO Unified Wire Storage Controller
5617 T520-OCP-SO Unified Wire Storage Controller
@@ -15568,6 +15838,15 @@
5690 T540-5090 Unified Wire Storage Controller
5691 T522-5091 Unified Wire Storage Controller
5692 T520-5092 Unified Wire Storage Controller
+ 5693 T580-5093 Unified Wire Storage Controller
+ 5694 T540-5094 Unified Wire Storage Controller
+ 5695 T540-5095 Unified Wire Storage Controller
+ 5696 T580-5096 Unified Wire Storage Controller
+ 5697 T520-5097 Unified Wire Storage Controller
+ 5698 T580-5098 Unified Wire Storage Controller
+ 5699 T580-5099 Unified Wire Storage Controller
+ 569a T520-509A Unified Wire Storage Controller
+ 569b T540-509B Unified Wire Storage Controller
5701 T520-CR Unified Wire Ethernet Controller
5702 T522-CR Unified Wire Ethernet Controller
5703 T540-CR Unified Wire Ethernet Controller
@@ -15587,7 +15866,7 @@
5711 T520-LL-CR Unified Wire Ethernet Controller
5712 T560-CR Unified Wire Ethernet Controller
5713 T580-CR Unified Wire Ethernet Controller
- 5714 T580-LP-SO-CR Unified Wire Ethernet Controller
+ 5714 T580-SO-CR Unified Wire Ethernet Controller
5715 T502-BT Unified Wire Ethernet Controller
5780 T540-5080 Unified Wire Ethernet Controller
5781 T540-5081 Unified Wire Ethernet Controller
@@ -15602,6 +15881,11 @@
5790 T540-5090 Unified Wire Ethernet Controller
5791 T522-5091 Unified Wire Ethernet Controller
5792 T520-5092 Unified Wire Ethernet Controller
+ 5793 T580-5093 Unified Wire Ethernet Controller
+ 5794 T540-5094 Unified Wire Ethernet Controller
+ 5795 T540-5095 Unified Wire Ethernet Controller
+ 5796 T580-5096 Unified Wire Ethernet Controller
+ 5797 T520-5097 Unified Wire Ethernet Controller
5801 T520-CR Unified Wire Ethernet Controller [VF]
5802 T522-CR Unified Wire Ethernet Controller [VF]
5803 T540-CR Unified Wire Ethernet Controller [VF]
@@ -15621,7 +15905,7 @@
5811 T520-LL-CR Unified Wire Ethernet Controller [VF]
5812 T560-CR Unified Wire Ethernet Controller [VF]
5813 T580-CHR Unified Wire Ethernet Controller [VF]
- 5814 T580-LP-SO-CR Unified Wire Ethernet Controller [VF]
+ 5814 T580-SO-CR Unified Wire Ethernet Controller [VF]
5815 T502-BT Unified Wire Ethernet Controller [VF]
5816 T580-OCP-SO Unified Wire Ethernet Controller [VF]
5817 T520-OCP-SO Unified Wire Ethernet Controller [VF]
@@ -15638,6 +15922,15 @@
5890 T540-5090 Unified Wire Ethernet Controller [VF]
5891 T522-5091 Unified Wire Ethernet Controller [VF]
5892 T520-5092 Unified Wire Ethernet Controller [VF]
+ 5893 T580-5093 Unified Wire Ethernet Controller [VF]
+ 5894 T540-5094 Unified Wire Ethernet Controller [VF]
+ 5895 T540-5095 Unified Wire Ethernet Controller [VF]
+ 5896 T580-5096 Unified Wire Ethernet Controller [VF]
+ 5897 T520-5097 Unified Wire Ethernet Controller [VF]
+ 5898 T580-5098 Unified Wire Ethernet Controller [VF]
+ 5899 T580-5099 Unified Wire Ethernet Controller [VF]
+ 589a T520-509A Unified Wire Ethernet Controller [VF]
+ 589b T540-509B Unified Wire Ethernet Controller [VF]
a000 PE10K Unified Wire Ethernet Controller
1426 Storage Technology Corp.
1427 Better On-Line Solutions
@@ -15701,12 +15994,15 @@
9111 PCI-9111
9113 PCI-9113
9114 PCI-9114
+# 2-16 MB SRAM, 4x UART, I2C, misc I/O
+ a001 ADi-BSEC
# nee Loronix Information Systems Inc.
144b Verint Systems Inc.
144c Catalina Research Inc
144d Samsung Electronics Co Ltd
1600 Apple PCIe SSD
a800 XP941 PCIe SSD
+ a802 NVMe SSD Controller
a820 NVMe SSD Controller 171X
1028 1f95 Express Flash NVMe XS1715 SSD 400GB
1028 1f96 Express Flash NVMe XS1715 SSD 800GB
@@ -15717,6 +16013,12 @@
1028 1fbb Express Flash NVMe SM1715 1.6TB SFF
1028 1fbc Express Flash NVMe SM1715 1.6TB AIC
a821 NVMe SSD Controller 172X
+ 1028 1fb7 Express Flash NVMe PM1725 3.2TB SFF
+ 1028 1fb8 Express Flash NVMe PM1725 3.2TB AIC
+ 1028 1fb9 Express Flash NVMe PM1725 6.4TB AIC
+ 1028 1fc1 Express Flash NVMe PM1725 800GB SFF
+ 1028 1fc2 Express Flash NVMe PM1725 1.6TB SFF
+ 1028 1fc4 Express Flash NVMe PM1725 1.6TB AIC
144e OLITEC
144f Askey Computer Corp.
1450 Octave Communications Ind.
@@ -15787,7 +16089,6 @@
1485 ERMA - Electronic GmBH
1486 L3 Communications Telemetry & Instrumentation
1487 MARQUETTE Medical Systems
-1488 KONTRON Electronik GmBH
1489 KYE Systems Corporation
148a OPTO
148b INNOMEDIALOGIC Inc.
@@ -15826,9 +16127,9 @@
14a1 Systembase Co Ltd
14a2 Millennium Engineering Inc
14a3 Maverick Networks
-# registered as GVC/BCM Advanced Research
-14a4 Broadcom Corporation (Wrong ID)
- 4318 BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
+14a4 Lite-On Technology Corporation
+# Wrong vendor ID used
+ 4318 Broadcom BCM4318 [AirForce One 54g] 802.11g WLAN Controller
14a5 XIONICS Document Technologies Inc
14a6 INOVA Computers GmBH & Co KG
14a7 MYTHOS Systems Inc
@@ -16118,6 +16419,7 @@
1656 NetXtreme BCM5718 Gigabit Ethernet PCIe
1657 NetXtreme BCM5719 Gigabit Ethernet PCIe
103c 169d Ethernet 1Gb 4-port 331FLR Adapter
+ 103c 22be Ethernet 1Gb 4-port 331i Adapter
1659 NetXtreme BCM5721 Gigabit Ethernet PCI Express
1014 02c6 eServer xSeries server mainboard
1028 01e6 PowerEdge 860
@@ -16186,9 +16488,9 @@
167b NetXtreme BCM5755 Gigabit Ethernet PCI Express
103c 280a DC5750 Microtower
167d NetXtreme BCM5751M Gigabit Ethernet PCI Express
- 1014 0577 ThinkPad Z60t
- 103c 0934 HP nx8220
- 103c 0940 HP Compaq nw8240 Mobile Workstation
+ 1014 0577 ThinkPad X41 / Z60t
+ 103c 0934 nx8220
+ 103c 0940 Compaq nw8240 Mobile Workstation
17aa 2081 ThinkPad R60e
167e NetXtreme BCM5751F Fast Ethernet PCI Express
167f NetLink BCM5787F Fast Ethernet PCI Express
@@ -16211,15 +16513,15 @@
168d NetXtreme II BCM57840 10/20 Gigabit Ethernet
168e NetXtreme II BCM57810 10 Gigabit Ethernet
103c 1798 Flex-10 10Gb 2-port 530FLB Adapter [Meru]
- 103c 17a5 HP Flex-10 10Gb 2-port 530M Adapter
- 103c 18d3 HP Ethernet 10Gb 2-port 530T Adapter
- 103c 1930 HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter
- 103c 1931 HP StoreFabric CN1100R Dual Port Converged Network Adapter
- 103c 1932 HP FlexFabric 10Gb 2-port 534FLB Adapter
- 103c 1933 HP FlexFabric 10Gb 2-port 534M Adapter
- 103c 193a HP FlexFabric 10Gb 2-port 533FLR-T Adapter
- 103c 3382 HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter
- 103c 339d HP Ethernet 10Gb 2-port 530SFP+ Adapter
+ 103c 17a5 Flex-10 10Gb 2-port 530M Adapter
+ 103c 18d3 Ethernet 10Gb 2-port 530T Adapter
+ 103c 1930 FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter
+ 103c 1931 StoreFabric CN1100R Dual Port Converged Network Adapter
+ 103c 1932 FlexFabric 10Gb 2-port 534FLB Adapter
+ 103c 1933 FlexFabric 10Gb 2-port 534M Adapter
+ 103c 193a FlexFabric 10Gb 2-port 533FLR-T Adapter
+ 103c 3382 Ethernet 10Gb 2-port 530FLR-SFP+ Adapter
+ 103c 339d Ethernet 10Gb 2-port 530SFP+ Adapter
1690 NetXtreme BCM57760 Gigabit Ethernet PCIe
1691 NetLink BCM57788 Gigabit Ethernet PCIe
1028 04aa XPS 8300
@@ -16245,14 +16547,14 @@
16a0 NetLink BCM5785 Fast Ethernet
16a1 BCM57840 NetXtreme II 10 Gigabit Ethernet
16a2 BCM57840 NetXtreme II 10/20-Gigabit Ethernet
- 103c 1916 HP FlexFabric 20Gb 2-port 630FLB Adapter
- 103c 1917 HP FlexFabric 20Gb 2-port 630M Adapter
+ 103c 1916 FlexFabric 20Gb 2-port 630FLB Adapter
+ 103c 1917 FlexFabric 20Gb 2-port 630M Adapter
103c 2231 3820C 10/20Gb Converged Network Adapter
103c 22fa FlexFabric 10Gb 2-port 536FLB Adapter
16a3 NetXtreme BCM57786 Gigabit Ethernet PCIe
16a4 BCM57840 NetXtreme II Ethernet Multi Function
- 103c 1916 HP NPAR 20Gb 2-port 630FLB Adapter
- 103c 1917 HP NPAR 20Gb 2-port 630M Adapter
+ 103c 1916 NPAR 20Gb 2-port 630FLB Adapter
+ 103c 1917 NPAR 20Gb 2-port 630M Adapter
103c 2231 3820C 10/20Gb Converged Network Adapter (NPAR 1.5)
103c 22fa FlexFabric 10Gb 2-port 536FLB Adapter (NPAR 1.5)
# The Broadcom 57800 device has two 1Gig ports and two 10Gig ports. The subsystem information can be used to differentiate.
@@ -16298,32 +16600,32 @@
103c 703b NC373i Integrated Multifunction Gigabit Server Adapter
103c 703d NC373F PCI Express Multifunction Gigabit Server Adapter
16ad NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function
- 103c 1916 HP FlexFabric 20Gb 2-port 630FLB Adapter
- 103c 1917 HP FlexFabric 20Gb 2-port 630M Adapter
+ 103c 1916 FlexFabric 20Gb 2-port 630FLB Adapter
+ 103c 1917 FlexFabric 20Gb 2-port 630M Adapter
103c 2231 3820C 10/20Gb Converged Network Adapter (SR-IOV VF)
103c 22fa FlexFabric 10Gb 2-port 536FLB Adapter (SR-IOV VF)
16ae NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function
- 103c 1798 HP NPAR 10Gb 2-port 530FLB Adapter
- 103c 17a5 HP NPAR 10Gb 2-port 530M Adapter
- 103c 18d3 HP NPAR 10Gb 2-port 530T Adapter
- 103c 1930 HP NPAR 10Gb 2-port 534FLR-SFP+ Adapter
- 103c 1931 HP NPAR CN1100R Dual Port Converged Network Adapter
- 103c 1932 HP NPAR 10Gb 2-port 534FLB Adapter
- 103c 1933 HP NPAR 10Gb 2-port 534M Adapter
- 103c 193a HP NPAR 10Gb 2-port 533FLR-T Adapter
- 103c 3382 HP NPAR 10Gb 2-port 530FLR-SFP+ Adapter
- 103c 339d HP NPAR 10Gb 2-port 530SFP+ Adapter
+ 103c 1798 NPAR 10Gb 2-port 530FLB Adapter
+ 103c 17a5 NPAR 10Gb 2-port 530M Adapter
+ 103c 18d3 NPAR 10Gb 2-port 530T Adapter
+ 103c 1930 NPAR 10Gb 2-port 534FLR-SFP+ Adapter
+ 103c 1931 NPAR CN1100R Dual Port Converged Network Adapter
+ 103c 1932 NPAR 10Gb 2-port 534FLB Adapter
+ 103c 1933 NPAR 10Gb 2-port 534M Adapter
+ 103c 193a NPAR 10Gb 2-port 533FLR-T Adapter
+ 103c 3382 NPAR 10Gb 2-port 530FLR-SFP+ Adapter
+ 103c 339d NPAR 10Gb 2-port 530SFP+ Adapter
16af NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function
- 103c 1798 HP Flex-10 10Gb 2-port 530FLB Adapter
- 103c 17a5 HP Flex-10 10Gb 2-port 530M Adapter
- 103c 18d3 HP Ethernet 10Gb 2-port 530T Adapter
- 103c 1930 HP FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter
- 103c 1931 HP StoreFabric CN1100R Dual Port Converged Network Adapter
- 103c 1932 HP FlexFabric 10Gb 2-port 534FLB Adapter
- 103c 1933 HP FlexFabric 10Gb 2-port 534M Adapter
- 103c 193a HP FlexFabric 10Gb 2-port 533FLR-T Adapter
- 103c 3382 HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter
- 103c 339d HP Ethernet 10Gb 2-port 530SFP+ Adapter
+ 103c 1798 Flex-10 10Gb 2-port 530FLB Adapter
+ 103c 17a5 Flex-10 10Gb 2-port 530M Adapter
+ 103c 18d3 Ethernet 10Gb 2-port 530T Adapter
+ 103c 1930 FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter
+ 103c 1931 StoreFabric CN1100R Dual Port Converged Network Adapter
+ 103c 1932 FlexFabric 10Gb 2-port 534FLB Adapter
+ 103c 1933 FlexFabric 10Gb 2-port 534M Adapter
+ 103c 193a FlexFabric 10Gb 2-port 533FLR-T Adapter
+ 103c 3382 Ethernet 10Gb 2-port 530FLR-SFP+ Adapter
+ 103c 339d Ethernet 10Gb 2-port 530SFP+ Adapter
16b0 NetXtreme BCM57761 Gigabit Ethernet PCIe
16b1 NetLink BCM57781 Gigabit Ethernet PCIe
1849 96b1 Z77 Extreme4 motherboard
@@ -16348,6 +16650,14 @@
103c 1321 Core I/O LAN/SCSI Combo [AB314A]
14e4 0009 NetXtreme BCM5703 1000Base-T
14e4 000a NetXtreme BCM5703 1000Base-SX
+ 16c8 BCM57301 NetXtreme-C Single-port 10Gb Ethernet
+ 16c9 BCM57302 NetXtreme-C Dual-port 10Gb/25Gb Ethernet
+ 16ca BCM57304 NetXtreme-C Dual-port 10Gb/25Gb/40Gb/50Gb Ethernet
+ 16cb BCM57304 NetXtreme-C Ethernet Virtual Function
+ 16d0 BCM57402 NetXtreme-E Dual-port 10Gb Ethernet
+ 16d1 BCM57404 NetXtreme-E Dual-port 10Gb/25Gb Ethernet
+ 16d2 BCM57406 NetXtreme-E Dual-port 10GBase-T Ethernet
+ 16d3 BCM57404 NetXtreme-E Ethernet Virtual Function
16dd NetLink BCM5781 Gigabit Ethernet PCI Express
16f3 NetXtreme BCM5727 Gigabit Ethernet PCIe
16f7 NetXtreme BCM5753 Gigabit Ethernet PCI Express
@@ -16548,6 +16858,7 @@
43a0 BCM4360 802.11ac Wireless Network Adapter
43a1 BCM4360 802.11ac Wireless Network Adapter
43a2 BCM4360 802.11ac Wireless Network Adapter
+ 43a3 BCM4350 802.11ac Wireless Network Adapter
43a9 BCM43217 802.11b/g/n
43aa BCM43131 802.11b/g/n
43b1 BCM4352 802.11ac Wireless Network Adapter
@@ -16562,6 +16873,7 @@
4401 BCM4401 100Base-T
1025 0035 TravelMate 660
1025 0064 Extensa 3000 series laptop
+ 1028 8127 Dimension 2400
103c 08b0 tc1100 tablet
1043 80a8 A7V8X motherboard
4402 BCM4402 Integrated 10/100BaseT
@@ -16778,6 +17090,8 @@
2464 HSF 56k Data/Fax/Voice Modem (Mob SmartDAA)
2465 HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob SmartDAA)
2466 HSF 56k Data/Fax/Voice/Spkp Modem (Mob SmartDAA)
+ 2702 HSFi modem RD01-D270
+ 1028 8d88 SmartHSFi V92 56K PCI Modem
2f00 HSF 56k HSFi Modem
13e0 8d84 IBM HSFi V.90
13e0 8d85 Compaq Stinger
@@ -16972,8 +17286,8 @@
1320 10bd SURECOM EP-320X-S 100/10M Ethernet PCI Adapter
0891 MTD-8xx 100/10M Ethernet PCI Adapter
1517 ECHOTEK Corp
-# nee PEP MODULAR Computers GmbH
-1518 Kontron Modular Computers GmbH
+# old ID, now 1059
+1518 Kontron
1519 TELEFON AKTIEBOLAGET LM Ericsson
151a Globetek
1002 PCI-1002
@@ -17194,8 +17508,8 @@
158d Point Multimedia Systems
158e Lara Technology Inc
158f Ditect Coop
-# nee 3PAR Inc.
-1590 Hewlett-Packard Company
+# formerly 3PAR Inc.
+1590 Hewlett Packard Enterprise
0001 Eagle Cluster Manager
0002 Osprey Cluster Manager
0003 Harrier Cluster Manager
@@ -17263,6 +17577,9 @@
01ff MT27600 Family [Connect-IB Flash Recovery]
0209 MT27700 Family [ConnectX-4 Flash Recovery]
020b MT27710 Family [ConnectX-4 Lx Flash Recovery]
+ 020d MT28800 Family [ConnectX-5 Flash Recovery]
+ 0262 MT27710 [ConnectX-4 Lx Programmable] EN
+ 0263 MT27710 [ConnectX-4 Lx Programmable Virtual Function] EN
1002 MT25400 Family [ConnectX-2 Virtual Function]
1003 MT27500 Family [ConnectX-3]
103c 1777 InfiniBand FDR/EN 10/40Gb Dual Port 544FLR-QSFP Adapter (Rev Cx)
@@ -17276,6 +17593,7 @@
1007 MT27520 Family [ConnectX-3 Pro]
103c 22f3 InfiniBand FDR/Ethernet 10Gb/40Gb 2-port 544+QSFP Adapter
103c 22f4 InfiniBand FDR/Ethernet 10Gb/40Gb 2-port 544+FLR-QSFP Adapter
+ 103c 801f Ethernet 10G 2-port 546SFP+ Adapter
117c 0090 FastFrame NQ41
117c 0091 FastFrame NQ42
117c 0092 FastFrame NQ11
@@ -17294,8 +17612,17 @@
1014 MT27700 Family [ConnectX-4 Virtual Function]
1015 MT27710 Family [ConnectX-4 Lx]
1016 MT27710 Family [ConnectX-4 Lx Virtual Function]
- 1017 MT27640 Family
- 1018 MT27641 Family
+ 1017 MT27800 Family [ConnectX-5, PCIe 3.0]
+ 1018 MT28800 Family [ConnectX-5 Virtual Function]
+ 1019 MT28800 Family [ConnectX-5, PCIe 4.0]
+ 101a MT28830
+ 101b MT28831
+ 101c MT28840
+ 101d MT28841
+ 101e MT28850
+ 101f MT28851
+ 1020 MT28860
+ 1021 MT28861
5274 MT21108 InfiniBridge
5a44 MT23108 InfiniHost
5a45 MT23108 [Infinihost HCA Flash Recovery]
@@ -17321,9 +17648,20 @@
15b3 0018 HP 10 GbE PCI-e G2 Dual-Port NIC (rev C1)
675a MT25408 [ConnectX EN 10GigE 10GBaseT, PCIe Gen2 5GT/s]
6764 MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+]
- 103c 3313 HP NC542m Dual Port Flex-10 10GbE BLc Adapter
+ 103c 3313 NC542m Dual Port Flex-10 10GbE BLc Adapter
676e MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s]
6778 MT26488 [ConnectX VPI PCIe 2.0 5GT/s - IB DDR / 10GigE Virtualization+]
+ 7101 NPS-400 configuration and management interface
+ 7102 NPS-400 network interface PF
+ 7103 NPS-400 network interface VF
+ 7121 NPS-600 configuration and management interface
+ 7122 NPS-600 network interface PF
+ 7123 NPS-600 network interface VF
+# SwitchX-2, 40GbE switch
+ c738 MT51136
+ caf1 ConnectX-4 CAPI Function
+# Spectrum, 100GbE Switch
+ cb84 MT52100
15b4 CCI/TRIAD
15b5 Cimetrics Inc
15b6 Texas Memory Systems Inc
@@ -17502,15 +17840,15 @@
1642 Bitland(ShenZhen) Information Technology Co., Ltd.
1657 Brocade Communications Systems, Inc.
0013 425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA
- 103c 1742 HP 82B 8Gbps dual port FC HBA
- 103c 1744 HP 42B 4Gbps dual port FC HBA
+ 103c 1742 82B 8Gbps dual port FC HBA
+ 103c 1744 42B 4Gbps dual port FC HBA
1657 0014 425/825 4Gbps/8Gbps PCIe dual port FC HBA
0014 1010/1020/1007/1741 10Gbps CNA
1657 0014 1010/1020/1007/1741 10Gbps CNA - FCOE
1657 0015 1010/1020/1007/1741 10Gbps CNA - LL
0017 415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA
- 103c 1741 HP 41B 4Gbps single port FC HBA
- 103c 1743 HP 81B 8Gbps single port FC HBA
+ 103c 1741 41B 4Gbps single port FC HBA
+ 103c 1743 81B 8Gbps single port FC HBA
1657 0014 415/815 4Gbps/8Gbps single port PCIe FC HBA
0021 804 8Gbps FC HBA for HP Bladesystem c-class
# AnyIO Adapter
@@ -17797,6 +18135,7 @@
0777 4005 SR71-15 802.11an Mini PCI Adapter
1186 3a7a DWA-552 802.11n Xtreme N Desktop Adapter (rev A2)
1186 3a7d DWA-552 802.11n Xtreme N Desktop Adapter (rev A3)
+ 168c 2096 Compex WLM200NX / Wistron DNMA-92
002a AR928X Wireless Network Adapter (PCI-Express)
0777 4f05 SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280]
103c 3041 AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280]
@@ -17837,8 +18176,10 @@
1a56 2000 Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382]
1a56 2001 Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380]
0032 AR9485 Wireless Network Adapter
+ 1028 0208 Wireless 1506 WLAN Half Mini-Card
103c 1838 AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter
105b e044 Unex DHXA-225
+ 1a3b 1186 AW-NE186H
0033 AR9580 Wireless Network Adapter
0034 AR9462 Wireless Network Adapter
1a56 2003 Killer Wireless-N 1202 Half-size Mini PCIe Card
@@ -17849,6 +18190,9 @@
003c QCA986x/988x 802.11ac Wireless Network Adapter
003e QCA6174 802.11ac Wireless Network Adapter
1a56 1525 Killer N1525 Wireless-AC
+ 0040 QCA9980/9990 802.11ac Wireless Network Adapter
+ 0041 QCA6164 802.11ac Wireless Network Adapter
+ 0050 QCA9887 802.11ac Wireless Network Adapter
0207 AR5210 Wireless Network Adapter [AR5000 802.11a]
1014 AR5212 802.11abg NIC
1014 058a ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6)
@@ -17874,6 +18218,8 @@
0001 SafeXcel 1140
000a SafeXcel 1841
1141 SafeXcel 1141
+# misused vendor ID 0001
+ 0001 0001 SafeXcel 1141 v. 1.1
1841 SafeXcel 1842
16af SparkLAN Communications, Inc.
16b4 Aspex Semiconductor Ltd
@@ -18139,6 +18485,8 @@
6816 TW6816 multimedia video controller
# channel 8 of 8
6817 TW6816 multimedia video controller
+# Example MuniPCI-E card: http://www.commell.com.tw/product/surveillance/MPX-6864.htm
+ 6864 TW6864 multimedia video controller
1799 Belkin
6001 F5D6001 Wireless PCI Card [Realtek RTL8180]
6020 F5D6020 v3000 Wireless PCMCIA Card [Realtek RTL8180]
@@ -18192,6 +18540,11 @@
1170 ARC-1170 24-Port PCI-X to SATA RAID Controller
1201 ARC-1200 2-Port PCI-Express to SATA II RAID Controller
1210 ARC-1210 4-Port PCI-Express to SATA RAID Controller
+ 1214 ARC-12x4 PCIe 2.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1214 ARC-1214 4-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1224 ARC-1224 8-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1264 ARC-1264 12/16 Port PCIe 2.0 to SATA 6Gb RAID Controller
+ 17d3 1284 ARC-1284 24 Port PCIe 2.0 to SATA 6Gb RAID Controller
1220 ARC-1220 8-Port PCI-Express to SATA RAID Controller
1222 ARC-1222 8-Port PCI-Express to SAS/SATA II RAID Controller
1230 ARC-1230 12-Port PCI-Express to SATA RAID Controller
@@ -18199,9 +18552,22 @@
1280 ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller
17d3 1221 ARC-1221 8-Port PCI-Express to SATA RAID Controller
1300 ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter
- 1680 ARC-1680 8 port PCIe/PCI-X to SAS/SATA II RAID Controller
+ 1320 ARC-1320 8/16 Port PCIe 2.0 to SAS/SATA 6Gb Non-RAID Host Adapter
+ 1330 ARC-1330 16 Port PCIe 3.0 to SAS/SATA 12Gb Non-RAID Host Adapter
+ 1680 ARC-1680 series PCIe to SAS/SATA 3Gb RAID Controller
17d3 1212 ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller
- 1880 ARC-1880 8/12 port PCIe/PCI-X to SAS/SATA II RAID Controller
+ 17d3 1222 ARC-1222 8-Port PCIe to SAS/SATA 3Gb RAID Controller
+ 17d3 1680 ARC-1680 8/12/16/24 Port PCIe to SAS/SATA 3Gb RAID Controller
+ 1880 ARC-188x series PCIe 2.0/3.0 to SAS/SATA 6/12Gb RAID Controller
+ 17d3 1213 ARC-1213 4-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1215 ARC-1215 4-Port PCIe 3.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1216 ARC-1216 4-Port PCIe 3.0 to SAS/SATA 12Gb RAID Controller
+ 17d3 1223 ARC-1223 8-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1225 ARC-1225 8-Port PCIe 3.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1226 ARC-1226 8-Port PCIe 3.0 to SAS/SATA 12Gb RAID Controller
+ 17d3 1880 ARC-1880 8/12/16/24 Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1882 ARC-1882 8/12/16/24 Port PCIe 3.0 to SAS/SATA 6Gb RAID Controller
+ 17d3 1883 ARC-1883 8/12/16/24 Port PCIe 3.0 to SAS/SATA 12Gb RAID Controller
# nee Neterion Inc., previously S2io Inc.
17d5 Exar Corp.
5731 Xframe 10-Gigabit Ethernet PCI-X
@@ -18308,6 +18674,7 @@
13d1 abe3 miniPCI Pluscom 802.11 a/b/g
1458 e933 GN-WI01GS
1458 e934 GN-WP01GS
+ 1462 b833 MP54G5 (MS-6833B)
1737 0055 WMP54G v4.1
1799 700e F5D7000 v6000 Wireless G Desktop Card
1799 701e F5D7010 v6000 Wireless G Notebook Card
@@ -18353,6 +18720,7 @@
5390 RT5390 Wireless 802.11n 1T/1R PCIe
103c 1636 U98Z077.00 Half-size Mini PCIe Card
5392 RT5392 PCIe Wireless Network Adapter
+ 539b RT5390R 802.11bgn PCIe Wireless Network Adapter
539f RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip]
103c 1637 Pavilion DM1Z-3000 PCIe wireless card
5592 RT5592 PCIe Wireless Network Adapter
@@ -18381,6 +18749,8 @@
1849 ASRock Incorporation
184a Thales Computers
1100 MAX II cPLD
+1850 Advantest Corporation
+ 0048 EK220-66401 Computer Interface Card
1851 Microtune, Inc.
1852 Anritsu Corp.
1853 SMSC Automotive Infotainment System Group
@@ -18544,6 +18914,7 @@
0135 NT20E2-PTP Network Adapter 2x10Gb
0145 NT40E3-4-PTP Network Adapter 4x10Gb
0155 NT100E3-1-PTP Network Adapter 1x100Gb
+ 0165 NT80E3-2-PTP Network Adapter 2x40Gb
0175 NT20E3-2-PTP Network Adapter 2x10Gb
18f6 NextIO
1000 [Nexsis] Switch Virtual P2P PCIe Bridge
@@ -18605,6 +18976,9 @@
0013 SH7757 PCIe Switch [PS]
0014 uPD720201 USB 3.0 Host Controller
0015 uPD720202 USB 3.0 Host Controller
+ 001a SH7758 PCIe-PCI Bridge [PPB]
+ 001b SH7758 PCIe End-Point [PBI]
+ 001d SH7758 PCIe Switch [PS]
1919 Soltek Computer Inc.
1923 Sangoma Technologies Corp.
0040 A200/Remora FXO/FXS Analog AFT card
@@ -18688,13 +19062,16 @@
1924 8007 SFN7322F-R2 Precision Time SFP+ Server Adapter
1924 8009 SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter
1924 800a SFN7x02F-R2 Flareon 7000 Series 10G Adapter
- 1924 800b SFN7x22F-R3 Flareon Ultra 7000 Series 10G Adapter
1924 800c SFN7x22F-R3 Flareon Ultra 7000 Series 10G Adapter
1924 800d SFN7x02F-R3 Flareon 7000 Series 10G Adapter
+ 1924 8010 SFA7942Q-R1 QSFP+ AOE Adapter
0923 SFC9140
1924 800b SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter
1924 800e SFN7x42Q-R2 Flareon Ultra 7000 Series 10/40G Adapter
1924 800f SFN7xx4F-R1 Flareon Ultra 7000 Series 10G Adapter
+ 0a03 SFC9220
+ 1924 8012 SFN8522-R1 Flareon Ultra 8000 Series 10G Adapter
+ 1924 8014 SFN8542-R1 Flareon Ultra 8000 Series 10/40G Adapter
1803 SFC9020 Virtual Function [Solarstorm]
1813 SFL9021 Virtual Function [Solarstorm]
1903 SFC9120 Virtual Function
@@ -18827,6 +19204,8 @@
1a56 1201 Killer E2100 Gigabit Ethernet Controller
# PCIe interface for emulator
fc02 RedStone
+# CFI device over PCIe
+ fc03 CFI
1958 Faster Technology, LLC.
1959 PA Semi, Inc
a000 PA6T Core
@@ -18861,6 +19240,7 @@
1073 AR8151 v1.0 Gigabit Ethernet
1083 AR8151 v2.0 Gigabit Ethernet
1090 AR8162 Fast Ethernet
+ 1043 108d VivoBook X202E, X202EV
1091 AR8161 Gigabit Ethernet
1043 1477 N56VZ
10a0 QCA8172 Fast Ethernet
@@ -18870,6 +19250,7 @@
2062 AR8152 v2.0 Fast Ethernet
# E2200, E2201, E2205
e091 Killer E220x Gigabit Ethernet Controller
+ e0a1 Killer E2400 Gigabit Ethernet Controller
196a Sensory Networks Inc.
0101 NodalCore C-1000 Content Classification Accelerator
0102 NodalCore C-2000 Content Classification Accelerator
@@ -18931,6 +19312,7 @@
8521 AU8521 TV card
# nee ServerEngines Corp.
19a2 Emulex Corporation
+ 0120 x1 PCIe Gen2 Bridge[Pilot4]
0200 BladeEngine 10Gb PCI-E iSCSI adapter
0201 BladeEngine 10Gb PCIe Network Adapter
0211 BladeEngine2 10Gb Gen2 PCIe Network Adapter
@@ -19075,6 +19457,7 @@
0001 Vulcan SP HT6210 10-Gigabit Ethernet (rev 02)
1a88 MEN Mikro Elektronik
4d45 Multifunction IP core
+1a8a StarBridge, Inc.
1a8c Verigy Pte. Ltd.
1100 E8001-66443 PCI Express CIC
1a8e DRS Technologies
@@ -19260,6 +19643,8 @@
1b85 OCZ Technology Group, Inc.
1041 RevoDrive 3 X2 PCI-Express SSD 240 GB (Marvell Controller)
8788 RevoDrive Hybrid
+1b94 Signatec / Dynamic Signals Corp
+ e400 PX14400 Dual Xilinx Virtex5 based Digitizer
1b96 Western Digital
1b9a XAVi Technologies Corp.
1bad ReFLEX CES
@@ -19277,6 +19662,12 @@
1bb1 6511 Nytro XH6550-2GB DRAM
# 8GB variant of Nytro PCIe controller
1bb1 6512 Nytro XH6550-8GB DRAM
+# 1.5 TB Nytro PCIe controller
+ 1bb1 6521 Nytro XP6500-8A1536 1.5TB
+# 2TB Nytro PCIe controller
+ 1bb1 6522 Nytro XP6500-8A2048
+# 4TB Nytro PCIe controller
+ 1bb1 6523 Nytro XP6500-8A4096
1bb3 Bluecherry
4304 BC-04120A MPEG4 4 port video encoder / decoder
4309 BC-08240A MPEG4 4 port video encoder / decoder
@@ -19299,6 +19690,7 @@
1101 OmniBus II PCIe Multi-Protocol Interface Card
1102 OmniBusBox II Multi-Protocol Interface Core
1103 OmniBus II cPCIe/PXIe Multi-Protocol Interface Card
+1bd4 Inspur Electronic Information Industry Co., Ltd.
1bee IXXAT Automation GmbH
0003 CAN-IB200/PCIe
1bf4 VTI Instruments Corporation
@@ -19322,6 +19714,8 @@
00a4 FBC4XGG3 Capture 4x10Gb
00a5 FBC2XLG Capture 2x40Gb
00a6 FBC1CG Capture 1x100Gb
+ 00a9 FBC2XGHH Capture 2x10Gb
+ 00af Capture slave device
# Used on V120 VME Crate Controller
1c32 Highland Technology, Inc.
1c33 Daktronics, Inc
@@ -19334,6 +19728,12 @@
# A Western Digital Subsidiary
1c58 HGST, Inc.
0003 Ultrastar SN100 Series NVMe SSD
+ 1014 04f5 PCIe3 1.6TB NVMe Adapter
+ 1014 04f6 PCIe3 3.2TB NVMe Adapter
+# http://www.nicevt.ru/ (in Russian)
+1c63 Science and Research Centre of Computer Technology (JSC "NICEVT")
+# http://www.radiotec.ru/catalog.php?cat=jr8&art=14109
+ 0008 K1927BB1Ya [EC8430] Angara Interconnection Network Adapter
1c7e TTTech Computertechnik AG
0200 zFAS Debug Port
1c7f Elektrobit Austria GmbH
@@ -19345,11 +19745,21 @@
0100 CAN-PCIe-02
1cd2 SesKion GmbH
0301 Simulyzer-RT CompactPCI Serial DIO-1 card
+ 0302 Simulyzer-RT CompactPCI Serial PSI5-ECU-1 card
+ 0303 Simulyzer-RT CompactPCI Serial PSI5-SIM-1 card
+ 0304 Simulyzer-RT CompactPCI Serial PWR-ANA-1 card
+1cdd secunet Security Networks AG
1ce4 Exablaze
0001 ExaNIC X4
0002 ExaNIC X2
+ 0003 ExaNIC X10
+ 0004 ExaNIC X10-GM
+ 0005 ExaNIC X40
1cf7 Subspace Dynamics
1d00 Pure Storage
+1d1d CNEX Labs
+ 1f1f QEMU NVM Express LightNVM Controller
+ 2807 8800 series NVMe SSD
# CEM Solutions Pvt. Ltd.
1d21 Allo
1d26 Kalray Inc.
@@ -19358,8 +19768,10 @@
1d40 Techman Electronics (Changshu) Co., Ltd.
1d44 DPT
a400 PM2x24/PM3224
+1d49 Lenovo
1d5c Fantasia Trading LLC
1d61 Technobox, Inc.
+1d62 Nebbiolo Technologies
1d65 Imagine Communications Corp.
04de Taurus/McKinley
1d6c Atomic Rules LLC
@@ -19418,6 +19830,7 @@
1186 2900 DXE-810T 10GBase-T Ethernet Adapter
1fc9 3015 Ethernet Adapter
4026 TN9610 10GbE SFP+ Ethernet Adapter
+ 4027 TN9710 10GBase-T/NBASE-T Ethernet Adapter
1fcc StreamLabs
f416 MS416
fb01 MH4LM
@@ -19445,7 +19858,9 @@
2955 Connectix Virtual PC
6e61 OHCI USB 1.1 controller
2a15 3D Vision(???)
+2bd8 ROPEX Industrie-Elektronik GmbH
3000 Hansol Electronics Inc.
+3112 Satelco Ingenieria S.A.
3142 Post Impression Systems.
31ab Zonet
1faa ZEW1602 802.11b/g Wireless Adapter
@@ -19488,6 +19903,7 @@
1140 VR-12-PCI
# multiport serial board
1141 PCI-485(422)
+ 1142 PCI-CAN2
3842 eVga.com. Corp.
38ef 4Links
3d3d 3DLabs
@@ -19931,6 +20347,10 @@
5431 AuzenTech, Inc.
544c Teralogic Inc
0350 TL880-based HDTV/ATSC tuner
+544d TBS Technologies
+ 6178 DVB-S2 4 Tuner PCIe Card
+ 544d 6904 TBS6904 DVB-S2 Quad Tuner PCIe Card
+ 544d 6905 TBS6905 DVB-S2 Quad Tuner PCIe Card
5452 SCANLAB AG
3443 RTC4
5455 Technische University Berlin
@@ -20014,12 +20434,14 @@
0044 Core Processor DRAM Controller
1025 0347 Aspire 7740G
1025 0487 TravelMate 5742
+ 1028 040a Latitude E6410
144d c06a R730 Laptop
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
e4bf 50c1 PC1-GROOVE
0045 Core Processor PCI Express x16 Root Port
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
0046 Core Processor Integrated Graphics Controller
+ 1028 040a Latitude E6410
144d c06a R730 Laptop
17c0 10d9 Medion Akoya E7214 Notebook PC [MD98410]
e4bf 50c1 PC1-GROOVE
@@ -20125,13 +20547,16 @@
0153 3rd Gen Core Processor Thermal Subsystem
1043 1517 Zenbook Prime UX31A
0154 3rd Gen Core processor DRAM Controller
+ 1025 0806 Aspire E1-470G
1025 0813 Aspire R7-571
103c 17f6 ProBook 4540s
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
0155 Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
8086 2010 Server Board S1200BTS
0156 3rd Gen Core processor Graphics Controller
+ 1043 108d VivoBook X202EV
0158 Xeon E3-1200 v2/Ivy Bridge DRAM Controller
1043 844d P8 series motherboard
8086 2010 Server Board S1200BTS
@@ -20505,6 +20930,8 @@
8086 3705 DC P3500 SSD [2.5" SFF]
8086 3709 DC P3600 SSD [Add-in Card]
8086 370a DC P3600 SSD [2.5" SFF]
+ 8086 370d SSD 750 Series [Add-in Card]
+ 8086 370e SSD 750 Series [2.5" SFF]
095a Wireless 7265
# Stone Peak 2 AC
8086 1010 Dual Band Wireless-AC 7265
@@ -20842,7 +21269,8 @@
0f28 Atom Processor Z36xxx/Z37xxx Series LPE Audio Controller
0f31 Atom Processor Z36xxx/Z37xxx Series Graphics & Display
0f34 Atom Processor Z36xxx/Z37xxx Series USB EHCI
- 0f35 Atom Processor Z36xxx/Z37xxx Series USB xHCI
+ 0f35 Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI
+ 1025 0936 Aspire ES1
0f37 Atom Processor Z36xxx/Z37xxx Series OTG USB Device
0f38 Atom Processor Z36xxx/Z37xxx Series Camera ISP
0f40 Atom Processor Z36xxx/Z37xxx Series LPIO2 DMA Controller
@@ -21196,7 +21624,7 @@
8086 1199 PRO/1000 GT Quad Port Server Adapter
10b6 82598 10GbE PCI-Express Ethernet Controller
10b9 82572EI Gigabit Ethernet Controller (Copper)
- 103c 704a HP 110T PCIe Gigabit Server Adapter
+ 103c 704a 110T PCIe Gigabit Server Adapter
8086 1083 PRO/1000 PT Desktop Adapter
8086 1093 PRO/1000 PT Desktop Adapter
10ba 80003ES2LAN Gigabit Ethernet Controller (Copper)
@@ -21311,6 +21739,7 @@
1028 1f63 10GbE 2P X520k bNDC
103c 17d2 Ethernet 10Gb 2-port 560M Adapter
103c 18d0 Ethernet 10Gb 2-port 560FLB Adapter
+ 1059 0111 T4007 10GbE interface
8086 000c Ethernet X520 10GbE Dual Port KX4-KR Mezz
10f9 82599 10 Gigabit Dual Port Network Connection
10fb 82599ES 10-Gigabit SFI/SFP+ Network Connection
@@ -21324,6 +21753,7 @@
108e 7b11 Ethernet Server Adapter X520-2
1734 11a9 10 Gigabit Dual Port Network Connection
17aa 1071 ThinkServer X520-2 AnyFabric
+ 17aa 4007 82599ES 10-Gigabit SFI/SFP+ Network Connection
8086 0002 Ethernet Server Adapter X520-DA2
8086 0003 Ethernet Server Adapter X520-2
8086 0006 Ethernet Server Adapter X520-1
@@ -21339,14 +21769,14 @@
1025 1016 Travelmate 612 TX
1043 8027 TUSL2-C Mainboard
104d 80df Vaio PCG-FX403
- 8086 4532 D815EEA2 mainboard
+ 8086 4532 Desktop Board D815EEA2/D815EFV
8086 4557 D815EGEW Mainboard
1131 82815 815 Chipset AGP Bridge
1132 82815 Chipset Graphics Controller (CGC)
1025 1016 Travelmate 612 TX
103c 2001 e-pc 40
104d 80df Vaio PCG-FX403
- 8086 4532 D815EEA2 Mainboard
+ 8086 4532 Desktop Board D815EEA2/D815EFV
8086 4541 D815EEA Motherboard
8086 4557 D815EGEW Mainboard
1161 82806AA PCI64 Hub Advanced Programmable Interrupt Controller
@@ -21578,6 +22008,7 @@
150f 82580 Gigabit Fiber Network Connection
1510 82580 Gigabit Backplane Connection
1511 82580 Gigabit SFP Connection
+ 1513 CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
1514 Ethernet X520 10GbE Dual Port KX4 Mezz
8086 000b Ethernet X520 10GbE Dual Port KX4 Mezz
1515 X540 Ethernet Controller Virtual Function
@@ -21587,6 +22018,8 @@
1517 82599ES 10 Gigabit Network Connection
1137 006a UCS CNA M61KR-I Intel Converged Network Adapter
1518 82576NS SerDes Gigabit Network Connection
+ 151a DSL2310 Thunderbolt Controller [Eagle Ridge 2C 2011]
+ 151b CVL2510 Thunderbolt Controller [Light Peak 2C 2010]
151c 82599 10 Gigabit TN Network Connection
108e 7b13 Dual 10GBASE-T LP
1520 I350 Ethernet Controller Virtual Function
@@ -21610,6 +22043,7 @@
1093 775b PCIe-8237 Ethernet Adapter
10a9 802a UV2-BaseIO dual-port GbE
17aa 1074 ThinkServer I350-T4 AnyFabric
+ 17aa 4005 I350 Gigabit Network Connection
8086 0001 Ethernet Server Adapter I350-T4
8086 0002 Ethernet Server Adapter I350-T2
8086 00a1 Ethernet Server Adapter I350-T4
@@ -21652,6 +22086,7 @@
108e 7b15 Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T
1137 00bf Ethernet Converged Network Adapter X540-T2
17aa 1073 ThinkServer X540-T2 AnyFabric
+ 17aa 4006 Ethernet Controller 10-Gigabit X540-AT2
8086 0001 Ethernet Converged Network Adapter X540-T2
8086 0002 Ethernet Converged Network Adapter X540-T1
8086 001a Ethernet Converged Network Adapter X540-T2
@@ -21671,14 +22106,18 @@
8086 0002 Ethernet Server Adapter I210-T1
1536 I210 Gigabit Fiber Network Connection
1537 I210 Gigabit Backplane Connection
+ 1059 0110 T4005 1GbE interface
+ 1059 0111 T4007 1GbE interface
+ 1059 0120 T4008 1GbE interface
1538 I210 Gigabit Network Connection
1539 I211 Gigabit Network Connection
153a Ethernet Connection I217-LM
103c 1909 ZBook 15
17aa 220e ThinkPad T440p
153b Ethernet Connection I217-V
- 1547 DSL3510 Thunderbolt Port [Cactus Ridge]
- 1549 DSL3510 Thunderbolt Controller [Cactus Ridge]
+ 1547 DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012]
+ 1548 DSL3310 Thunderbolt Controller [Cactus Ridge 2C 2012]
+ 1549 DSL2210 Thunderbolt Controller [Port Ridge 1C 2011]
154a Ethernet Server Adapter X520-4
8086 011a Ethernet Converged Network Adapter X520-4
8086 011b Ethernet Converged Network Adapter X520-4
@@ -21687,6 +22126,7 @@
154d Ethernet 10G 2P X520 Adapter
8086 7b11 10GbE 2P X520 Adapter
1557 82599 10 Gigabit Network Connection
+ 17aa 4008 82599EN 10 Gigabit Network Connection
8086 0001 Ethernet OCP Server Adapter X520-1
1558 Ethernet Converged Network Adapter X520-Q1
8086 011a Ethernet Converged Network Adapter X520-Q1
@@ -21700,11 +22140,25 @@
8086 0001 Ethernet Server Bypass Adapter X520-SR2
8086 0002 Ethernet Server Bypass Adapter X520-LR2
1560 Ethernet Controller X540
+ 1563 Ethernet Controller 10G X550T
+ 8086 0001 Ethernet Converged Network Adapter X550-T2
+ 8086 001a Ethernet Converged Network Adapter X550-T2
+ 1566 DSL4410 Thunderbolt NHI [Redwood Ridge 2C 2013]
+ 1567 DSL4410 Thunderbolt Bridge [Redwood Ridge 2C 2013]
+ 1568 DSL4510 Thunderbolt NHI [Redwood Ridge 4C 2013]
+ 1569 DSL4510 Thunderbolt Bridge [Redwood Ridge 4C 2013]
+ 156a DSL5320 Thunderbolt 2 NHI [Falcon Ridge 2C 2013]
+ 156b DSL5320 Thunderbolt 2 Bridge [Falcon Ridge 2C 2013]
+ 156c DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013]
+ 156d DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
156f Ethernet Connection I219-LM
1570 Ethernet Connection I219-V
1571 XL710/X710 Virtual Function
1572 Ethernet Controller X710 for 10GbE SFP+
+ 1028 0000 Ethernet 10G X710 rNDC
1028 1f99 Ethernet 10G 4P X710/I350 rNDC
+ 1028 1f9c Ethernet 10G 4P X710 SFP+ rNDC
+ 103c 0000 Ethernet 10Gb 562SFP+ Adapter
103c 22fc HP Ethernet 10Gb 2-port 562FLR-SFP+ Adapter
103c 22fd HP Ethernet 10Gb 2-port 562SFP+ Adapter
1137 0000 Ethernet Converged NIC X710-4
@@ -21725,28 +22179,39 @@
8086 000d Ethernet Controller X710 for 10GbE SFP+
8086 4005 Ethernet Controller XL710 for 10 Gigabit SFP+
8086 4006 Ethernet Controller X710 for 10GbE SFP+
+ 1575 DSL5110 Thunderbolt NHI [Falcon Ridge LP 2014]
+ 1576 DSL5110 Thunderbolt Bridge [Falcon Ridge LP 2014]
+ 1577 DSL6540 Thunderbolt 3 NHI [Alpine Ridge 4C 2015]
+ 1578 DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
157b I210 Gigabit Network Connection
157c I210 Gigabit Backplane Connection
+ 157d DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015]
+ 157e DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
1580 Ethernet Controller XL710 for 40GbE backplane
1581 Ethernet Controller X710 for 10GbE backplane
+ 1028 0000 Ethernet 10G X710-k bNDC
1028 1f98 Ethernet 10G 4P X710-k bNDC
+ 1028 1f9e Ethernet 10G 2P X710-k bNDC
+ 8086 0000 Ethernet Converged Network Adapter XL710-Q2
1583 Ethernet Controller XL710 for 40GbE QSFP+
1028 0000 Ethernet 40G 2P XL710 QSFP+ rNDC
1028 1f9f Ethernet 40G 2P XL710 QSFP+ rNDC
- 108e 0000 Oracle 10 Gb and 40 Gb Ethernet Adapter
- 108e 7b1b Oracle 10 Gb and 40 Gb Ethernet Adapter
+ 108e 0000 10 Gb/40 Gb Ethernet Adapter
+ 108e 7b1b 10 Gb/40 Gb Ethernet Adapter
1137 0000 Ethernet Converged NIC XL710-Q2
1137 013c Ethernet Converged NIC XL710-Q2
8086 0000 Ethernet Converged Network Adapter XL710-Q2
8086 0001 Ethernet Converged Network Adapter XL710-Q2
8086 0002 Ethernet Converged Network Adapter XL710-Q2
8086 0003 Ethernet I/O Module XL710-Q2
+ 8086 0004 Ethernet Server Adapter XL710-Q2OCP
8086 0006 Ethernet Converged Network Adapter XL710-Q2
1584 Ethernet Controller XL710 for 40GbE QSFP+
8086 0000 Ethernet Converged Network Adapter XL710-Q1
8086 0001 Ethernet Converged Network Adapter XL710-Q1
8086 0002 Ethernet Converged Network Adapter XL710-Q1
8086 0003 Ethernet I/O Module XL710-Q1
+ 8086 0004 Ethernet Server Adapter XL710-Q1OCP
1585 Ethernet Controller X710 for 10GbE QSFP+
1586 Ethernet Controller X710 for 10GBASE-T
108e 0000 Ethernet Controller X710 for 10GBASE-T
@@ -21754,7 +22219,6 @@
1587 Ethernet Controller XL710 for 20GbE backplane
103c 0000 HP Flex-20 20Gb 2-port 660FLB Adapter
103c 22fe HP Flex-20 20Gb 2-port 660FLB Adapter
- 103c 22ff HP Flex-20 20Gb 2-port 660M Adapter
1588 Ethernet Controller XL710 for 20GbE backplane
103c 0000 HP Flex-20 20Gb 2-port 660M Adapter
103c 22ff HP Flex-20 20Gb 2-port 660M Adapter
@@ -21770,15 +22234,26 @@
15a5 Ethernet Switch FM10000 Host Virtual Interface
15a8 Ethernet Connection X552 Virtual Function
15aa Ethernet Connection X552 10 GbE Backplane
+ 1059 0120 T4008 10GbE interface
15ab Ethernet Connection X552 10 GbE Backplane
15ac Ethernet Connection X552 10 GbE SFP+
15ad Ethernet Connection X552/X557-AT 10GBASE-T
+ 15ae Ethernet Connection X552 1000BASE-T
+ 15b6 DSL6540 USB 3.1 Controller [Alpine Ridge]
15b7 Ethernet Connection (2) I219-LM
15b8 Ethernet Connection (2) I219-V
+ 15b9 Ethernet Connection (3) I219-LM
+ 15d1 Ethernet Controller 10G X550T
+ 8086 0002 Ethernet Converged Network Adapter X550-T1
+ 8086 00a2 Ethernet Converged Network Adapter X550-T1
+ 15d6 Ethernet Connection (5) I219-V
+ 15d7 Ethernet Connection (4) I219-LM
+ 15d8 Ethernet Connection (4) I219-V
+ 15e3 Ethernet Connection (5) I219-LM
1600 Broadwell-U Host Bridge -OPI
1601 Broadwell-U PCI Express x16 Controller
1602 Broadwell-U Integrated Graphics
- 1603 Broadwell-U Camarillo Device
+ 1603 Broadwell-U Processor Thermal Subsystem
1604 Broadwell-U Host Bridge -OPI
1605 Broadwell-U PCI Express x8 Controller
1606 Broadwell-U Integrated Graphics
@@ -21813,25 +22288,27 @@
163b Broadwell-U Integrated Graphics
163d Broadwell-U Integrated Graphics
163e Broadwell-U Integrated Graphics
- 1900 Sky Lake Host Bridge/DRAM Registers
- 1901 Sky Lake PCIe Controller (x16)
- 1904 Sky Lake Host Bridge/DRAM Registers
- 1905 Sky Lake PCIe Controller (x8)
- 1908 Sky Lake Host Bridge/DRAM Registers
- 1909 Sky Lake PCIe Controller (x4)
- 190c Sky Lake Host Bridge/DRAM Registers
- 190f Sky Lake Host Bridge/DRAM Registers
- 1910 Sky Lake Host Bridge/DRAM Registers
- 1911 Sky Lake Gaussian Mixture Model
- 1912 Sky Lake Integrated Graphics
- 1916 Sky Lake Integrated Graphics
- 1918 Sky Lake Host Bridge/DRAM Registers
- 1919 Sky Lake Imaging Unit
- 191e Sky Lake Integrated Graphics
- 191f Sky Lake Host Bridge/DRAM Registers
- 1926 Sky Lake Integrated Graphics
- 1932 Sky Lake Integrated Graphics
- 193b Sky Lake Integrated Graphics
+ 1900 Skylake Host Bridge/DRAM Registers
+ 1901 Skylake PCIe Controller (x16)
+ 1903 Skylake Processor Thermal Subsystem
+ 1904 Skylake Host Bridge/DRAM Registers
+ 1905 Skylake PCIe Controller (x8)
+ 1908 Skylake Host Bridge/DRAM Registers
+ 1909 Skylake PCIe Controller (x4)
+ 190c Skylake Host Bridge/DRAM Registers
+ 190f Skylake Host Bridge/DRAM Registers
+ 1910 Skylake Host Bridge/DRAM Registers
+ 1911 Skylake Gaussian Mixture Model
+ 1912 Skylake Integrated Graphics
+ 1916 Skylake Integrated Graphics
+ 1918 Skylake Host Bridge/DRAM Registers
+ 1919 Skylake Imaging Unit
+ 191b Skylake Integrated Graphics
+ 191e Skylake Integrated Graphics
+ 191f Skylake Host Bridge/DRAM Registers
+ 1926 Skylake Integrated Graphics
+ 1932 Skylake Integrated Graphics
+ 193b Skylake Integrated Graphics
1960 80960RP (i960RP) Microprocessor
101e 0431 MegaRAID 431 RAID Controller
101e 0438 MegaRAID 438 Ultra2 LVD RAID Controller
@@ -21859,6 +22336,7 @@
e4bf 3100 CX1-BAND
1962 80960RM (i960RM) Microprocessor
105a 0000 SuperTrak SX6000 I2O CPU
+ 19df DNV SMBus controller
1a21 82840 840 [Carmel] Chipset Host Bridge (Hub A)
1a23 82840 840 [Carmel] Chipset AGP Bridge
1a24 82840 840 [Carmel] Chipset PCI Bridge (Hub B)
@@ -22075,6 +22553,7 @@
1043 84ca P8 series motherboard
1849 1e02 Motherboard
1e03 7 Series Chipset Family 6-port SATA Controller [AHCI mode]
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1e04 7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
@@ -22085,15 +22564,18 @@
1e09 7 Series Chipset Family 2-port SATA Controller [IDE mode]
1e0e 7 Series/C210 Series Chipset Family SATA Controller [RAID mode]
1e10 7 Series/C210 Series Chipset Family PCI Express Root Port 1
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1043 84ca P8H77-I Motherboard
1849 1e10 Motherboard
1e12 7 Series/C210 Series Chipset Family PCI Express Root Port 2
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1e14 7 Series/C210 Series Chipset Family PCI Express Root Port 3
1e16 7 Series/C210 Series Chipset Family PCI Express Root Port 4
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1849 1618 Z77 Extreme4 motherboard
1e18 7 Series/C210 Series Chipset Family PCI Express Root Port 5
@@ -22105,12 +22587,15 @@
1e1e 7 Series/C210 Series Chipset Family PCI Express Root Port 8
1849 1e1e Motherboard
1e20 7 Series/C210 Series Chipset Family High Definition Audio Controller
+ 1028 054b Dell XPS One 2710
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1043 8415 P8H77-I Motherboard
1043 8445 ASUS P8Z77-V LX Motherboard
1849 1898 Z77 Extreme4 motherboard
1e22 7 Series/C210 Series Chipset Family SMBus Controller
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1043 84ca P8 series motherboard
@@ -22119,23 +22604,27 @@
1043 1517 Zenbook Prime UX31A
1e25 7 Series/C210 Series Chipset Family DMI to PCI Bridge
1e26 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1043 84ca P8 series motherboard
1849 1e26 Motherboard
1e2d 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1043 84ca P8 series motherboard
1849 1e2d Motherboard
1e31 7 Series/C210 Series Chipset Family USB xHCI Host Controller
103c 17ab ProBook 6570b
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1043 84ca P8 series motherboard
1849 1e31 Motherboard
1e33 7 Series/C210 Series Chipset Family LAN Controller
1e3a 7 Series/C210 Series Chipset Family MEI Controller #1
+ 1043 108d VivoBook X202EV
1043 1477 N56VZ
1043 1517 Zenbook Prime UX31A
1043 84ca P8 series motherboard
@@ -22178,6 +22667,7 @@
1e5c 7 Series Chipset Family LPC Controller
1e5d HM75 Express Chipset LPC Controller
1e5e 7 Series Chipset Family LPC Controller
+ 1043 108d VivoBook X202EV
1e5f 7 Series Chipset Family LPC Controller
1f00 Atom processor C2000 SoC Transaction Router
1f01 Atom processor C2000 SoC Transaction Router
@@ -22351,7 +22841,7 @@
104d 80df Vaio PCG-FX403
147b 0505 BL7 motherboard
147b 0507 TH7II-RAID
- 8086 4532 D815EEA2 mainboard
+ 8086 4532 Desktop Board D815EEA2/D815EFV
8086 4557 D815EGEW Mainboard
8086 5744 S845WD1-E mainboard
2443 82801BA/BAM SMBus Controller
@@ -22366,7 +22856,7 @@
147b 0505 BL7 motherboard
147b 0507 TH7II-RAID
15d9 3280 Supermicro P4SBE Mainboard
- 8086 4532 D815EEA2 mainboard
+ 8086 4532 Desktop Board D815EEA2/D815EFV
8086 4557 D815EGEW Mainboard
8086 5744 S845WD1-E mainboard
2444 82801BA/BAM UHCI USB 1.1 Controller #2
@@ -22379,7 +22869,7 @@
104d 80df Vaio PCG-FX403
147b 0505 BL7 motherboard
147b 0507 TH7II-RAID
- 8086 4532 D815EEA2 mainboard
+ 8086 4532 Desktop Board D815EEA2/D815EFV
8086 5744 S845WD1-E mainboard
2445 82801BA/BAM AC'97 Audio Controller
0e11 000b Compaq Deskpro EN Audio
@@ -22393,12 +22883,14 @@
147b 0505 BL7 motherboard
147b 0507 TH7II-RAID
8086 4557 D815EGEW Mainboard
+ 8086 4656 Desktop Board D815EFV
2446 82801BA/BAM AC'97 Modem Controller
1025 1016 Travelmate 612 TX
104d 80df Vaio PCG-FX403
2448 82801 Mobile PCI Bridge
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
- 103c 0934 HP Compaq nw8240 Mobile Workstation
+ 103c 0934 Compaq nw8240 Mobile Workstation
103c 099c NX6110/NC6120
103c 309f Compaq nx9420 Notebook
103c 30a3 Compaq nw8440
@@ -22461,7 +22953,7 @@
147b 0505 BL7 motherboard
147b 0507 TH7II-RAID
15d9 3280 Supermicro P4SBE Mainboard
- 8086 4532 D815EEA2 mainboard
+ 8086 4532 Desktop Board D815EEA2/D815EFV
8086 4557 D815EGEW Mainboard
8086 5744 S845WD1-E mainboard
244c 82801BAM ISA Bridge (LPC)
@@ -22555,6 +23047,7 @@
1025 005a TravelMate 290
1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M)
1028 0126 Optiplex GX260
+ 1028 0160 Dimension 2400
1028 0163 Latitude D505
1028 018d Inspiron 700m/710m
1028 0196 Inspiron 5160
@@ -22582,6 +23075,7 @@
1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M)
1028 0126 Optiplex GX260
1028 014f Latitude X300
+ 1028 0160 Dimension 2400
1028 018d Inspiron 700m/710m
103c 088c NC8000 laptop
103c 0890 NC6000 laptop
@@ -22603,6 +23097,7 @@
1025 005a TravelMate 290
1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M)
1028 0126 Optiplex GX260
+ 1028 0160 Dimension 2400
1028 0163 Latitude D505
1028 018d Inspiron 700m/710m
1028 0196 Inspiron 5160
@@ -22630,6 +23125,7 @@
1028 0139 Latitude D400
1028 014f Latitude X300
1028 0152 Latitude D500
+ 1028 0160 Dimension 2400
1028 0163 Latitude D505
1028 018d Inspiron 700m/710m [SigmaTel STAC9750,51]
1028 0196 Inspiron 5160
@@ -22646,7 +23142,6 @@
1462 5800 845PE Max (MS-6580)
1734 1005 D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T
1734 1055 Amilo M1420
- 8086 24c5 Dell Dimension 2400
24c6 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller
1014 0524 ThinkPad T4x Series
1014 0525 ThinkPad
@@ -22672,6 +23167,7 @@
1025 005a TravelMate 290
1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M)
1028 0126 Optiplex GX260
+ 1028 0160 Dimension 2400
1028 0163 Latitude D505
1028 018d Inspiron 700m/710m
1028 0196 Inspiron 5160
@@ -22708,6 +23204,7 @@
24cb 82801DB (ICH4) IDE Controller
1014 0267 NetVista A30p
1028 0126 Optiplex GX260
+ 1028 0160 Dimension 2400
1043 8089 P4B533
114a 0582 PC8 onboard IDE
1458 24c2 GA-8PE667 Ultra
@@ -22728,6 +23225,7 @@
1028 0126 Optiplex GX260
1028 0139 Latitude D400
1028 0152 Latitude D500
+ 1028 0160 Dimension 2400
1028 0163 Latitude D505
1028 018d Inspiron 700m/710m
1028 0196 Inspiron 5160
@@ -22935,6 +23433,12 @@
24df 82801ER (ICH5R) SATA Controller
1028 0168 Precision Workstation 670 Mainboard
24f0 Omni-Path HFI Silicon 100 Series [discrete]
+ 10a9 802e Omni-path HFI 100 Series, 1-port
+ 10a9 802f Omni-path HFI 100 Series, 2-port
+ 8086 2628 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16
+ 8086 2629 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x8
+ 8086 262a Omni-Path HFI Adapter 100 Series, 2 Ports, Split PCIe x16
+ 8086 262d Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, IO Module AHWKPTP100HF
24f1 Omni-Path HFI Silicon 100 Series [integrated]
24f3 Wireless 8260
# Snow Field Peak AC
@@ -22989,6 +23493,7 @@
2562 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device
0e11 00b9 Evo D510 SFF
1014 0267 NetVista A30p
+ 1028 0160 Dimension 2400
1734 1003 D1521 Mainboard (Fujitsu-Siemens)
1734 1004 D1451 Mainboard (SCENIC N300, i845GV)
2570 82865G/PE/P DRAM Controller/Host-Hub Interface
@@ -23033,7 +23538,7 @@
2589 E7220/E7221 PCI Express Root Port
258a E7221 Integrated Graphics Controller
2590 Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller
- 1014 0575 ThinkPad Z60t
+ 1014 0575 ThinkPad X41 / Z60t
1028 0182 Dell Latitude C610
103c 0934 Compaq nw8240/nx8220
103c 099c NX6110/NC6120
@@ -23043,8 +23548,9 @@
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
2591 Mobile 915GM/PM Express PCI Express Root Port
- 103c 0934 HP Compaq nw8240 Mobile Workstation
+ 103c 0934 Compaq nw8240 Mobile Workstation
2592 Mobile 915GM/GMS/910GML Express Graphics Controller
+ 1014 0582 ThinkPad X41
103c 099c NX6110/NC6120
103c 308a NC6220
1043 1881 GMA 900 915GM Integrated Graphics
@@ -23217,6 +23723,7 @@
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
2641 82801FBM (ICH6M) LPC Interface Bridge
+ 1014 0568 ThinkPad X41
103c 0934 Compaq nw8240/nx8220
103c 099c NX6110/NC6120
2642 82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge
@@ -23232,7 +23739,9 @@
1028 0177 Dimension 8400
1462 7028 915P/G Neo2
2653 82801FBM (ICH6M) SATA Controller
+ 1014 056a ThinkPad X41
2658 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1
+ 1014 0565 ThinkPad X41
1028 0177 Dimension 8400
1028 0179 Optiplex GX280
103c 0934 Compaq nw8240/nx8220
@@ -23245,6 +23754,7 @@
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
2659 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2
+ 1014 0565 ThinkPad X41
1028 0177 Dimension 8400
1028 0179 Optiplex GX280
103c 0934 Compaq nw8240/nx8220
@@ -23257,6 +23767,7 @@
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
265a 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3
+ 1014 0565 ThinkPad X41
1028 0177 Dimension 8400
1028 0179 Optiplex GX280
103c 0934 Compaq nw8240/nx8220
@@ -23269,6 +23780,7 @@
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
265b 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4
+ 1014 0565 ThinkPad X41
1028 0177 Dimension 8400
1028 0179 Optiplex GX280
103c 099c NX6110/NC6120
@@ -23280,6 +23792,7 @@
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
265c 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
+ 1014 0566 ThinkPad X41
1028 0177 Dimension 8400
1028 0179 Optiplex GX280
103c 0934 Compaq nw8240/nx8220
@@ -23293,13 +23806,13 @@
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
2660 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1
- 103c 0934 HP Compaq nw8240 Mobile Workstation
+ 103c 0934 Compaq nw8240 Mobile Workstation
103c 099c NX6110/NC6120
e4bf 0ccd CCD-CALYPSO
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
2662 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2
- 103c 0934 HP Compaq nw8240 Mobile Workstation
+ 103c 0934 Compaq nw8240 Mobile Workstation
e4bf 0ccd CCD-CALYPSO
e4bf 0cd3 CD3-JIVE
e4bf 58b1 XB1
@@ -23320,6 +23833,7 @@
1462 7028 915P/G Neo2
1af4 1100 QEMU Virtual Machine
266a 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller
+ 1014 056b ThinkPad X41
1028 0177 Dimension 8400
1028 0179 Optiplex GX280
1043 80a6 P5GD1-VW Mainboard
@@ -23335,6 +23849,7 @@
103c 0934 Compaq nw8240/nx8220
103c 099c NX6110/NC6120
266e 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
+ 1014 0581 ThinkPad X41
1025 006a Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop)
1028 0177 Dimension 8400
1028 0179 Optiplex GX280
@@ -23451,6 +23966,7 @@
1043 2582 P5GD1-VW Mainboard
1734 105b Scenic W620
2792 Mobile 915GM/GMS/910GML Express Graphics Controller
+ 1014 0582 ThinkPad X41
103c 099c NX6110/NC6120
1043 1881 GMA 900 915GM Integrated Graphics
e4bf 0ccd CCD-CALYPSO
@@ -23960,7 +24476,7 @@
1028 01f9 Dell Latitude D630
1028 01ff Dell Precision M4300
1028 0256 Studio 1735
- 103c 2802 HP Compaq dc7700p
+ 103c 2802 Compaq dc7700p
103c 30c0 Compaq 6710b
103c 30c1 Compaq 6910p
103c 30cc Pavilion dv6700
@@ -24761,6 +25277,8 @@
8086 4010 Dual Band Wireless AC 3165
# Stone Peak 1x1
8086 4210 Dual Band Wireless AC 3165
+# Stone Peak 1x1
+ 3166 Intel Dual Band Wireless-AC 3165 Plus Bluetooth
3200 GD31244 PCI-X SATA HBA
1775 c200 C2K onboard SATA host bus adapter
3310 IOP348 I/O Processor
@@ -25156,34 +25674,35 @@
3a7c 82801JD/DO (ICH10 Family) Gigabit Ethernet Controller
3b00 5 Series/3400 Series Chipset LPC Interface Controller
3b01 Mobile 5 Series Chipset LPC Interface Controller
- 3b02 5 Series Chipset LPC Interface Controller
- 3b03 Mobile 5 Series Chipset LPC Interface Controller
+ 3b02 P55 Chipset LPC Interface Controller
+ 3b03 PM55 Chipset LPC Interface Controller
3b04 5 Series Chipset LPC Interface Controller
3b05 Mobile 5 Series Chipset LPC Interface Controller
- 3b06 5 Series Chipset LPC Interface Controller
- 3b07 Mobile 5 Series Chipset LPC Interface Controller
+ 3b06 H55 Chipset LPC Interface Controller
+ 3b07 QM57 Chipset LPC Interface Controller
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
e4bf 50c1 PC1-GROOVE
- 3b08 5 Series Chipset LPC Interface Controller
- 3b09 Mobile 5 Series Chipset LPC Interface Controller
+ 3b08 H57 Chipset LPC Interface Controller
+ 3b09 HM55 Chipset LPC Interface Controller
1025 0347 Aspire 7740G
144d c06a R730 Laptop
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
- 3b0a 5 Series Chipset LPC Interface Controller
+ 3b0a Q57 Chipset LPC Interface Controller
1028 02da OptiPlex 980
15d9 060d C7SIM-Q Motherboard
- 3b0b Mobile 5 Series Chipset LPC Interface Controller
+ 3b0b HM57 Chipset LPC Interface Controller
3b0c 5 Series Chipset LPC Interface Controller
3b0d 5 Series/3400 Series Chipset LPC Interface Controller
3b0e 5 Series/3400 Series Chipset LPC Interface Controller
- 3b0f 5 Series/3400 Series Chipset LPC Interface Controller
+ 3b0f QS57 Chipset LPC Interface Controller
3b10 5 Series/3400 Series Chipset LPC Interface Controller
3b11 5 Series/3400 Series Chipset LPC Interface Controller
3b12 3400 Series Chipset LPC Interface Controller
3b13 5 Series/3400 Series Chipset LPC Interface Controller
- 3b14 3400 Series Chipset LPC Interface Controller
+ 3b14 3420 Chipset LPC Interface Controller
3b15 5 Series/3400 Series Chipset LPC Interface Controller
- 3b16 3400 Series Chipset LPC Interface Controller
+ 3b16 3450 Chipset LPC Interface Controller
3b17 5 Series/3400 Series Chipset LPC Interface Controller
3b18 5 Series/3400 Series Chipset LPC Interface Controller
3b19 5 Series/3400 Series Chipset LPC Interface Controller
@@ -25200,7 +25719,7 @@
15d9 060d C7SIM-Q Motherboard
3b23 5 Series/3400 Series Chipset 4 port SATA AHCI Controller
3b25 5 Series/3400 Series Chipset SATA RAID Controller
- 103c 3118 HP Smart Array B110i SATA RAID Controller
+ 103c 3118 Smart Array B110i SATA RAID Controller
3b26 5 Series/3400 Series Chipset 2 port SATA IDE Controller
3b28 5 Series/3400 Series Chipset 4 port SATA IDE Controller
144d c06a R730 Laptop
@@ -25217,11 +25736,13 @@
3b2e 5 Series/3400 Series Chipset 4 port SATA IDE Controller
e4bf 50c1 PC1-GROOVE
3b2f 5 Series/3400 Series Chipset 6 port SATA AHCI Controller
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
e4bf 50c1 PC1-GROOVE
3b30 5 Series/3400 Series Chipset SMBus Controller
1025 0347 Aspire 7740G
1028 02da OptiPlex 980
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
144d c06a R730 Laptop
15d9 060d C7SIM-Q Motherboard
@@ -25229,11 +25750,13 @@
e4bf 50c1 PC1-GROOVE
3b32 5 Series/3400 Series Chipset Thermal Subsystem
1025 0347 Aspire 7740G
+ 1028 040a Latitude E6410
144d c06a R730 Laptop
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
3b34 5 Series/3400 Series Chipset USB2 Enhanced Host Controller
1025 0347 Aspire 7740G
1028 02da OptiPlex 980
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
144d c06a R730 Laptop
15d9 060d C7SIM-Q Motherboard
@@ -25248,6 +25771,7 @@
3b3c 5 Series/3400 Series Chipset USB2 Enhanced Host Controller
1025 0347 Aspire 7740G
1028 02da OptiPlex 980
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
144d c06a R730 Laptop
15d9 060d C7SIM-Q Motherboard
@@ -25259,19 +25783,23 @@
3b41 5 Series/3400 Series Chipset LAN Controller
3b42 5 Series/3400 Series Chipset PCI Express Root Port 1
1028 02da OptiPlex 980
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
144d c06a R730 Laptop
15d9 060d C7SIM-Q Motherboard
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
3b44 5 Series/3400 Series Chipset PCI Express Root Port 2
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
15d9 060d C7SIM-Q Motherboard
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
3b46 5 Series/3400 Series Chipset PCI Express Root Port 3
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
144d c06a R730 Laptop
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
3b48 5 Series/3400 Series Chipset PCI Express Root Port 4
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
144d c06a R730 Laptop
3b4a 5 Series/3400 Series Chipset PCI Express Root Port 5
@@ -25284,7 +25812,9 @@
3b56 5 Series/3400 Series Chipset High Definition Audio
1025 0347 Aspire 7740G
1028 02da OptiPlex 980
+ 1028 040a Latitude E6410
1028 040b Latitude E6510
+ 1043 1373 ASUSTek G73-series gaming laptop
144d c06a R730 Laptop
15d9 060d C7SIM-Q Motherboard
17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410]
@@ -25549,6 +26079,7 @@
530d 80310 (IOP) IO Processor
5845 QEMU NVM Express Controller
1af4 1100 QEMU Virtual Machine
+ 5ad4 Broxton SMBus Controller
65c0 5100 Chipset Memory Controller Hub
65e2 5100 Chipset PCI Express x4 Port 2
65e3 5100 Chipset PCI Express x4 Port 3
@@ -25626,6 +26157,10 @@
6f45 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug
6f46 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug
6f47 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug
+ 6f50 Xeon Processor D Family QuickData Technology Register DMA Channel 0
+ 6f51 Xeon Processor D Family QuickData Technology Register DMA Channel 1
+ 6f52 Xeon Processor D Family QuickData Technology Register DMA Channel 2
+ 6f53 Xeon Processor D Family QuickData Technology Register DMA Channel 3
6f60 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 1
6f68 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Target Address/Thermal/RAS
6f6a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder
@@ -26119,10 +26654,12 @@
9c23 8 Series CHAP Counters
9c24 8 Series Thermal
9c26 8 Series USB EHCI #1
+ 17aa 220c T440s
17aa 2214 ThinkPad X240
9c2d 8 Series USB EHCI #2
9c31 8 Series USB xHCI HC
17aa 2214 ThinkPad X240
+ 8086 7270 Apple MacBookAir6,2 / MacBookPro11,1
9c35 8 Series SDIO Controller
9c36 8 Series Audio DSP Controller
9c3a 8 Series HECI #0
@@ -26181,6 +26718,29 @@
9ce4 Wildcat Point-LP Serial IO UART Controller #1
9ce5 Wildcat Point-LP Serial IO GSPI Controller #0
9ce6 Wildcat Point-LP Serial IO GSPI Controller #1
+ 9d03 Sunrise Point-LP SATA Controller [AHCI mode]
+ 9d14 Sunrise Point-LP PCI Express Root Port #5
+ 9d15 Sunrise Point-LP PCI Express Root Port #6
+ 9d21 Sunrise Point-LP PMC
+ 9d23 Sunrise Point-LP SMBus
+ 9d27 Sunrise Point-LP Serial IO UART Controller #0
+ 9d28 Sunrise Point-LP Serial IO UART Controller #1
+ 9d29 Sunrise Point-LP Serial IO SPI Controller #0
+ 9d2a Sunrise Point-LP Serial IO SPI Controller #1
+ 9d2d Sunrise Point-LP Secure Digital IO Controller
+ 9d2f Sunrise Point-LP USB 3.0 xHCI Controller
+ 9d31 Sunrise Point-LP Thermal subsystem
+ 9d3a Sunrise Point-LP CSME HECI #1
+ 9d48 Sunrise Point-LP LPC Controller
+ 9d60 Sunrise Point-LP Serial IO I2C Controller #0
+ 8086 9d60 100 Series PCH/Sunrise Point PCH I2C0 [Skylake/Kaby Lake LPSS I2C]
+ 9d61 Sunrise Point-LP Serial IO I2C Controller #1
+ 9d62 Sunrise Point-LP Serial IO I2C Controller #2
+ 9d63 Sunrise Point-LP Serial IO I2C Controller #3
+ 9d64 Sunrise Point-LP Serial IO I2C Controller #4
+ 9d65 Sunrise Point-LP Serial IO I2C Controller #5
+ 9d66 Sunrise Point-LP Serial IO UART Controller #2
+ 9d70 Sunrise Point-LP HD Audio
a000 Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge
1458 5000 GA-D525TUD
8086 4f4d DeskTop Board D510MO
@@ -26198,6 +26758,7 @@
a012 Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
144d c072 Notebook N150P
a013 Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter
+ a102 Sunrise Point-H SATA controller [AHCI mode]
a103 Sunrise Point-H SATA Controller [AHCI mode]
a105 Sunrise Point-H SATA Controller [RAID mode]
a107 Sunrise Point-H SATA Controller [RAID mode]
@@ -26225,10 +26786,10 @@
a124 Sunrise Point-H SPI Controller
a125 Sunrise Point-H Gigabit Ethernet Controller
a126 Sunrise Point-H Northpeak
- a127 Sunrise Point-H LPSS UART #0
- a128 Sunrise Point-H LPSS UART #1
- a129 Sunrise Point-H LPSS SPI #0
- a12a Sunrise Point-H LPSS SPI #1
+ a127 Sunrise Point-H Serial IO UART #0
+ a128 Sunrise Point-H Serial IO UART #1
+ a129 Sunrise Point-H Serial IO SPI #0
+ a12a Sunrise Point-H Serial IO SPI #1
a12f Sunrise Point-H USB 3.0 xHCI Controller
a130 Sunrise Point-H USB Device Controller (OTG)
a131 Sunrise Point-H Thermal subsystem
@@ -26271,9 +26832,9 @@
a15d Sunrise Point-H LPC Controller
a15e Sunrise Point-H LPC Controller
a15f Sunrise Point-H LPC Controller
- a160 Sunrise Point-H LPSS I2C Controller #0
- a161 Sunrise Point-H LPSS I2C Controller #1
- a166 Sunrise Point-H LPSS UART Controller #2
+ a160 Sunrise Point-H Serial IO I2C Controller #0
+ a161 Sunrise Point-H Serial IO I2C Controller #1
+ a166 Sunrise Point-H Serial IO UART Controller #2
a167 Sunrise Point-H PCI Root Port #17
a168 Sunrise Point-H PCI Root Port #18
a169 Sunrise Point-H PCI Root Port #19
@@ -26372,7 +26933,7 @@
8686 ScaleMP
1010 vSMPowered system controller [vSMP CTL]
8800 Trigem Computer Inc.
- 2008 Video assistent component
+ 2008 Video assistant component
8866 T-Square Design Inc.
8888 Silicon Magic
8912 TRX
@@ -26950,6 +27511,7 @@ dada Datapath Limited
1153 VisionDVI-DL
1154 VisionSDI2
db10 Diablo Technologies
+dc93 Dawicontrol GmbH
dcba Dynamic Engineering
0046 PCIe Altera Cyclone IV
# VPX format Receiver Controller Board
@@ -26985,6 +27547,9 @@ deaf Middle Digital Inc.
9052 PC Weasel Watchdog Timer
# formerly SoftHard Technology Ltd.
deda XIMEA
+ 4001 Camera CB
+# Thunderbolt based camera MT family
+ 4021 Camera MT
e000 Winbond
e000 W89C940
e159 Tiger Jet Network Inc.
diff --git a/share/mk/bsd.README b/share/mk/bsd.README
index 1ae151064b93..bda9a8c1a3bc 100644
--- a/share/mk/bsd.README
+++ b/share/mk/bsd.README
@@ -120,6 +120,10 @@ object.
The following variables are common:
+ACFLAGS.${SRC}
+ Flags dependent on source file name.
+CFLAGS.${SRC}
+ Flags dependent on source file name.
CFLAGS.${COMPILER_TYPE}
Flags dependent on compiler added to CXXFLAGS.
CFLAGS.${MACHINE_ARCH}
@@ -131,6 +135,8 @@ CXXFLAGS.${COMPILER_TYPE}
Flags dependent on compiler added to CXXFLAGS.
CXXFLAGS.${MACHINE_ARCH}
Architectural flags added to CXXFLAGS.
+CXXFLAGS.${SRC}
+ Flags dependent on source file name.
COMPILER_FEATURES
A list of features that the compiler supports. Zero or
more of:
@@ -309,7 +315,7 @@ PROGS_CXX PROG and PROGS_CXX in one Makefile. To define
SRCS.bar= bar_src.c
The supported variables are BINDIR BINGRP BINMODE BINOWN
- CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS DPSRCS LDADD
+ CFLAGS CXXFLAGS DPADD DPSRCS LDADD
LDFLAGS LIBADD MAN MLINKS PROGNAME SRCS.
PROGNAME The name that the above program will be installed as, if
diff --git a/share/mk/bsd.clang-analyze.mk b/share/mk/bsd.clang-analyze.mk
index 61321b5cc14f..b3753323a108 100644
--- a/share/mk/bsd.clang-analyze.mk
+++ b/share/mk/bsd.clang-analyze.mk
@@ -58,14 +58,12 @@ CLANG_ANALYZE_CXXFLAGS= ${CXXFLAGS:N-Wa,--fatal-warnings}
.c.clang-analyzer:
${CC:N${CCACHE_BIN}} ${CLANG_ANALYZE_FLAGS} \
- ${CLANG_ANALYZE_CFLAGS} ${CPPFLAGS} \
- ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \
- ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
+ ${CLANG_ANALYZE_CFLAGS} \
+ ${.IMPSRC}
.cc.clang-analyzer .cpp.clang-analyzer .cxx.clang-analyzer .C.clang-analyzer:
${CXX:N${CCACHE_BIN}} ${CLANG_ANALYZE_CXX_FLAGS} \
- ${CLANG_ANALYZE_CXXFLAGS} ${CPPFLAGS} \
- ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \
- ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
+ ${CLANG_ANALYZE_CXXFLAGS} \
+ ${.IMPSRC}
CLANG_ANALYZE_SRCS= \
${SRCS:M*.[cC]} ${SRCS:M*.cc} \
@@ -85,10 +83,7 @@ ${__obj}: ${OBJS_DEPEND_GUESS}
${__obj}: ${OBJS_DEPEND_GUESS.${__obj}}
.endfor
-.if ${MK_FAST_DEPEND} == "yes"
-beforeanalyze: depend
-.endif
-beforeanalyze: .PHONY
+beforeanalyze: depend .PHONY
.if !defined(_RECURSING_PROGS) && !empty(CLANG_ANALYZE_SRCS) && \
${CLANG_ANALYZE_OUTPUT} != "text"
mkdir -p ${CLANG_ANALYZE_OUTPUT_DIR}
diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk
index d54a354ec47a..11a469d5ddee 100644
--- a/share/mk/bsd.cpu.mk
+++ b/share/mk/bsd.cpu.mk
@@ -108,21 +108,24 @@ _CPUCFLAGS = -march=${CPUTYPE}
#XXX: gcc doesn't seem to like -mcpu=xscale, and dies while rebuilding itself
#_CPUCFLAGS = -mcpu=xscale
_CPUCFLAGS = -march=armv5te -D__XSCALE__
-. elif ${CPUTYPE} == "armv6"
+. elif ${CPUTYPE:M*soft*} != ""
+_CPUCFLAGS = -mfloat-abi=softfp
+. elif ${CPUTYPE} == "armv6"
+# Not sure we still need ARM_ARCH_6=1 here.
_CPUCFLAGS = -march=${CPUTYPE} -DARM_ARCH_6=1
-. elif ${CPUTYPE} == "cortexa"
+. elif ${CPUTYPE} == "cortexa"
_CPUCFLAGS = -march=armv7 -DARM_ARCH_6=1 -mfpu=vfp
-. elif ${CPUTYPE:Marmv[4567]*} != ""
+. elif ${CPUTYPE:Marmv[4567]*} != ""
# Handle all the armvX types that FreeBSD runs:
# armv4, armv4t, armv5, armv5te, armv6, armv6t2, armv7, armv7-a, armv7ve
# they require -march=. All the others require -mcpu=.
_CPUCFLAGS = -march=${CPUTYPE}
-. else
+. else
# Common values for FreeBSD
-# arm:
+# arm: (any arm v4 or v5 processor you are targetting)
# arm920t, arm926ej-s, marvell-pj4, fa526, fa626,
# fa606te, fa626te, fa726te
-# armv6:
+# armv6: (any arm v7 or v8 processor you are targetting and the arm1176jzf-s)
# arm1176jzf-s, generic-armv7-a, cortex-a5, cortex-a7, cortex-a8,
# cortex-a9, cortex-a12, cortex-a15, cortex-a17, cortex-a53, cortex-a57,
# cortex-a72, exynos-m1
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk
index 92c10a4a90b4..50ed33c2838d 100644
--- a/share/mk/bsd.dep.mk
+++ b/share/mk/bsd.dep.mk
@@ -20,10 +20,6 @@
#
# HTAGSFLAGS Options for htags(1) [not set]
#
-# MKDEP Options for ${MKDEPCMD} [not set]
-#
-# MKDEPCMD Makefile dependency list program [mkdep]
-#
# SRCS List of source files (c, c++, assembler)
#
# DPSRCS List of source files which are needed for generating
@@ -54,13 +50,6 @@ CTAGSFLAGS?=
GTAGSFLAGS?= -o
HTAGSFLAGS?=
-_MKDEPCC:= ${CC:N${CCACHE_BIN}}
-# XXX: DEPFLAGS can come out once Makefile.inc1 properly passes down
-# CXXFLAGS.
-.if !empty(DEPFLAGS)
-_MKDEPCC+= ${DEPFLAGS}
-.endif
-MKDEPCMD?= CC='${_MKDEPCC}' mkdep
.if ${MK_DIRDEPS_BUILD} == "no"
.MAKE.DEPENDFILE= ${DEPENDFILE}
.endif
@@ -95,9 +84,6 @@ CLEANFILES?=
.for _S in ${SRCS:N*.[dhly]}
OBJS_DEPEND_GUESS.${_S:R}.o= ${_S}
-.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE})
-${_S:R}.o: ${OBJS_DEPEND_GUESS.${_S:R}.o}
-.endif
.endfor
# Lexical analyzers
@@ -106,9 +92,6 @@ ${_S:R}.o: ${OBJS_DEPEND_GUESS.${_S:R}.o}
${_LC}: ${_LSRC}
${LEX} ${LFLAGS} -o${.TARGET} ${.ALLSRC}
OBJS_DEPEND_GUESS.${_LC:R}.o= ${_LC}
-.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE})
-${_LC:R}.o: ${OBJS_DEPEND_GUESS.${_LC:R}.o}
-.endif
SRCS:= ${SRCS:S/${_LSRC}/${_LC}/}
CLEANFILES+= ${_LC}
.endfor
@@ -138,9 +121,6 @@ ${_YC}: ${_YSRC}
${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC}
.endif
OBJS_DEPEND_GUESS.${_YC:R}.o= ${_YC}
-.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE})
-${_YC:R}.o: ${OBJS_DEPEND_GUESS.${_YC:R}.o}
-.endif
.endfor
.endfor
@@ -175,7 +155,6 @@ ${_D}.po: ${_DSRC} ${POBJS:S/^${_D}.po$//}
.if !empty(.MAKE.MODE:Mmeta) && empty(.MAKE.MODE:Mnofilemon)
_meta_filemon= 1
.endif
-.if ${MK_FAST_DEPEND} == "yes"
.if ${MAKE_VERSION} < 20160220
DEPEND_MP?= -MP
.endif
@@ -210,7 +189,6 @@ CFLAGS+= ${DEPEND_CFLAGS}
.endfor
.endif # !defined(_SKIP_READ_DEPEND)
.endif # !defined(_meta_filemon)
-.endif # ${MK_FAST_DEPEND} == "yes"
.endif # defined(SRCS)
.if ${MK_DIRDEPS_BUILD} == "yes"
@@ -230,7 +208,6 @@ afterdepend: beforedepend
# Guess some dependencies for when no ${DEPENDFILE}.OBJ is generated yet.
# For meta+filemon the .meta file is checked for since it is the dependency
# file used.
-.if ${MK_FAST_DEPEND} == "yes"
.for __obj in ${DEPENDOBJS:O:u}
.if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \
(!defined(_meta_filemon) && !exists(${.OBJDIR}/${DEPENDFILE}.${__obj}))
@@ -245,7 +222,6 @@ ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}}
.if ${MK_DIRDEPS_BUILD} == "no" || ${.MAKE.LEVEL} > 0
beforebuild: depend
.endif
-.endif # ${MK_FAST_DEPEND} == "yes"
.if !target(depend)
.if defined(SRCS)
@@ -254,41 +230,14 @@ depend: beforedepend ${DEPENDFILE} afterdepend
# Tell bmake not to look for generated files via .PATH
.NOPATH: ${DEPENDFILE} ${DEPENDFILES_OBJS}
-.if ${MK_FAST_DEPEND} == "no"
-# Capture -include from CFLAGS.
-# This could be simpler with bmake :tW but needs to support fmake for MFC.
-_CFLAGS_INCLUDES= ${CFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g}
-_CXXFLAGS_INCLUDES= ${CXXFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g}
-
-# Different types of sources are compiled with slightly different flags.
-# Split up the sources, and filter out headers and non-applicable flags.
-MKDEP_CFLAGS= ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BIDU]*} ${CFLAGS:M-std=*} \
- ${CFLAGS:M-ansi} ${_CFLAGS_INCLUDES}
-MKDEP_CXXFLAGS= ${CXXFLAGS:M-nostdinc*} ${CXXFLAGS:M-[BIDU]*} \
- ${CXXFLAGS:M-std=*} ${CXXFLAGS:M-ansi} ${CXXFLAGS:M-stdlib=*} \
- ${_CXXFLAGS_INCLUDES}
-.endif # ${MK_FAST_DEPEND} == "no"
-
DPSRCS+= ${SRCS}
-# FAST_DEPEND will only generate a .depend if _EXTRADEPEND is used but
-# the target is created to allow 'make depend' to generate files.
+# A .depend file will only be generated if there are commands in
+# beforedepend/_EXTRADEPEND/afterdepend. The target is kept
+# to allow 'make depend' to generate files.
${DEPENDFILE}: ${DPSRCS}
.if exists(${.OBJDIR}/${DEPENDFILE})
rm -f ${DEPENDFILE}
.endif
-.if ${MK_FAST_DEPEND} == "no"
-.if !empty(DPSRCS:M*.[cS])
- ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \
- ${MKDEP_CFLAGS} ${.ALLSRC:M*.[cS]}
-.endif
-.if !empty(DPSRCS:M*.cc) || !empty(DPSRCS:M*.C) || !empty(DPSRCS:M*.cpp) || \
- !empty(DPSRCS:M*.cxx)
- ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \
- ${MKDEP_CXXFLAGS} \
- ${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cpp} ${.ALLSRC:M*.cxx}
-.else
-.endif
-.endif # ${MK_FAST_DEPEND} == "no"
.if target(_EXTRADEPEND)
_EXTRADEPEND: .USE
${DEPENDFILE}: _EXTRADEPEND
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 29a95e5a7df1..216992576d5f 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -226,27 +226,10 @@ ${SHLIB_NAME_FULL}: beforelinking
.endif
.if defined(SHLIB_LINK)
-# ${_LDSCRIPTROOT} is needed when cross-building
-# and when building 32 bits library shims.
-#
-# ${_LDSCRIPTROOT} is the directory prefix that will be used when generating
-# ld(1) scripts. The crosstools' ld is configured to lookup libraries in an
-# alternative directory which is called "sysroot", so during buildworld binaries
-# won't be linked against the running system libraries but against the ones of
-# the current source tree. ${_LDSCRIPTROOT} behavior is twisted because of
-# the location where we store them:
-# - 64 bits libs are located under sysroot, so ${_LDSCRIPTROOT} must be empty
-# because ld(1) will manage to find them from sysroot;
-# - 32 bits shims are not, so ${_LDSCRIPTROOT} is used to specify their full
-# path, outside of sysroot.
-# Note that ld(1) scripts are generated both during buildworld and
-# installworld; in the later case ${_LDSCRIPTROOT} must be obviously empty
-# because on the target system, libraries are meant to be looked up from /.
.if defined(SHLIB_LDSCRIPT) && !empty(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT})
${SHLIB_LINK:R}.ld: ${.CURDIR}/${SHLIB_LDSCRIPT}
- sed -e 's,@@SHLIB@@,${_LDSCRIPTROOT}${_SHLIBDIR}/${SHLIB_NAME},g' \
- -e 's,@@LIBDIR@@,${_LDSCRIPTROOT}${_LIBDIR},g' \
- -e 's,/[^ ]*/,,g' \
+ sed -e 's,@@SHLIB@@,${_SHLIBDIR}/${SHLIB_NAME},g' \
+ -e 's,@@LIBDIR@@,${_LIBDIR},g' \
${.ALLSRC} > ${.TARGET}
${SHLIB_NAME_FULL}: ${SHLIB_LINK:R}.ld
@@ -317,12 +300,6 @@ all: all-man
.endif
_EXTRADEPEND:
-.if ${MK_FAST_DEPEND} == "no"
- @TMP=_depend$$$$; \
- sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \
- > $$TMP; \
- mv $$TMP ${DEPENDFILE}
-.endif
.if !defined(NO_EXTRADEPEND) && defined(SHLIB_NAME)
.if defined(DPADD) && !empty(DPADD)
echo ${SHLIB_NAME_FULL}: ${DPADD} >> ${DEPENDFILE}
@@ -452,23 +429,6 @@ OBJS_DEPEND_GUESS.${_S:R}.So= ${_S}
.endif
.include <bsd.dep.mk>
-
-.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE})
-.if defined(LIB) && !empty(LIB)
-${OBJS} ${STATICOBJS} ${POBJS}: ${OBJS_DEPEND_GUESS}
-.for _S in ${SRCS:N*.[hly]}
-${_S:R}.po: ${OBJS_DEPEND_GUESS.${_S:R}.po}
-.endfor
-.endif
-.if defined(SHLIB_NAME) || \
- defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB)
-${SOBJS}: ${OBJS_DEPEND_GUESS}
-.for _S in ${SRCS:N*.[hly]}
-${_S:R}.So: ${OBJS_DEPEND_GUESS.${_S:R}.So}
-.endfor
-.endif
-.endif
-
.include <bsd.clang-analyze.mk>
.include <bsd.obj.mk>
.include <bsd.sys.mk>
diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk
index 0fae1559f74b..3e321f30922b 100644
--- a/share/mk/bsd.opts.mk
+++ b/share/mk/bsd.opts.mk
@@ -52,7 +52,6 @@ __DEFAULT_YES_OPTIONS = \
ASSERT_DEBUG \
DEBUG_FILES \
DOCCOMPRESS \
- FAST_DEPEND \
INCLUDES \
INSTALLLIB \
KERBEROS \
@@ -79,12 +78,6 @@ __DEFAULT_DEPENDENT_OPTIONS = \
STAGING_PROG/STAGING \
-# Enable FAST_DEPEND by default for the meta build.
-.if !empty(.MAKE.MODE:Mmeta)
-__DEFAULT_YES_OPTIONS+= FAST_DEPEND
-__DEFAULT_NO_OPTIONS:= ${__DEFAULT_NO_OPTIONS:NFAST_DEPEND}
-.endif
-
.include <bsd.mkopt.mk>
#
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index 30c37cad88fc..742eba926061 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -8,6 +8,7 @@
# XXX The use of COPTS in modern makefiles is discouraged.
.if defined(COPTS)
+.warning ${.CURDIR}: COPTS should be CFLAGS.
CFLAGS+=${COPTS}
.endif
@@ -289,13 +290,6 @@ OBJS_DEPEND_GUESS+= ${SRCS:M*.h}
.endif
.include <bsd.dep.mk>
-
-.if defined(PROG)
-.if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE})
-${OBJS}: ${OBJS_DEPEND_GUESS}
-.endif
-.endif
-
.include <bsd.clang-analyze.mk>
.include <bsd.obj.mk>
.include <bsd.sys.mk>
diff --git a/share/mk/bsd.progs.mk b/share/mk/bsd.progs.mk
index c5639b410128..00dd5663fab9 100644
--- a/share/mk/bsd.progs.mk
+++ b/share/mk/bsd.progs.mk
@@ -24,7 +24,7 @@ PROGS += ${PROGS_CXX}
# just one of many
PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE DPSRCS MAN NO_WERROR \
PROGNAME SRCS WARNS
-PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD LIBADD LINKS \
+PROG_VARS += CFLAGS CXXFLAGS DPADD LDADD LIBADD LINKS \
LDFLAGS MLINKS ${PROG_OVERRIDE_VARS}
.for v in ${PROG_VARS:O:u}
.if empty(${PROG_OVERRIDE_VARS:M$v})
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index cf53d861fe23..8471699dbc3e 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -174,6 +174,10 @@ CFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}}
CFLAGS+= ${CFLAGS.${COMPILER_TYPE}}
CXXFLAGS+= ${CXXFLAGS.${COMPILER_TYPE}}
+ACFLAGS+= ${ACFLAGS.${.IMPSRC:T}}
+CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
+CXXFLAGS+= ${CXXFLAGS.${.IMPSRC:T}}
+
# Tell bmake not to mistake standard targets for things to be searched for
# or expect to ever be up-to-date.
PHONY_NOTMAIN = analyze afterdepend afterinstall all beforedepend beforeinstall \
@@ -231,7 +235,6 @@ stage_files.shlib: ${_LIBS:M*.so.*}
.endif
.if defined(SHLIB_LINK) && commands(${SHLIB_LINK:R}.ld)
-_LDSCRIPTROOT?= ${STAGE_OBJTOP}
STAGE_AS_SETS+= ldscript
STAGE_AS.ldscript+= ${SHLIB_LINK:R}.ld
stage_as.ldscript: ${SHLIB_LINK:R}.ld
diff --git a/share/mk/dirdeps.mk b/share/mk/dirdeps.mk
index efc729c0f2e7..a97d489e0ce1 100644
--- a/share/mk/dirdeps.mk
+++ b/share/mk/dirdeps.mk
@@ -1,5 +1,5 @@
# $FreeBSD$
-# $Id: dirdeps.mk,v 1.59 2016/02/26 23:32:29 sjg Exp $
+# $Id: dirdeps.mk,v 1.62 2016/03/16 00:11:53 sjg Exp $
# Copyright (c) 2010-2013, Juniper Networks, Inc.
# All rights reserved.
@@ -136,7 +136,6 @@ start_utc := ${now_utc}
# make sure these are empty to start with
_DEP_TARGET_SPEC =
-_DIRDEP_CHECKED =
# If TARGET_SPEC_VARS is other than just MACHINE
# it should be set by sys.mk or similar by now.
@@ -226,7 +225,7 @@ _DEP_TARGET_SPEC = ${_last_dependfile:${M_dep_qual_fixes:ts:}:E}
.endif
.if !empty(_last_dependfile)
# record that we've read dependfile for this
-_DIRDEP_CHECKED += ${_CURDIR}.${TARGET_SPEC}
+_dirdeps_checked.${_CURDIR}.${TARGET_SPEC}:
.endif
.endif
@@ -307,8 +306,10 @@ DEP_SKIP_DIR = ${SKIP_DIR} \
NSkipDir = ${DEP_SKIP_DIR:${M_ListToSkip}}
.if defined(NO_DIRDEPS) || defined(NODIRDEPS) || defined(WITHOUT_DIRDEPS)
-# confine ourselves to the original dir
+# confine ourselves to the original dir and below.
DIRDEPS_FILTER += M${_DEP_RELDIR}*
+.elif defined(NO_DIRDEPS_BELOW)
+DIRDEPS_FILTER += M${_DEP_RELDIR}
.endif
# this is what we run below
@@ -598,9 +599,9 @@ ${_this_dir}.$m: ${_build_dirs:M*.$m:N${_this_dir}.$m}
# Now find more dependencies - and recurse.
.for d in ${_build_all_dirs}
-.if ${_DIRDEP_CHECKED:M$d} == ""
+.if !target(_dirdeps_checked.$d)
# once only
-_DIRDEP_CHECKED += $d
+_dirdeps_checked.$d:
.if ${_debug_search}
.info checking $d
.endif
diff --git a/share/mk/local.dirdeps.mk b/share/mk/local.dirdeps.mk
index af7cf77041cb..d5d9e40b7207 100644
--- a/share/mk/local.dirdeps.mk
+++ b/share/mk/local.dirdeps.mk
@@ -9,15 +9,6 @@
# DEP_MACHINE is set before we get here, this may not be.
DEP_RELDIR ?= ${RELDIR}
-.if ${.TARGETS:Uall:M*/*} && empty(DIRDEPS)
-# This little trick let's us do
-#
-# mk -f dirdeps.mk some/dir.i386,bsd
-#
-DIRDEPS := ${.TARGETS:M*/*}
-${.TARGETS:Nall}: all
-.endif
-
# making universe is special
.if defined(UNIVERSE_GUARD)
# these should be done by now
diff --git a/share/mk/local.meta.sys.mk b/share/mk/local.meta.sys.mk
index 14bfb64d9c35..e55d68de3953 100644
--- a/share/mk/local.meta.sys.mk
+++ b/share/mk/local.meta.sys.mk
@@ -6,12 +6,11 @@
# we need this until there is an alternative
MK_INSTALL_AS_USER= yes
-MK_FAST_DEPEND= yes
_default_makeobjdir=$${.CURDIR:S,^$${SRCTOP},$${OBJTOP},}
.if empty(OBJROOT) || ${.MAKE.LEVEL} == 0
-.if defined(MAKEOBJDIRPREFIX)
+.if defined(MAKEOBJDIRPREFIX) && !empty(MAKEOBJDIRPREFIX)
# put things approximately where they want
OBJROOT:=${MAKEOBJDIRPREFIX}${SRCTOP}/
MAKEOBJDIRPREFIX=
@@ -180,7 +179,7 @@ STAGE_INCSDIR= ${STAGE_OBJTOP}${INCSDIR:U/include}
# the target is usually an absolute path
STAGE_SYMLINKS_DIR= ${STAGE_OBJTOP}
-LDFLAGS_LAST+= -Wl,-rpath-link -Wl,${STAGE_LIBDIR}
+LDFLAGS_LAST+= -Wl,-rpath-link,${STAGE_LIBDIR}
.if ${MK_SYSROOT} == "yes"
SYSROOT?= ${STAGE_OBJTOP}
.else
diff --git a/share/mk/local.sys.mk b/share/mk/local.sys.mk
index ae022a19d4b7..ced441fe26d8 100644
--- a/share/mk/local.sys.mk
+++ b/share/mk/local.sys.mk
@@ -23,6 +23,10 @@ MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFILES .PATH
.endif
.endif
+.if !empty(.OBJDIR)
+OBJTOP?= ${.OBJDIR:S,${.CURDIR},,}${SRCTOP}
+.endif
+
.include "src.sys.mk"
.if ${.MAKE.MODE:Mmeta*} != ""
diff --git a/share/mk/meta.stage.mk b/share/mk/meta.stage.mk
index e31582837359..0baddba1dc7b 100644
--- a/share/mk/meta.stage.mk
+++ b/share/mk/meta.stage.mk
@@ -1,5 +1,5 @@
# $FreeBSD$
-# $Id: meta.stage.mk,v 1.43 2016/02/24 18:46:32 sjg Exp $
+# $Id: meta.stage.mk,v 1.44 2016/03/16 18:21:23 sjg Exp $
#
# @(#) Copyright (c) 2011, Simon J. Gerraty
#
@@ -59,7 +59,7 @@ GENDIRDEPS_FILTER += Nnot-empty-is-important \
LN_CP_SCRIPT = LnCp() { \
rm -f $$2 2> /dev/null; \
- ln $$1 $$2 2> /dev/null || \
+ { [ -z "$$mode" ] && ln $$1 $$2 2> /dev/null; } || \
cp -p $$1 $$2; }
# a staging conflict should cause an error
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index a3d6a0cef1f4..8518b71e4162 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -355,6 +355,7 @@ MK_CLANG:= no
MK_GCC:= no
MK_GDB:= no
MK_INCLUDES:= no
+MK_LLDB:= no
.endif
.if ${MK_CLANG} == "no"
diff --git a/sys/amd64/amd64/autoconf.c b/sys/amd64/amd64/autoconf.c
deleted file mode 100644
index ee3274040390..000000000000
--- a/sys/amd64/amd64/autoconf.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/*
- * Setup the system to run on the current machine.
- *
- * Configure() is called at boot time and initializes the vba
- * device tables and the memory controller monitoring. Available
- * devices are determined (from possibilities mentioned in ioconf.c),
- * and the drivers are initialized.
- */
-#include "opt_bootp.h"
-#include "opt_isa.h"
-#include "opt_bus.h"
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/bus.h>
-#include <sys/conf.h>
-#include <sys/reboot.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/mount.h>
-#include <sys/cons.h>
-
-#include <sys/socket.h>
-#include <net/if.h>
-#include <net/if_dl.h>
-#include <net/if_types.h>
-#include <net/if_var.h>
-#include <net/ethernet.h>
-#include <netinet/in.h>
-
-#include <machine/md_var.h>
-
-#ifdef DEV_ISA
-#include <isa/isavar.h>
-
-device_t isa_bus_device = 0;
-#endif
-
-static void configure_first(void *);
-static void configure(void *);
-static void configure_final(void *);
-
-SYSINIT(configure1, SI_SUB_CONFIGURE, SI_ORDER_FIRST, configure_first, NULL);
-/* SI_ORDER_SECOND is hookable */
-SYSINIT(configure2, SI_SUB_CONFIGURE, SI_ORDER_THIRD, configure, NULL);
-/* SI_ORDER_MIDDLE is hookable */
-SYSINIT(configure3, SI_SUB_CONFIGURE, SI_ORDER_ANY, configure_final, NULL);
-
-/*
- * Determine i/o configuration for a machine.
- */
-static void
-configure_first(dummy)
- void *dummy;
-{
-
- /* nexus0 is the top of the amd64 device tree */
- device_add_child(root_bus, "nexus", 0);
-}
-
-static void
-configure(dummy)
- void *dummy;
-{
-
- /*
- * Enable interrupts on the processor. The interrupts are still
- * disabled in the interrupt controllers until interrupt handlers
- * are registered.
- */
- enable_intr();
-
- /* initialize new bus architecture */
- root_bus_configure();
-
-#ifdef DEV_ISA
- /*
- * Explicitly probe and attach ISA last. The isa bus saves
- * it's device node at attach time for us here.
- */
- if (isa_bus_device)
- isa_probe_children(isa_bus_device);
-#endif
-}
-
-static void
-configure_final(dummy)
- void *dummy;
-{
-
- cninit_finish();
- if (bootverbose)
- printf("Device configuration finished.\n");
- cold = 0;
-}
diff --git a/sys/amd64/amd64/sys_machdep.c b/sys/amd64/amd64/sys_machdep.c
index 7d9a748697b9..7f6c50e71f3c 100644
--- a/sys/amd64/amd64/sys_machdep.c
+++ b/sys/amd64/amd64/sys_machdep.c
@@ -580,8 +580,8 @@ amd64_set_ldt(td, uap, descs)
struct i386_ldt_args *uap;
struct user_segment_descriptor *descs;
{
- int error = 0, i;
- int largest_ld;
+ int error = 0;
+ unsigned int largest_ld, i;
struct mdproc *mdp = &td->td_proc->p_md;
struct proc_ldt *pldt;
struct user_segment_descriptor *dp;
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c
index 13241acc13c1..ee6dccd3828d 100644
--- a/sys/amd64/amd64/vm_machdep.c
+++ b/sys/amd64/amd64/vm_machdep.c
@@ -102,8 +102,8 @@ get_pcb_user_save_td(struct thread *td)
vm_offset_t p;
p = td->td_kstack + td->td_kstack_pages * PAGE_SIZE -
- cpu_max_ext_state_size;
- KASSERT((p % 64) == 0, ("Unaligned pcb_user_save area"));
+ roundup2(cpu_max_ext_state_size, XSAVE_AREA_ALIGN);
+ KASSERT((p % XSAVE_AREA_ALIGN) == 0, ("Unaligned pcb_user_save area"));
return ((struct savefpu *)p);
}
@@ -122,7 +122,8 @@ get_pcb_td(struct thread *td)
vm_offset_t p;
p = td->td_kstack + td->td_kstack_pages * PAGE_SIZE -
- cpu_max_ext_state_size - sizeof(struct pcb);
+ roundup2(cpu_max_ext_state_size, XSAVE_AREA_ALIGN) -
+ sizeof(struct pcb);
return ((struct pcb *)p);
}
diff --git a/sys/amd64/cloudabi64/cloudabi64_sysvec.c b/sys/amd64/cloudabi64/cloudabi64_sysvec.c
index 70754884638d..16d3ef9f45e7 100644
--- a/sys/amd64/cloudabi64/cloudabi64_sysvec.c
+++ b/sys/amd64/cloudabi64/cloudabi64_sysvec.c
@@ -156,5 +156,6 @@ Elf64_Brandinfo cloudabi64_brand = {
.brand = ELFOSABI_CLOUDABI,
.machine = EM_X86_64,
.sysvec = &cloudabi64_elf_sysvec,
+ .flags = BI_CAN_EXEC_DYN,
.compat_3_brand = "CloudABI",
};
diff --git a/sys/amd64/conf/GENERIC.hints b/sys/amd64/conf/GENERIC.hints
index 39beae158893..31311d03fc94 100644
--- a/sys/amd64/conf/GENERIC.hints
+++ b/sys/amd64/conf/GENERIC.hints
@@ -30,6 +30,5 @@ hint.atrtc.0.irq="8"
hint.attimer.0.at="isa"
hint.attimer.0.port="0x40"
hint.attimer.0.irq="0"
-hint.wbwd.0.at="isa"
hint.acpi_throttle.0.disabled="1"
hint.p4tcc.0.disabled="1"
diff --git a/sys/amd64/include/intr_machdep.h b/sys/amd64/include/intr_machdep.h
index d37c7956db48..22f9a49c1d65 100644
--- a/sys/amd64/include/intr_machdep.h
+++ b/sys/amd64/include/intr_machdep.h
@@ -83,7 +83,7 @@
#ifndef LOCORE
-typedef void inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
+typedef void inthand_t(void);
#define IDTVEC(name) __CONCAT(X,name)
diff --git a/sys/amd64/include/md_var.h b/sys/amd64/include/md_var.h
index ddeb2573140b..e4c50eba7642 100644
--- a/sys/amd64/include/md_var.h
+++ b/sys/amd64/include/md_var.h
@@ -36,9 +36,6 @@
extern uint64_t *vm_page_dump;
-/* XXX */
-typedef void alias_for_inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
-
struct savefpu;
void amd64_db_resume_dbreg(void);
diff --git a/sys/amd64/linux32/linux32_dummy.c b/sys/amd64/linux32/linux32_dummy.c
index e4e9f506d0d2..11046515d2ef 100644
--- a/sys/amd64/linux32/linux32_dummy.c
+++ b/sys/amd64/linux32/linux32_dummy.c
@@ -69,7 +69,6 @@ DUMMY(mincore);
DUMMY(ptrace);
DUMMY(lookup_dcookie);
DUMMY(remap_file_pages);
-DUMMY(fstatfs64);
DUMMY(mbind);
DUMMY(get_mempolicy);
DUMMY(set_mempolicy);
diff --git a/sys/amd64/linux32/linux32_proto.h b/sys/amd64/linux32/linux32_proto.h
index e76384fb445b..fd74495fbc78 100644
--- a/sys/amd64/linux32/linux32_proto.h
+++ b/sys/amd64/linux32/linux32_proto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius
+ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 297061 2016-03-20 13:21:20Z dchagin
*/
#ifndef _LINUX32_SYSPROTO_H_
@@ -844,7 +844,9 @@ struct linux_statfs64_args {
char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)];
};
struct linux_fstatfs64_args {
- register_t dummy;
+ char fd_l_[PADL_(l_uint)]; l_uint fd; char fd_r_[PADR_(l_uint)];
+ char bufsize_l_[PADL_(size_t)]; size_t bufsize; char bufsize_r_[PADR_(size_t)];
+ char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)];
};
struct linux_tgkill_args {
char tgid_l_[PADL_(int)]; int tgid; char tgid_r_[PADR_(int)];
diff --git a/sys/amd64/linux32/linux32_syscall.h b/sys/amd64/linux32/linux32_syscall.h
index 990adf3642ed..f213377b832c 100644
--- a/sys/amd64/linux32/linux32_syscall.h
+++ b/sys/amd64/linux32/linux32_syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius
+ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 297061 2016-03-20 13:21:20Z dchagin
*/
#define LINUX32_SYS_linux_exit 1
diff --git a/sys/amd64/linux32/linux32_syscalls.c b/sys/amd64/linux32/linux32_syscalls.c
index 79b96a71bf2a..beb6efc8b1fc 100644
--- a/sys/amd64/linux32/linux32_syscalls.c
+++ b/sys/amd64/linux32/linux32_syscalls.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius
+ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 297061 2016-03-20 13:21:20Z dchagin
*/
const char *linux32_syscallnames[] = {
diff --git a/sys/amd64/linux32/linux32_sysent.c b/sys/amd64/linux32/linux32_sysent.c
index 7d6d22078f83..baa9baaef4aa 100644
--- a/sys/amd64/linux32/linux32_sysent.c
+++ b/sys/amd64/linux32/linux32_sysent.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius
+ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 297061 2016-03-20 13:21:20Z dchagin
*/
#include "opt_compat.h"
@@ -288,7 +288,7 @@ struct sysent linux32_sysent[] = {
{ AS(linux_clock_getres_args), (sy_call_t *)linux_clock_getres, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 266 = linux_clock_getres */
{ AS(linux_clock_nanosleep_args), (sy_call_t *)linux_clock_nanosleep, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 267 = linux_clock_nanosleep */
{ AS(linux_statfs64_args), (sy_call_t *)linux_statfs64, AUE_STATFS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 268 = linux_statfs64 */
- { 0, (sy_call_t *)linux_fstatfs64, AUE_FSTATFS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 269 = linux_fstatfs64 */
+ { AS(linux_fstatfs64_args), (sy_call_t *)linux_fstatfs64, AUE_FSTATFS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 269 = linux_fstatfs64 */
{ AS(linux_tgkill_args), (sy_call_t *)linux_tgkill, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 270 = linux_tgkill */
{ AS(linux_utimes_args), (sy_call_t *)linux_utimes, AUE_UTIMES, NULL, 0, 0, 0, SY_THR_STATIC }, /* 271 = linux_utimes */
{ AS(linux_fadvise64_64_args), (sy_call_t *)linux_fadvise64_64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 272 = linux_fadvise64_64 */
diff --git a/sys/amd64/linux32/linux32_systrace_args.c b/sys/amd64/linux32/linux32_systrace_args.c
index 80889bf83b62..fc4c89ab4d5e 100644
--- a/sys/amd64/linux32/linux32_systrace_args.c
+++ b/sys/amd64/linux32/linux32_systrace_args.c
@@ -1820,7 +1820,11 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
}
/* linux_fstatfs64 */
case 269: {
- *n_args = 0;
+ struct linux_fstatfs64_args *p = params;
+ iarg[0] = p->fd; /* l_uint */
+ uarg[1] = p->bufsize; /* size_t */
+ uarg[2] = (intptr_t) p->buf; /* struct l_statfs64_buf * */
+ *n_args = 3;
break;
}
/* linux_tgkill */
@@ -5118,6 +5122,19 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_fstatfs64 */
case 269:
+ switch(ndx) {
+ case 0:
+ p = "l_uint";
+ break;
+ case 1:
+ p = "size_t";
+ break;
+ case 2:
+ p = "struct l_statfs64_buf *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_tgkill */
case 270:
@@ -6878,6 +6895,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* linux_fstatfs64 */
case 269:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_tgkill */
case 270:
if (ndx == 0 || ndx == 1)
diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master
index 0396b30db9c8..e40247e9f1ee 100644
--- a/sys/amd64/linux32/syscalls.master
+++ b/sys/amd64/linux32/syscalls.master
@@ -450,7 +450,7 @@
267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \
struct l_timespec *rqtp, struct l_timespec *rmtp); }
268 AUE_STATFS STD { int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); }
-269 AUE_FSTATFS STD { int linux_fstatfs64(void); }
+269 AUE_FSTATFS STD { int linux_fstatfs64(l_uint fd, size_t bufsize, struct l_statfs64_buf *buf); }
270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); }
271 AUE_UTIMES STD { int linux_utimes(char *fname, \
struct l_timeval *tptr); }
diff --git a/sys/arm/allwinner/a10_gpio.c b/sys/arm/allwinner/a10_gpio.c
index df774b339673..0eae99298813 100644
--- a/sys/arm/allwinner/a10_gpio.c
+++ b/sys/arm/allwinner/a10_gpio.c
@@ -136,8 +136,6 @@ extern const struct allwinner_padconf a31s_padconf;
#define A10_GPIO_GP_INT_STA 0x214
#define A10_GPIO_GP_INT_DEB 0x218
-static struct a10_gpio_softc *a10_gpio_sc;
-
#define A10_GPIO_WRITE(_sc, _off, _val) \
bus_space_write_4(_sc->sc_bst, _sc->sc_bsh, _off, _val)
#define A10_GPIO_READ(_sc, _off) \
@@ -562,12 +560,6 @@ a10_gpio_attach(device_t dev)
/* Node is not a GPIO controller. */
goto fail;
- a10_gpio_sc = sc;
- sc->sc_busdev = gpiobus_attach_bus(dev);
- if (sc->sc_busdev == NULL)
- goto fail;
-
-
/* Use the right pin data for the current SoC */
switch (allwinner_soc_type()) {
#ifdef SOC_ALLWINNER_A10
@@ -594,6 +586,10 @@ a10_gpio_attach(device_t dev)
return (ENOENT);
}
+ sc->sc_busdev = gpiobus_attach_bus(dev);
+ if (sc->sc_busdev == NULL)
+ goto fail;
+
/*
* Register as a pinctrl device
*/
diff --git a/sys/arm/allwinner/a10_hdmi.c b/sys/arm/allwinner/a10_hdmi.c
index 9bb9869d6e17..ff86fa0f5dad 100644
--- a/sys/arm/allwinner/a10_hdmi.c
+++ b/sys/arm/allwinner/a10_hdmi.c
@@ -195,6 +195,15 @@ __FBSDID("$FreeBSD$");
#define CEA_TAG_ID 0x02
#define CEA_DTD 0x03
#define DTD_BASIC_AUDIO (1 << 6)
+#define CEA_REV 0x02
+#define CEA_DATA_OFF 0x03
+#define CEA_DATA_START 4
+#define BLOCK_TAG(x) (((x) >> 5) & 0x7)
+#define BLOCK_TAG_VSDB 3
+#define BLOCK_LEN(x) ((x) & 0x1f)
+#define HDMI_VSDB_MINLEN 5
+#define HDMI_OUI "\x03\x0c\x00"
+#define HDMI_OUI_LEN 3
struct a10hdmi_softc {
struct resource *res;
@@ -372,6 +381,41 @@ a10hdmi_ddc_read(struct a10hdmi_softc *sc, int block, uint8_t *edid)
return (0);
}
+static int
+a10hdmi_detect_hdmi_vsdb(uint8_t *edid)
+{
+ int off, p, btag, blen;
+
+ if (edid[EXT_TAG] != CEA_TAG_ID)
+ return (0);
+
+ off = edid[CEA_DATA_OFF];
+
+ /* CEA data block collection starts at byte 4 */
+ if (off <= CEA_DATA_START)
+ return (0);
+
+ /* Parse the CEA data blocks */
+ for (p = CEA_DATA_START; p < off;) {
+ btag = BLOCK_TAG(edid[p]);
+ blen = BLOCK_LEN(edid[p]);
+
+ /* Make sure the length is sane */
+ if (p + blen + 1 > off)
+ break;
+
+ /* Look for a VSDB with the HDMI 24-bit IEEE registration ID */
+ if (btag == BLOCK_TAG_VSDB && blen >= HDMI_VSDB_MINLEN &&
+ memcmp(&edid[p + 1], HDMI_OUI, HDMI_OUI_LEN) == 0)
+ return (1);
+
+ /* Next data block */
+ p += (1 + blen);
+ }
+
+ return (0);
+}
+
static void
a10hdmi_detect_hdmi(struct a10hdmi_softc *sc, int *phdmi, int *paudio)
{
@@ -389,7 +433,7 @@ a10hdmi_detect_hdmi(struct a10hdmi_softc *sc, int *phdmi, int *paudio)
if (a10hdmi_ddc_read(sc, block, edid) != 0)
return;
- if (edid[EXT_TAG] == CEA_TAG_ID) {
+ if (a10hdmi_detect_hdmi_vsdb(edid) != 0) {
*phdmi = 1;
*paudio = ((edid[CEA_DTD] & DTD_BASIC_AUDIO) != 0);
return;
@@ -518,6 +562,9 @@ a10hdmi_set_videomode(device_t dev, const struct videomode *mode)
PLLCTRL0_VCO_S);
/* Setup display settings */
+ if (bootverbose)
+ device_printf(dev, "HDMI: %s, Audio: %s\n",
+ sc->has_hdmi ? "yes" : "no", sc->has_audio ? "yes" : "no");
val = 0;
if (sc->has_hdmi)
val |= VID_CTRL_HDMI_MODE;
diff --git a/sys/arm/allwinner/a10_mmc.c b/sys/arm/allwinner/a10_mmc.c
index b236c4b4ac8e..dc341dd3e123 100644
--- a/sys/arm/allwinner/a10_mmc.c
+++ b/sys/arm/allwinner/a10_mmc.c
@@ -943,3 +943,4 @@ static driver_t a10_mmc_driver = {
DRIVER_MODULE(a10_mmc, simplebus, a10_mmc_driver, a10_mmc_devclass, 0, 0);
DRIVER_MODULE(mmc, a10_mmc, mmc_driver, mmc_devclass, NULL, NULL);
+MODULE_DEPEND(a10_mmc, mmc, 1, 1, 1);
diff --git a/sys/arm/allwinner/allwinner_machdep.c b/sys/arm/allwinner/allwinner_machdep.c
index 549fdcbc6d26..7159acd8bf9d 100644
--- a/sys/arm/allwinner/allwinner_machdep.c
+++ b/sys/arm/allwinner/allwinner_machdep.c
@@ -140,6 +140,7 @@ cpu_reset()
while (1);
}
+#if defined(SOC_ALLWINNER_A10)
static platform_method_t a10_methods[] = {
PLATFORMMETHOD(platform_attach, a10_attach),
PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr),
@@ -147,7 +148,10 @@ static platform_method_t a10_methods[] = {
PLATFORMMETHOD_END,
};
+FDT_PLATFORM_DEF(a10, "a10", 0, "allwinner,sun4i-a10");
+#endif
+#if defined(SOC_ALLWINNER_A20)
static platform_method_t a20_methods[] = {
PLATFORMMETHOD(platform_attach, a20_attach),
PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr),
@@ -159,7 +163,10 @@ static platform_method_t a20_methods[] = {
#endif
PLATFORMMETHOD_END,
};
+FDT_PLATFORM_DEF(a20, "a20", 0, "allwinner,sun7i-a20");
+#endif
+#if defined(SOC_ALLWINNER_A31)
static platform_method_t a31_methods[] = {
PLATFORMMETHOD(platform_attach, a31_attach),
PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr),
@@ -171,7 +178,10 @@ static platform_method_t a31_methods[] = {
#endif
PLATFORMMETHOD_END,
};
+FDT_PLATFORM_DEF(a31, "a31", 0, "allwinner,sun6i-a31");
+#endif
+#if defined(SOC_ALLWINNER_A31S)
static platform_method_t a31s_methods[] = {
PLATFORMMETHOD(platform_attach, a31s_attach),
PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr),
@@ -183,6 +193,8 @@ static platform_method_t a31s_methods[] = {
#endif
PLATFORMMETHOD_END,
};
+FDT_PLATFORM_DEF(a31s, "a31s", 0, "allwinner,sun6i-a31s");
+#endif
u_int
allwinner_soc_type(void)
@@ -195,8 +207,3 @@ allwinner_soc_family(void)
{
return (soc_family);
}
-
-FDT_PLATFORM_DEF(a10, "a10", 0, "allwinner,sun4i-a10");
-FDT_PLATFORM_DEF(a20, "a20", 0, "allwinner,sun7i-a20");
-FDT_PLATFORM_DEF(a31, "a31", 0, "allwinner,sun6i-a31");
-FDT_PLATFORM_DEF(a31s, "a31s", 0, "allwinner,sun6i-a31s");
diff --git a/sys/arm/amlogic/aml8726/aml8726_mmc.c b/sys/arm/amlogic/aml8726/aml8726_mmc.c
index a7cc9c1b6fe5..0e2497568fa7 100644
--- a/sys/arm/amlogic/aml8726/aml8726_mmc.c
+++ b/sys/arm/amlogic/aml8726/aml8726_mmc.c
@@ -1099,3 +1099,4 @@ DRIVER_MODULE(aml8726_mmc, simplebus, aml8726_mmc_driver,
aml8726_mmc_devclass, 0, 0);
MODULE_DEPEND(aml8726_mmc, aml8726_gpio, 1, 1, 1);
DRIVER_MODULE(mmc, aml8726_mmc, mmc_driver, mmc_devclass, NULL, NULL);
+MODULE_DEPEND(aml8726_mmc, mmc, 1, 1, 1);
diff --git a/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c b/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
index fc6a66e0e230..3daa99fd8a41 100644
--- a/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
+++ b/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
@@ -1378,3 +1378,4 @@ DRIVER_MODULE(aml8726_sdxc, simplebus, aml8726_sdxc_driver,
aml8726_sdxc_devclass, 0, 0);
MODULE_DEPEND(aml8726_sdxc, aml8726_gpio, 1, 1, 1);
DRIVER_MODULE(mmc, aml8726_sdxc, mmc_driver, mmc_devclass, NULL, NULL);
+MODULE_DEPEND(aml8726_sdxc, mmc, 1, 1, 1);
diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c
index cf72820a95db..23b9577ee9d4 100644
--- a/sys/arm/arm/gic.c
+++ b/sys/arm/arm/gic.c
@@ -36,8 +36,6 @@ __FBSDID("$FreeBSD$");
#include "opt_platform.h"
-#include "opt_platform.h"
-
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
@@ -86,6 +84,7 @@ __FBSDID("$FreeBSD$");
#define GICD_ITARGETSR(n) (0x0800 + ((n) * 4)) /* v1 ICDIPTR */
#define GICD_ICFGR(n) (0x0C00 + ((n) * 4)) /* v1 ICDICFR */
#define GICD_SGIR(n) (0x0F00 + ((n) * 4)) /* v1 ICDSGIR */
+#define GICD_SGI_TARGET_SHIFT 16
/* CPU Registers */
#define GICC_CTLR 0x0000 /* v1 ICCICR */
@@ -118,16 +117,28 @@ __FBSDID("$FreeBSD$");
#endif
#ifdef ARM_INTRNG
+struct gic_irqsrc {
+ struct intr_irqsrc gi_isrc;
+ uint32_t gi_irq;
+ enum intr_polarity gi_pol;
+ enum intr_trigger gi_trig;
+};
+
static u_int gic_irq_cpu;
static int arm_gic_intr(void *);
-static int arm_gic_bind(device_t dev, struct intr_irqsrc *isrc);
+static int arm_gic_bind_intr(device_t dev, struct intr_irqsrc *isrc);
+
+#ifdef SMP
+u_int sgi_to_ipi[GIC_LAST_SGI - GIC_FIRST_SGI + 1];
+u_int sgi_first_unused = GIC_FIRST_SGI;
+#endif
#endif
struct arm_gic_softc {
device_t gic_dev;
#ifdef ARM_INTRNG
void * gic_intrhand;
- struct intr_irqsrc ** gic_irqs;
+ struct gic_irqsrc * gic_irqs;
#endif
struct resource * gic_res[3];
bus_space_tag_t gic_c_bst;
@@ -142,6 +153,10 @@ struct arm_gic_softc {
#endif
};
+#ifdef ARM_INTRNG
+#define GIC_INTR_ISRC(sc, irq) (&sc->gic_irqs[irq].gi_isrc)
+#endif
+
static struct resource_spec arm_gic_spec[] = {
{ SYS_RES_MEMORY, 0, RF_ACTIVE }, /* Distributor registers */
{ SYS_RES_MEMORY, 1, RF_ACTIVE }, /* CPU Interrupt Intf. registers */
@@ -151,6 +166,8 @@ static struct resource_spec arm_gic_spec[] = {
{ -1, 0 }
};
+static u_int arm_gic_map[MAXCPU];
+
static struct arm_gic_softc *gic_sc = NULL;
#define gic_c_read_4(_sc, _reg) \
@@ -210,6 +227,29 @@ gic_irq_mask(struct arm_gic_softc *sc, u_int irq)
}
#endif
+static uint8_t
+gic_cpu_mask(struct arm_gic_softc *sc)
+{
+ uint32_t mask;
+ int i;
+
+ /* Read the current cpuid mask by reading ITARGETSR{0..7} */
+ for (i = 0; i < 8; i++) {
+ mask = gic_d_read_4(sc, GICD_ITARGETSR(i));
+ if (mask != 0)
+ break;
+ }
+ /* No mask found, assume we are on CPU interface 0 */
+ if (mask == 0)
+ return (1);
+
+ /* Collect the mask in the lower byte */
+ mask |= mask >> 16;
+ mask |= mask >> 8;
+
+ return (mask);
+}
+
#ifdef SMP
#ifdef ARM_INTRNG
static void
@@ -219,6 +259,9 @@ arm_gic_init_secondary(device_t dev)
struct intr_irqsrc *isrc;
u_int irq;
+ /* Set the mask so we can find this CPU to send it IPIs */
+ arm_gic_map[PCPU_GET(cpuid)] = gic_cpu_mask(sc);
+
for (irq = 0; irq < sc->nirqs; irq += 4)
gic_d_write_4(sc, GICD_IPRIORITYR(irq >> 2), 0);
@@ -238,7 +281,7 @@ arm_gic_init_secondary(device_t dev)
/* Unmask attached SGI interrupts. */
for (irq = GIC_FIRST_SGI; irq <= GIC_LAST_SGI; irq++) {
- isrc = sc->gic_irqs[irq];
+ isrc = GIC_INTR_ISRC(sc, irq);
if (isrc != NULL && isrc->isrc_handlers != 0) {
CPU_SET(PCPU_GET(cpuid), &isrc->isrc_cpu);
gic_irq_unmask(sc, irq);
@@ -247,7 +290,7 @@ arm_gic_init_secondary(device_t dev)
/* Unmask attached PPI interrupts. */
for (irq = GIC_FIRST_PPI; irq <= GIC_LAST_PPI; irq++) {
- isrc = sc->gic_irqs[irq];
+ isrc = GIC_INTR_ISRC(sc, irq);
if (isrc == NULL || isrc->isrc_handlers == 0)
continue;
if (isrc->isrc_flags & INTR_ISRCF_BOUND) {
@@ -266,6 +309,9 @@ arm_gic_init_secondary(device_t dev)
struct arm_gic_softc *sc = device_get_softc(dev);
int i;
+ /* Set the mask so we can find this CPU to send it IPIs */
+ arm_gic_map[PCPU_GET(cpuid)] = gic_cpu_mask(sc);
+
for (i = 0; i < sc->nirqs; i += 4)
gic_d_write_4(sc, GICD_IPRIORITYR(i >> 2), 0);
@@ -364,6 +410,46 @@ gic_xref(device_t dev)
return (0);
#endif
}
+
+static int
+arm_gic_register_isrcs(struct arm_gic_softc *sc, uint32_t num)
+{
+ int error;
+ uint32_t irq;
+ struct gic_irqsrc *irqs;
+ struct intr_irqsrc *isrc;
+ const char *name;
+
+ irqs = malloc(num * sizeof(struct gic_irqsrc), M_DEVBUF,
+ M_WAITOK | M_ZERO);
+
+ name = device_get_nameunit(sc->gic_dev);
+ for (irq = 0; irq < num; irq++) {
+ irqs[irq].gi_irq = irq;
+ irqs[irq].gi_pol = INTR_POLARITY_CONFORM;
+ irqs[irq].gi_trig = INTR_TRIGGER_CONFORM;
+
+ isrc = &irqs[irq].gi_isrc;
+ if (irq <= GIC_LAST_SGI) {
+ error = intr_isrc_register(isrc, sc->gic_dev,
+ INTR_ISRCF_IPI, "%s,i%u", name, irq - GIC_FIRST_SGI);
+ } else if (irq <= GIC_LAST_PPI) {
+ error = intr_isrc_register(isrc, sc->gic_dev,
+ INTR_ISRCF_PPI, "%s,p%u", name, irq - GIC_FIRST_PPI);
+ } else {
+ error = intr_isrc_register(isrc, sc->gic_dev, 0,
+ "%s,s%u", name, irq - GIC_FIRST_SPI);
+ }
+ if (error != 0) {
+ /* XXX call intr_isrc_deregister() */
+ free(irqs, M_DEVBUF);
+ return (error);
+ }
+ }
+ sc->gic_irqs = irqs;
+ sc->nirqs = num;
+ return (0);
+}
#endif
static int
@@ -371,7 +457,7 @@ arm_gic_attach(device_t dev)
{
struct arm_gic_softc *sc;
int i;
- uint32_t icciidr;
+ uint32_t icciidr, mask, nirqs;
#ifdef ARM_INTRNG
phandle_t pxref;
intptr_t xref = gic_xref(dev);
@@ -405,13 +491,17 @@ arm_gic_attach(device_t dev)
gic_d_write_4(sc, GICD_CTLR, 0x00);
/* Get the number of interrupts */
- sc->nirqs = gic_d_read_4(sc, GICD_TYPER);
- sc->nirqs = 32 * ((sc->nirqs & 0x1f) + 1);
+ nirqs = gic_d_read_4(sc, GICD_TYPER);
+ nirqs = 32 * ((nirqs & 0x1f) + 1);
#ifdef ARM_INTRNG
- sc->gic_irqs = malloc(sc->nirqs * sizeof (*sc->gic_irqs), M_DEVBUF,
- M_WAITOK | M_ZERO);
+ if (arm_gic_register_isrcs(sc, nirqs)) {
+ device_printf(dev, "could not register irqs\n");
+ goto cleanup;
+ }
#else
+ sc->nirqs = nirqs;
+
/* Set up function pointers */
arm_post_filter = gic_post_filter;
arm_config_irq = gic_config_irq;
@@ -432,10 +522,19 @@ arm_gic_attach(device_t dev)
gic_d_write_4(sc, GICD_ICENABLER(i >> 5), 0xFFFFFFFF);
}
+ /* Find the current cpu mask */
+ mask = gic_cpu_mask(sc);
+ /* Set the mask so we can find this CPU to send it IPIs */
+ arm_gic_map[PCPU_GET(cpuid)] = mask;
+ /* Set all four targets to this cpu */
+ mask |= mask << 8;
+ mask |= mask << 16;
+
for (i = 0; i < sc->nirqs; i += 4) {
gic_d_write_4(sc, GICD_IPRIORITYR(i >> 2), 0);
- gic_d_write_4(sc, GICD_ITARGETSR(i >> 2),
- 1 << 0 | 1 << 8 | 1 << 16 | 1 << 24);
+ if (i > 32) {
+ gic_d_write_4(sc, GICD_ITARGETSR(i >> 2), mask);
+ }
}
/* Set all the interrupts to be in Group 0 (secure) */
@@ -473,20 +572,20 @@ arm_gic_attach(device_t dev)
if (intr_pic_claim_root(dev, xref, arm_gic_intr, sc,
GIC_LAST_SGI - GIC_FIRST_SGI + 1) != 0) {
device_printf(dev, "could not set PIC as a root\n");
- intr_pic_unregister(dev, xref);
+ intr_pic_deregister(dev, xref);
goto cleanup;
}
} else {
if (sc->gic_res[2] == NULL) {
device_printf(dev,
"not root PIC must have defined interrupt\n");
- intr_pic_unregister(dev, xref);
+ intr_pic_deregister(dev, xref);
goto cleanup;
}
if (bus_setup_intr(dev, sc->gic_res[2], INTR_TYPE_CLK,
arm_gic_intr, NULL, sc, &sc->gic_intrhand)) {
device_printf(dev, "could not setup irq handler\n");
- intr_pic_unregister(dev, xref);
+ intr_pic_deregister(dev, xref);
goto cleanup;
}
}
@@ -510,7 +609,7 @@ static int
arm_gic_intr(void *arg)
{
struct arm_gic_softc *sc = arg;
- struct intr_irqsrc *isrc;
+ struct gic_irqsrc *gi;
uint32_t irq_active_reg, irq;
struct trapframe *tf;
@@ -546,14 +645,7 @@ arm_gic_intr(void *arg)
tf = curthread->td_intr_frame;
dispatch_irq:
- isrc = sc->gic_irqs[irq];
- if (isrc == NULL) {
- device_printf(sc->gic_dev, "Stray interrupt %u detected\n", irq);
- gic_irq_mask(sc, irq);
- gic_c_write_4(sc, GICC_EOIR, irq_active_reg);
- goto next_irq;
- }
-
+ gi = sc->gic_irqs + irq;
/*
* Note that GIC_FIRST_SGI is zero and is not used in 'if' statement
* as compiler complains that comparing u_int >= 0 is always true.
@@ -562,7 +654,7 @@ dispatch_irq:
#ifdef SMP
/* Call EOI for all IPI before dispatch. */
gic_c_write_4(sc, GICC_EOIR, irq_active_reg);
- intr_ipi_dispatch(isrc, tf);
+ intr_ipi_dispatch(sgi_to_ipi[gi->gi_irq], tf);
goto next_irq;
#else
device_printf(sc->gic_dev, "SGI %u on UP system detected\n",
@@ -575,10 +667,15 @@ dispatch_irq:
#ifdef GIC_DEBUG_SPURIOUS
sc->last_irq[PCPU_GET(cpuid)] = irq;
#endif
- if (isrc->isrc_trig == INTR_TRIGGER_EDGE)
+ if (gi->gi_trig == INTR_TRIGGER_EDGE)
gic_c_write_4(sc, GICC_EOIR, irq_active_reg);
- intr_irq_dispatch(isrc, tf);
+ if (intr_isrc_dispatch(&gi->gi_isrc, tf) != 0) {
+ gic_irq_mask(sc, irq);
+ if (gi->gi_trig != INTR_TRIGGER_EDGE)
+ gic_c_write_4(sc, GICC_EOIR, irq_active_reg);
+ device_printf(sc->gic_dev, "Stray irq %u disabled\n", irq);
+ }
next_irq:
arm_irq_memory_barrier(irq);
@@ -590,52 +687,6 @@ next_irq:
return (FILTER_HANDLED);
}
-static int
-gic_attach_isrc(struct arm_gic_softc *sc, struct intr_irqsrc *isrc, u_int irq)
-{
- const char *name;
-
- /*
- * 1. The link between ISRC and controller must be set atomically.
- * 2. Just do things only once in rare case when consumers
- * of shared interrupt came here at the same moment.
- */
- mtx_lock_spin(&sc->mutex);
- if (sc->gic_irqs[irq] != NULL) {
- mtx_unlock_spin(&sc->mutex);
- return (sc->gic_irqs[irq] == isrc ? 0 : EEXIST);
- }
- sc->gic_irqs[irq] = isrc;
- isrc->isrc_data = irq;
- mtx_unlock_spin(&sc->mutex);
-
- name = device_get_nameunit(sc->gic_dev);
- if (irq <= GIC_LAST_SGI)
- intr_irq_set_name(isrc, "%s,i%u", name, irq - GIC_FIRST_SGI);
- else if (irq <= GIC_LAST_PPI)
- intr_irq_set_name(isrc, "%s,p%u", name, irq - GIC_FIRST_PPI);
- else
- intr_irq_set_name(isrc, "%s,s%u", name, irq - GIC_FIRST_SPI);
- return (0);
-}
-
-static int
-gic_detach_isrc(struct arm_gic_softc *sc, struct intr_irqsrc *isrc, u_int irq)
-{
-
- mtx_lock_spin(&sc->mutex);
- if (sc->gic_irqs[irq] != isrc) {
- mtx_unlock_spin(&sc->mutex);
- return (sc->gic_irqs[irq] == NULL ? 0 : EINVAL);
- }
- sc->gic_irqs[irq] = NULL;
- isrc->isrc_data = 0;
- mtx_unlock_spin(&sc->mutex);
-
- intr_irq_set_name(isrc, "");
- return (0);
-}
-
static void
gic_config(struct arm_gic_softc *sc, u_int irq, enum intr_trigger trig,
enum intr_polarity pol)
@@ -693,127 +744,163 @@ gic_bind(struct arm_gic_softc *sc, u_int irq, cpuset_t *cpus)
return (0);
}
+#ifdef FDT
static int
-gic_irq_from_nspc(struct arm_gic_softc *sc, u_int type, u_int num, u_int *irqp)
+gic_map_fdt(device_t dev, u_int ncells, pcell_t *cells, u_int *irqp,
+ enum intr_polarity *polp, enum intr_trigger *trigp)
{
- switch (type) {
- case INTR_IRQ_NSPC_PLAIN:
- *irqp = num;
- return (*irqp < sc->nirqs ? 0 : EINVAL);
+ if (ncells == 1) {
+ *irqp = cells[0];
+ *polp = INTR_POLARITY_CONFORM;
+ *trigp = INTR_TRIGGER_CONFORM;
+ return (0);
+ }
+ if (ncells == 3) {
+ u_int irq, tripol;
- case INTR_IRQ_NSPC_IRQ:
- *irqp = num + GIC_FIRST_PPI;
- return (*irqp < sc->nirqs ? 0 : EINVAL);
+ /*
+ * The 1st cell is the interrupt type:
+ * 0 = SPI
+ * 1 = PPI
+ * The 2nd cell contains the interrupt number:
+ * [0 - 987] for SPI
+ * [0 - 15] for PPI
+ * The 3rd cell is the flags, encoded as follows:
+ * bits[3:0] trigger type and level flags
+ * 1 = low-to-high edge triggered
+ * 2 = high-to-low edge triggered
+ * 4 = active high level-sensitive
+ * 8 = active low level-sensitive
+ * bits[15:8] PPI interrupt cpu mask
+ * Each bit corresponds to each of the 8 possible cpus
+ * attached to the GIC. A bit set to '1' indicated
+ * the interrupt is wired to that CPU.
+ */
+ switch (cells[0]) {
+ case 0:
+ irq = GIC_FIRST_SPI + cells[1];
+ /* SPI irq is checked later. */
+ break;
+ case 1:
+ irq = GIC_FIRST_PPI + cells[1];
+ if (irq > GIC_LAST_PPI) {
+ device_printf(dev, "unsupported PPI interrupt "
+ "number %u\n", cells[1]);
+ return (EINVAL);
+ }
+ break;
+ default:
+ device_printf(dev, "unsupported interrupt type "
+ "configuration %u\n", cells[0]);
+ return (EINVAL);
+ }
- case INTR_IRQ_NSPC_IPI:
- *irqp = num + GIC_FIRST_SGI;
- return (*irqp < GIC_LAST_SGI ? 0 : EINVAL);
+ tripol = cells[2] & 0xff;
+ if (tripol & 0xf0 || (tripol & 0x0a && cells[0] == 0))
+ device_printf(dev, "unsupported trigger/polarity "
+ "configuration 0x%02x\n", tripol);
- default:
- return (EINVAL);
+ *irqp = irq;
+ *polp = INTR_POLARITY_CONFORM;
+ *trigp = tripol & 0x03 ? INTR_TRIGGER_EDGE : INTR_TRIGGER_LEVEL;
+ return (0);
}
+ return (EINVAL);
}
+#endif
static int
-gic_map_nspc(struct arm_gic_softc *sc, struct intr_irqsrc *isrc, u_int *irqp)
-{
- int error;
-
- error = gic_irq_from_nspc(sc, isrc->isrc_nspc_type, isrc->isrc_nspc_num,
- irqp);
- if (error != 0)
- return (error);
- return (gic_attach_isrc(sc, isrc, *irqp));
-}
-
-#ifdef FDT
-static int
-gic_map_fdt(struct arm_gic_softc *sc, struct intr_irqsrc *isrc, u_int *irqp)
+gic_map_intr(device_t dev, struct intr_map_data *data, u_int *irqp,
+ enum intr_polarity *polp, enum intr_trigger *trigp)
{
- u_int irq, tripol;
- enum intr_trigger trig;
+ u_int irq;
enum intr_polarity pol;
- int error;
-
- if (isrc->isrc_ncells == 1) {
- irq = isrc->isrc_cells[0];
- pol = INTR_POLARITY_CONFORM;
- trig = INTR_TRIGGER_CONFORM;
- } else if (isrc->isrc_ncells == 3) {
- if (isrc->isrc_cells[0] == 0)
- irq = isrc->isrc_cells[1] + GIC_FIRST_SPI;
- else
- irq = isrc->isrc_cells[1] + GIC_FIRST_PPI;
+ enum intr_trigger trig;
+ struct arm_gic_softc *sc;
- /*
- * In intr[2], bits[3:0] are trigger type and level flags.
- * 1 = low-to-high edge triggered
- * 2 = high-to-low edge triggered
- * 4 = active high level-sensitive
- * 8 = active low level-sensitive
- * The hardware only supports active-high-level or rising-edge.
- */
- tripol = isrc->isrc_cells[2];
- if (tripol & 0x0a && irq >= GIC_FIRST_SPI) {
- device_printf(sc->gic_dev,
- "unsupported trigger/polarity configuration "
- "0x%02x\n", tripol & 0x0f);
- }
- pol = INTR_POLARITY_CONFORM;
- if (tripol & 0x03)
- trig = INTR_TRIGGER_EDGE;
- else
- trig = INTR_TRIGGER_LEVEL;
- } else
+ sc = device_get_softc(dev);
+ switch (data->type) {
+#ifdef FDT
+ case INTR_MAP_DATA_FDT:
+ if (gic_map_fdt(dev, data->fdt.ncells, data->fdt.cells, &irq,
+ &pol, &trig) != 0)
+ return (EINVAL);
+ break;
+#endif
+ default:
return (EINVAL);
+ }
if (irq >= sc->nirqs)
return (EINVAL);
-
- error = gic_attach_isrc(sc, isrc, irq);
- if (error != 0)
- return (error);
-
- isrc->isrc_nspc_type = INTR_IRQ_NSPC_PLAIN;
- isrc->isrc_nspc_num = irq;
- isrc->isrc_trig = trig;
- isrc->isrc_pol = pol;
+ if (pol != INTR_POLARITY_CONFORM && pol != INTR_POLARITY_LOW &&
+ pol != INTR_POLARITY_HIGH)
+ return (EINVAL);
+ if (trig != INTR_TRIGGER_CONFORM && trig != INTR_TRIGGER_EDGE &&
+ trig != INTR_TRIGGER_LEVEL)
+ return (EINVAL);
*irqp = irq;
+ if (polp != NULL)
+ *polp = pol;
+ if (trigp != NULL)
+ *trigp = trig;
return (0);
}
-#endif
static int
-arm_gic_register(device_t dev, struct intr_irqsrc *isrc, boolean_t *is_percpu)
+arm_gic_map_intr(device_t dev, struct intr_map_data *data,
+ struct intr_irqsrc **isrcp)
{
- struct arm_gic_softc *sc = device_get_softc(dev);
- u_int irq;
int error;
+ u_int irq;
+ struct arm_gic_softc *sc;
- if (isrc->isrc_type == INTR_ISRCT_NAMESPACE)
- error = gic_map_nspc(sc, isrc, &irq);
-#ifdef FDT
- else if (isrc->isrc_type == INTR_ISRCT_FDT)
- error = gic_map_fdt(sc, isrc, &irq);
-#endif
- else
- return (EINVAL);
-
- if (error == 0)
- *is_percpu = irq < GIC_FIRST_SPI ? TRUE : FALSE;
+ error = gic_map_intr(dev, data, &irq, NULL, NULL);
+ if (error == 0) {
+ sc = device_get_softc(dev);
+ *isrcp = GIC_INTR_ISRC(sc, irq);
+ }
return (error);
}
-static void
-arm_gic_enable_intr(device_t dev, struct intr_irqsrc *isrc)
+static int
+arm_gic_setup_intr(device_t dev, struct intr_irqsrc *isrc,
+ struct resource *res, struct intr_map_data *data)
{
struct arm_gic_softc *sc = device_get_softc(dev);
- u_int irq = isrc->isrc_data;
+ struct gic_irqsrc *gi = (struct gic_irqsrc *)isrc;
+ u_int irq;
+ enum intr_trigger trig;
+ enum intr_polarity pol;
- if (isrc->isrc_trig == INTR_TRIGGER_CONFORM)
- isrc->isrc_trig = INTR_TRIGGER_LEVEL;
+ if (data == NULL)
+ return (ENOTSUP);
+
+ /* Get config for resource. */
+ if (gic_map_intr(dev, data, &irq, &pol, &trig))
+ return (EINVAL);
+
+ if (gi->gi_irq != irq)
+ return (EINVAL);
+
+ /* Compare config if this is not first setup. */
+ if (isrc->isrc_handlers != 0) {
+ if ((pol != INTR_POLARITY_CONFORM && pol != gi->gi_pol) ||
+ (trig != INTR_TRIGGER_CONFORM && trig != gi->