svn commit: r327002 - in projects/pnfs-planb-server/sys: amd64/amd64 amd64/include arm/allwinner arm/allwinner/clkng arm/allwinner/h3 arm/arm arm/broadcom/bcm2835 arm/include arm64/arm64 arm64/incl...
Rick Macklem
rmacklem at FreeBSD.org
Tue Dec 19 22:09:01 UTC 2017
Author: rmacklem
Date: Tue Dec 19 22:08:57 2017
New Revision: 327002
URL: https://svnweb.freebsd.org/changeset/base/327002
Log:
Merge in an up to date kernel from head.
Added:
projects/pnfs-planb-server/sys/dev/syscon/
- copied from r327000, head/sys/dev/syscon/
projects/pnfs-planb-server/sys/sys/atomic_common.h
- copied unchanged from r327000, head/sys/sys/atomic_common.h
Modified:
projects/pnfs-planb-server/sys/amd64/amd64/machdep.c
projects/pnfs-planb-server/sys/amd64/amd64/trap.c
projects/pnfs-planb-server/sys/amd64/include/atomic.h
projects/pnfs-planb-server/sys/arm/allwinner/a10_gpio.c
projects/pnfs-planb-server/sys/arm/allwinner/aw_mp.c
projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_h3.c
projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_sun8i_r.c
projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_padconf.c
projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_r_padconf.c
projects/pnfs-planb-server/sys/arm/arm/pmap-v4.c
projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c
projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
projects/pnfs-planb-server/sys/arm/include/atomic.h
projects/pnfs-planb-server/sys/arm/include/sysreg.h
projects/pnfs-planb-server/sys/arm64/arm64/pmap.c
projects/pnfs-planb-server/sys/arm64/include/atomic.h
projects/pnfs-planb-server/sys/cam/ata/ata_da.c
projects/pnfs-planb-server/sys/cam/ata/ata_pmp.c
projects/pnfs-planb-server/sys/cam/ata/ata_xpt.c
projects/pnfs-planb-server/sys/cam/cam_periph.c
projects/pnfs-planb-server/sys/cam/cam_periph.h
projects/pnfs-planb-server/sys/cam/cam_xpt.c
projects/pnfs-planb-server/sys/cam/cam_xpt.h
projects/pnfs-planb-server/sys/cam/mmc/mmc_da.c
projects/pnfs-planb-server/sys/cam/mmc/mmc_xpt.c
projects/pnfs-planb-server/sys/cam/nvme/nvme_da.c
projects/pnfs-planb-server/sys/cam/nvme/nvme_xpt.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_cd.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_ch.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_da.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_enc.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_pass.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_pt.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_sa.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_sg.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_target.c
projects/pnfs-planb-server/sys/cam/scsi/scsi_xpt.c
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c
projects/pnfs-planb-server/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
projects/pnfs-planb-server/sys/cddl/dev/dtrace/i386/dtrace_subr.c
projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_page.c
projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_rcu.c
projects/pnfs-planb-server/sys/conf/NOTES
projects/pnfs-planb-server/sys/conf/files
projects/pnfs-planb-server/sys/conf/files.arm64
projects/pnfs-planb-server/sys/conf/kern.post.mk
projects/pnfs-planb-server/sys/conf/ldscript.powerpc64
projects/pnfs-planb-server/sys/conf/options
projects/pnfs-planb-server/sys/contrib/dev/acpica/changes.txt
projects/pnfs-planb-server/sys/contrib/dev/acpica/common/adisasm.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmswitch.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmtable.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmtables.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmtbdump.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslcodegen.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslcompile.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asldebug.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslfiles.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asloptions.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslparseop.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslstartup.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslsupport.l
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asltree.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslutils.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/cvcompiler.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/cvdisasm.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/cvparser.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtcompile.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dttable1.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/prscan.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/debugger/dbfileio.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmwalk.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exdump.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/hardware/hwvalid.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/namespace/nsxfeval.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/parser/psutils.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utdebug.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utnonansi.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utosi.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/uttrack.c
projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acexcep.h
projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acglobal.h
projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acpixf.h
projects/pnfs-planb-server/sys/contrib/dev/acpica/include/actypes.h
projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acutils.h
projects/pnfs-planb-server/sys/contrib/dev/acpica/os_specific/service_layers/osgendbg.c
projects/pnfs-planb-server/sys/contrib/zstd/programs/fileio.c
projects/pnfs-planb-server/sys/contrib/zstd/programs/zstdcli.c
projects/pnfs-planb-server/sys/ddb/db_sym.c
projects/pnfs-planb-server/sys/dev/acpica/acpi_cpu.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_btcoex.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_debug.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_decode.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_desc.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_devid.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_diagcodes.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_9287.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_9287.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v1.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v1.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v14.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v14.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v3.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v3.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v4k.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_eeprom_v4k.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_internal.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_regdomain.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_regdomain.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_ctry.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_freqbands.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regenum.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regmap.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_soc.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_keycache.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_phy.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_power.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_recv.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_reset.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210desc.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210phy.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5210/ar5210reg.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_keycache.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_phy.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_power.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_recv.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_reset.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211desc.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211phy.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5211/ar5211reg.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar2316.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar2317.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar2413.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar2425.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5111.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5112.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_eeprom.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_gpio.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_phy.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_power.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_reset.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_rfgain.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212desc.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212phy.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5212reg.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5311reg.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5212/ar5413.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312_eeprom.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312_gpio.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312_interrupts.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312_misc.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312_power.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312_reset.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312phy.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5312reg.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5312/ar5315_gpio.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar2133.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_cal.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_cal_adcdc.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_cal_adcgain.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_cal_iq.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_eeprom.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_gpio.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_keycache.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_phy.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_power.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_radar.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_spectral.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416desc.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416phy.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9001/ar9130_phy.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9001/ar9130_phy.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9001/ar9130reg.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9280.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9280.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9285.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9285.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9285_reset.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9285an.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287_olc.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287_reset.c
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287_reset.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287an.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9002/ar9287phy.h
projects/pnfs-planb-server/sys/dev/ath/ath_hal/ar9003/ar9300_btcoex.h
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma.c
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma.h
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma_bhndb.c
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma_dmp.h
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma_erom.c
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma_eromreg.h
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma_eromvar.h
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcma_subr.c
projects/pnfs-planb-server/sys/dev/bhnd/bcma/bcmavar.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd.c
projects/pnfs-planb-server/sys/dev/bhnd/bhnd.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_debug.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_erom.c
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_erom.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_erom_types.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_eromvar.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_ids.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_match.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_private.h
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_subr.c
projects/pnfs-planb-server/sys/dev/bhnd/bhnd_types.h
projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb.c
projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb_pci.c
projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb_pci_hwdata.c
projects/pnfs-planb-server/sys/dev/bhnd/bhndb/bhndb_subr.c
projects/pnfs-planb-server/sys/dev/bhnd/bhndreg.h
projects/pnfs-planb-server/sys/dev/bhnd/bhndvar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/bhnd_pmu_chipc.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/bhnd_sprom_chipc.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_cfi.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_gpio.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_gpiovar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_private.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_slicer.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_slicer.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_spi.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_spi.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipc_subr.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipcreg.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipcvar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pci.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pci_hostb.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pci_hostbvar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pcib.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pcibvar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pcireg.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pci/bhnd_pcivar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pcie2/bhnd_pcie2.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pcie2/bhnd_pcie2_hostb.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pcie2/bhnd_pcie2_hostbvar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pcie2/bhnd_pcie2_reg.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pcie2/bhnd_pcie2_var.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pcie2/bhnd_pcie2b.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pcie2/bhnd_pcie2b_var.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmu.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmu.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmu_core.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmu_private.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmu_subr.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmu_types.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmureg.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/pmu/bhnd_pmuvar.h
projects/pnfs-planb-server/sys/dev/bhnd/cores/usb/bhnd_ehci.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/usb/bhnd_ohci.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/usb/bhnd_usb.c
projects/pnfs-planb-server/sys/dev/bhnd/cores/usb/bhnd_usbvar.h
projects/pnfs-planb-server/sys/dev/bhnd/nvram/bhnd_nvram_data_sprom.c
projects/pnfs-planb-server/sys/dev/bhnd/nvram/nvram_map
projects/pnfs-planb-server/sys/dev/bhnd/siba/siba.c
projects/pnfs-planb-server/sys/dev/bhnd/tools/bus_macro.sh
projects/pnfs-planb-server/sys/dev/bnxt/bnxt.h
projects/pnfs-planb-server/sys/dev/bnxt/bnxt_hwrm.c
projects/pnfs-planb-server/sys/dev/bnxt/bnxt_hwrm.h
projects/pnfs-planb-server/sys/dev/bnxt/bnxt_sysctl.c
projects/pnfs-planb-server/sys/dev/bnxt/if_bnxt.c
projects/pnfs-planb-server/sys/dev/bwn/if_bwn.c
projects/pnfs-planb-server/sys/dev/bwn/if_bwn_bhnd.c
projects/pnfs-planb-server/sys/dev/bwn/if_bwn_pci.c
projects/pnfs-planb-server/sys/dev/bwn/if_bwn_siba_compat.c
projects/pnfs-planb-server/sys/dev/bwn/if_bwnreg.h
projects/pnfs-planb-server/sys/dev/cardbus/cardbus_cis.c
projects/pnfs-planb-server/sys/dev/dpaa/bman_fdt.c
projects/pnfs-planb-server/sys/dev/dpaa/qman_fdt.c
projects/pnfs-planb-server/sys/dev/e1000/em_txrx.c
projects/pnfs-planb-server/sys/dev/e1000/if_em.c
projects/pnfs-planb-server/sys/dev/e1000/if_em.h
projects/pnfs-planb-server/sys/dev/e1000/igb_txrx.c
projects/pnfs-planb-server/sys/dev/firewire/if_fwe.c
projects/pnfs-planb-server/sys/dev/firewire/if_fwip.c
projects/pnfs-planb-server/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
projects/pnfs-planb-server/sys/dev/iicbus/ds3231.c
projects/pnfs-planb-server/sys/dev/ioat/ioat.c
projects/pnfs-planb-server/sys/dev/iscsi/icl_soft.c
projects/pnfs-planb-server/sys/dev/lmc/if_lmc.c
projects/pnfs-planb-server/sys/dev/mlx4/mlx4_core/icm.h
projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/en.h
projects/pnfs-planb-server/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c
projects/pnfs-planb-server/sys/dev/nvme/nvme.c
projects/pnfs-planb-server/sys/dev/nvme/nvme_ctrlr.c
projects/pnfs-planb-server/sys/dev/nvme/nvme_private.h
projects/pnfs-planb-server/sys/dev/smc/if_smc.c
projects/pnfs-planb-server/sys/dev/uart/uart_cpu_arm64.c
projects/pnfs-planb-server/sys/dev/usb/net/if_mos.c
projects/pnfs-planb-server/sys/dev/usb/wlan/if_uath.c
projects/pnfs-planb-server/sys/dev/vnic/nicvf_queues.c
projects/pnfs-planb-server/sys/dev/vt/hw/fb/vt_fb.c
projects/pnfs-planb-server/sys/dev/vt/vt.h
projects/pnfs-planb-server/sys/dev/vt/vt_buf.c
projects/pnfs-planb-server/sys/dev/vt/vt_core.c
projects/pnfs-planb-server/sys/fs/devfs/devfs_vnops.c
projects/pnfs-planb-server/sys/fs/ext2fs/ext2_extattr.c
projects/pnfs-planb-server/sys/fs/ext2fs/ext2_hash.c
projects/pnfs-planb-server/sys/fs/ext2fs/ext2_vnops.c
projects/pnfs-planb-server/sys/fs/fdescfs/fdesc_vnops.c
projects/pnfs-planb-server/sys/fs/fuse/fuse_vnops.c
projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_vnops.c
projects/pnfs-planb-server/sys/fs/nandfs/nandfs_vnops.c
projects/pnfs-planb-server/sys/fs/nfs/nfs_commonport.c
projects/pnfs-planb-server/sys/fs/nfs/nfs_commonsubs.c
projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h
projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clcomsubs.c
projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clvnops.c
projects/pnfs-planb-server/sys/fs/smbfs/smbfs_vnops.c
projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs.h
projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_fifoops.c
projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_subr.c
projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_vfsops.c
projects/pnfs-planb-server/sys/fs/tmpfs/tmpfs_vnops.c
projects/pnfs-planb-server/sys/geom/eli/g_eli_hmac.c
projects/pnfs-planb-server/sys/geom/mirror/g_mirror.c
projects/pnfs-planb-server/sys/geom/mirror/g_mirror.h
projects/pnfs-planb-server/sys/geom/raid/tr_concat.c
projects/pnfs-planb-server/sys/geom/raid/tr_raid5.c
projects/pnfs-planb-server/sys/i386/acpica/acpi_wakecode.S
projects/pnfs-planb-server/sys/i386/conf/NOTES
projects/pnfs-planb-server/sys/i386/i386/locore.s
projects/pnfs-planb-server/sys/i386/i386/pmap.c
projects/pnfs-planb-server/sys/i386/i386/trap.c
projects/pnfs-planb-server/sys/i386/include/atomic.h
projects/pnfs-planb-server/sys/i386/include/param.h
projects/pnfs-planb-server/sys/kern/kern_descrip.c
projects/pnfs-planb-server/sys/kern/kern_tc.c
projects/pnfs-planb-server/sys/kern/md4c.c
projects/pnfs-planb-server/sys/kern/subr_prf.c
projects/pnfs-planb-server/sys/kern/vfs_default.c
projects/pnfs-planb-server/sys/kern/vfs_extattr.c
projects/pnfs-planb-server/sys/mips/broadcom/bhnd_nexus.c
projects/pnfs-planb-server/sys/mips/include/atomic.h
projects/pnfs-planb-server/sys/mips/mips/machdep.c
projects/pnfs-planb-server/sys/modules/dtb/allwinner/Makefile
projects/pnfs-planb-server/sys/modules/vmm/Makefile
projects/pnfs-planb-server/sys/net/if.h
projects/pnfs-planb-server/sys/net/if_vxlan.c
projects/pnfs-planb-server/sys/net/ifdi_if.m
projects/pnfs-planb-server/sys/net/iflib.c
projects/pnfs-planb-server/sys/net/iflib.h
projects/pnfs-planb-server/sys/net/route.c
projects/pnfs-planb-server/sys/net/sff8472.h
projects/pnfs-planb-server/sys/net80211/ieee80211_proto.c
projects/pnfs-planb-server/sys/net80211/ieee80211_proto.h
projects/pnfs-planb-server/sys/netinet/sctp_crc32.c
projects/pnfs-planb-server/sys/netinet/sctp_crc32.h
projects/pnfs-planb-server/sys/netinet/sctp_input.c
projects/pnfs-planb-server/sys/netinet/sctp_input.h
projects/pnfs-planb-server/sys/netinet/sctp_output.c
projects/pnfs-planb-server/sys/netinet/sctp_sysctl.c
projects/pnfs-planb-server/sys/netinet/sctp_uio.h
projects/pnfs-planb-server/sys/netinet/tcp_output.c
projects/pnfs-planb-server/sys/netinet/tcp_var.h
projects/pnfs-planb-server/sys/netinet6/frag6.c
projects/pnfs-planb-server/sys/netinet6/icmp6.c
projects/pnfs-planb-server/sys/netinet6/in6.h
projects/pnfs-planb-server/sys/netinet6/nd6_nbr.c
projects/pnfs-planb-server/sys/netinet6/nd6_rtr.c
projects/pnfs-planb-server/sys/netinet6/sctp6_usrreq.c
projects/pnfs-planb-server/sys/netpfil/pf/if_pflog.c
projects/pnfs-planb-server/sys/netpfil/pf/in4_cksum.c
projects/pnfs-planb-server/sys/netpfil/pf/pf.h
projects/pnfs-planb-server/sys/netpfil/pf/pf_osfp.c
projects/pnfs-planb-server/sys/powerpc/booke/booke_machdep.c
projects/pnfs-planb-server/sys/powerpc/booke/pmap.c
projects/pnfs-planb-server/sys/powerpc/include/atomic.h
projects/pnfs-planb-server/sys/powerpc/include/trap.h
projects/pnfs-planb-server/sys/powerpc/powerpc/cpu.c
projects/pnfs-planb-server/sys/powerpc/powerpc/machdep.c
projects/pnfs-planb-server/sys/powerpc/powerpc/pmap_dispatch.c
projects/pnfs-planb-server/sys/powerpc/powerpc/trap.c
projects/pnfs-planb-server/sys/riscv/include/atomic.h
projects/pnfs-planb-server/sys/riscv/riscv/pmap.c
projects/pnfs-planb-server/sys/sparc64/include/atomic.h
projects/pnfs-planb-server/sys/sparc64/sparc64/pmap.c
projects/pnfs-planb-server/sys/sys/_ucontext.h
projects/pnfs-planb-server/sys/sys/_vm_domain.h
projects/pnfs-planb-server/sys/sys/auxv.h
projects/pnfs-planb-server/sys/sys/bus_dma.h
projects/pnfs-planb-server/sys/sys/bus_dma_internal.h
projects/pnfs-planb-server/sys/sys/capsicum.h
projects/pnfs-planb-server/sys/sys/cdefs.h
projects/pnfs-planb-server/sys/sys/cnv.h
projects/pnfs-planb-server/sys/sys/devmap.h
projects/pnfs-planb-server/sys/sys/disk_zone.h
projects/pnfs-planb-server/sys/sys/dnv.h
projects/pnfs-planb-server/sys/sys/dtrace_bsd.h
projects/pnfs-planb-server/sys/sys/fbio.h
projects/pnfs-planb-server/sys/sys/gtaskqueue.h
projects/pnfs-planb-server/sys/sys/gzio.h
projects/pnfs-planb-server/sys/sys/imgact_binmisc.h
projects/pnfs-planb-server/sys/sys/intr.h
projects/pnfs-planb-server/sys/sys/iov.h
projects/pnfs-planb-server/sys/sys/iov_schema.h
projects/pnfs-planb-server/sys/sys/md4.h
projects/pnfs-planb-server/sys/sys/md5.h
projects/pnfs-planb-server/sys/sys/mouse.h
projects/pnfs-planb-server/sys/sys/msg.h
projects/pnfs-planb-server/sys/sys/numa.h
projects/pnfs-planb-server/sys/sys/nv.h
projects/pnfs-planb-server/sys/sys/rman.h
projects/pnfs-planb-server/sys/sys/snoop.h
projects/pnfs-planb-server/sys/sys/socketvar.h
projects/pnfs-planb-server/sys/sys/soundcard.h
projects/pnfs-planb-server/sys/sys/spigenio.h
projects/pnfs-planb-server/sys/sys/syscallsubr.h
projects/pnfs-planb-server/sys/sys/tiio.h
projects/pnfs-planb-server/sys/sys/timetc.h
projects/pnfs-planb-server/sys/sys/zlib.h
projects/pnfs-planb-server/sys/tools/embed_mfs.sh
projects/pnfs-planb-server/sys/ufs/ffs/ffs_alloc.c
projects/pnfs-planb-server/sys/ufs/ufs/ufs_dirhash.c
projects/pnfs-planb-server/sys/ufs/ufs/ufs_vnops.c
projects/pnfs-planb-server/sys/vm/uma_core.c
projects/pnfs-planb-server/sys/vm/vm_pageout.c
projects/pnfs-planb-server/sys/x86/acpica/acpi_wakeup.c
projects/pnfs-planb-server/sys/x86/x86/mp_x86.c
Directory Properties:
projects/pnfs-planb-server/sys/ (props changed)
projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/ (props changed)
projects/pnfs-planb-server/sys/contrib/dev/acpica/ (props changed)
projects/pnfs-planb-server/sys/contrib/zstd/ (props changed)
Modified: projects/pnfs-planb-server/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/pnfs-planb-server/sys/amd64/amd64/machdep.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/amd64/amd64/machdep.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -184,8 +184,6 @@ struct init_ops init_ops = {
*/
extern char kernphys[];
-struct msgbuf *msgbufp;
-
/*
* Physical address of the EFI System Table. Stashed from the metadata hints
* passed into the kernel and used by the EFI code to call runtime services.
Modified: projects/pnfs-planb-server/sys/amd64/amd64/trap.c
==============================================================================
--- projects/pnfs-planb-server/sys/amd64/amd64/trap.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/amd64/amd64/trap.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -164,9 +164,6 @@ SYSCTL_INT(_machdep, OID_AUTO, uprintf_signal, CTLFLAG
void
trap(struct trapframe *frame)
{
-#ifdef KDTRACE_HOOKS
- struct reg regs;
-#endif
ksiginfo_t ksi;
struct thread *td;
struct proc *p;
@@ -278,9 +275,8 @@ trap(struct trapframe *frame)
enable_intr();
#ifdef KDTRACE_HOOKS
if (type == T_BPTFLT) {
- fill_frame_regs(frame, ®s);
if (dtrace_pid_probe_ptr != NULL &&
- dtrace_pid_probe_ptr(®s) == 0)
+ dtrace_pid_probe_ptr(frame) == 0)
return;
}
#endif
@@ -406,9 +402,8 @@ trap(struct trapframe *frame)
#ifdef KDTRACE_HOOKS
case T_DTRACE_RET:
enable_intr();
- fill_frame_regs(frame, ®s);
if (dtrace_return_probe_ptr != NULL)
- dtrace_return_probe_ptr(®s);
+ dtrace_return_probe_ptr(frame);
return;
#endif
}
Modified: projects/pnfs-planb-server/sys/amd64/include/atomic.h
==============================================================================
--- projects/pnfs-planb-server/sys/amd64/include/atomic.h Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/amd64/include/atomic.h Tue Dec 19 22:08:57 2017 (r327002)
@@ -57,6 +57,8 @@
#define wmb() __asm __volatile("sfence;" : : : "memory")
#define rmb() __asm __volatile("lfence;" : : : "memory")
+#include <sys/atomic_common.h>
+
/*
* Various simple operations on memory, each of which is atomic in the
* presence of interrupts and multiple processors.
Modified: projects/pnfs-planb-server/sys/arm/allwinner/a10_gpio.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/allwinner/a10_gpio.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/allwinner/a10_gpio.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -113,7 +113,7 @@ extern const struct allwinner_padconf a33_padconf;
#endif
/* Defined in h3_padconf.c */
-#ifdef SOC_ALLWINNER_H3
+#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5)
extern const struct allwinner_padconf h3_padconf;
extern const struct allwinner_padconf h3_r_padconf;
#endif
@@ -156,8 +156,9 @@ static struct ofw_compat_data compat_data[] = {
{"allwinner,sun8i-a83t-pinctrl", (uintptr_t)&a83t_padconf},
{"allwinner,sun8i-a83t-r-pinctrl", (uintptr_t)&a83t_r_padconf},
#endif
-#ifdef SOC_ALLWINNER_H3
+#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5)
{"allwinner,sun8i-h3-pinctrl", (uintptr_t)&h3_padconf},
+ {"allwinner,sun50i-h5-pinctrl", (uintptr_t)&h3_padconf},
{"allwinner,sun8i-h3-r-pinctrl", (uintptr_t)&h3_r_padconf},
#endif
#ifdef SOC_ALLWINNER_A64
@@ -352,7 +353,8 @@ a10_gpio_pin_configure(struct a10_gpio_softc *sc, uint
/* Manage input/output. */
if (flags & GPIO_PIN_INPUT) {
err = a10_gpio_set_function(sc, pin, A10_GPIO_INPUT);
- } else if (flags & GPIO_PIN_OUTPUT) {
+ } else if ((flags & GPIO_PIN_OUTPUT) &&
+ a10_gpio_get_function(sc, pin) != A10_GPIO_OUTPUT) {
if (flags & GPIO_PIN_PRESET_LOW) {
a10_gpio_pin_set_locked(sc, pin, 0);
} else if (flags & GPIO_PIN_PRESET_HIGH) {
Modified: projects/pnfs-planb-server/sys/arm/allwinner/aw_mp.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/allwinner/aw_mp.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/allwinner/aw_mp.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -83,13 +83,13 @@ __FBSDID("$FreeBSD$");
#define CPUCFG_DBGCTL0 0x1e0
#define CPUCFG_DBGCTL1 0x1e4
-#define CPUS_CL_RST(cl) (0x30 + (cluster) * 0x4)
-#define CPUX_CL_CTRL0(cl) (0x0 + (cluster) * 0x10)
-#define CPUX_CL_CTRL1(cl) (0x4 + (cluster) * 0x10)
-#define CPUX_CL_CPU_STATUS(cl) (0x30 + (cluster) * 0x4)
-#define CPUX_CL_RST(cl) (0x80 + (cluster) * 0x4)
-#define PRCM_CL_PWROFF(cl) (0x100 + (cluster) * 0x4)
-#define PRCM_CL_PWR_CLAMP(cl, cpu) (0x140 + (cluster) * 0x4 + (cpu) * 0x4)
+#define CPUS_CL_RST(cl) (0x30 + (cl) * 0x4)
+#define CPUX_CL_CTRL0(cl) (0x0 + (cl) * 0x10)
+#define CPUX_CL_CTRL1(cl) (0x4 + (cl) * 0x10)
+#define CPUX_CL_CPU_STATUS(cl) (0x30 + (cl) * 0x4)
+#define CPUX_CL_RST(cl) (0x80 + (cl) * 0x4)
+#define PRCM_CL_PWROFF(cl) (0x100 + (cl) * 0x4)
+#define PRCM_CL_PWR_CLAMP(cl, cpu) (0x140 + (cl) * 0x4 + (cpu) * 0x4)
void
aw_mp_setmaxid(platform_t plat)
Modified: projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_h3.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_h3.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_h3.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -37,6 +37,10 @@ __FBSDID("$FreeBSD$");
#include <dev/extres/clk/clk_fixed.h>
#include <dev/extres/clk/clk_mux.h>
+#if defined(__aarch64__)
+#include "opt_soc.h"
+#endif
+
#include <arm/allwinner/clkng/aw_ccung.h>
#include <arm/allwinner/clkng/aw_clk.h>
#include <arm/allwinner/clkng/aw_clk_nm.h>
Modified: projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_sun8i_r.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_sun8i_r.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/allwinner/clkng/ccu_sun8i_r.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -33,6 +33,10 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/bus.h>
+#if defined(__aarch64__)
+#include "opt_soc.h"
+#endif
+
#include <dev/extres/clk/clk_div.h>
#include <dev/extres/clk/clk_fixed.h>
#include <dev/extres/clk/clk_mux.h>
Modified: projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_padconf.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_padconf.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_padconf.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2016 Emmanuel Vadot <manu at freebsd.org>
+ * Copyright (c) 2016-2017 Emmanuel Vadot <manu at freebsd.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,9 +33,13 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/types.h>
+#if defined(__aarch64__)
+#include "opt_soc.h"
+#endif
+
#include <arm/allwinner/allwinner_pinctrl.h>
-#ifdef SOC_ALLWINNER_H3
+#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5)
const static struct allwinner_pins h3_pins[] = {
{"PA0", 0, 0, {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, "pa_eint0", NULL}, 6, 0},
Modified: projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_r_padconf.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_r_padconf.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/allwinner/h3/h3_r_padconf.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2016 Emmanuel Vadot <manu at freebsd.org>
+ * Copyright (c) 2016-2017 Emmanuel Vadot <manu at freebsd.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,9 +33,13 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/types.h>
+#if defined(__aarch64__)
+#include "opt_soc.h"
+#endif
+
#include <arm/allwinner/allwinner_pinctrl.h>
-#ifdef SOC_ALLWINNER_H3
+#if defined(SOC_ALLWINNER_H3) || defined(SOC_ALLWINNER_H5)
const static struct allwinner_pins h3_r_pins[] = {
{"PL0", 0, 0, {"gpio_in", "gpio_out", "s_twi", NULL, NULL, NULL, "pl_eint0", NULL}, 6, 0},
Modified: projects/pnfs-planb-server/sys/arm/arm/pmap-v4.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/arm/pmap-v4.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/arm/pmap-v4.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -265,8 +265,6 @@ void (*pmap_copy_page_offs_func)(vm_paddr_t a_phys,
int cnt);
void (*pmap_zero_page_func)(vm_paddr_t, int, int);
-struct msgbuf *msgbufp = NULL;
-
/*
* Crashdump maps.
*/
Modified: projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -294,8 +294,6 @@ vm_paddr_t first_managed_pa;
*/
caddr_t _tmppt = 0;
-struct msgbuf *msgbufp = NULL; /* XXX move it to machdep.c */
-
/*
* Crashdump maps.
*/
Modified: projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -508,7 +508,7 @@ bcm_bsc_intr(void *arg)
* transfer is complete; TXD will be asserted along with ERR or
* DONE if there is room in the fifo.
*/
- if (status & BCM_BSC_STATUS_TXD)
+ if ((status & BCM_BSC_STATUS_TXD) && sc->sc_totlen > 0)
bcm_bsc_fill_tx_fifo(sc);
}
@@ -610,7 +610,7 @@ bcm_bsc_transfer(device_t dev, struct iic_msg *msgs, u
*/
if (sc->sc_replen == 0) {
DEVICE_DEBUGF(sc, 1, "%-6s 0x%02x len %d: ",
- (curisread) ? "readctl" : "write", curslave,
+ (curisread) ? "read" : "write", curslave,
sc->sc_totlen);
curlen = sc->sc_totlen;
if (curisread) {
@@ -622,7 +622,7 @@ bcm_bsc_transfer(device_t dev, struct iic_msg *msgs, u
}
} else {
DEVICE_DEBUGF(sc, 1, "%-6s 0x%02x len %d: ",
- (curisread) ? "readctl" : "write", curslave,
+ (curisread) ? "read" : "write", curslave,
sc->sc_replen);
/*
Modified: projects/pnfs-planb-server/sys/arm/include/atomic.h
==============================================================================
--- projects/pnfs-planb-server/sys/arm/include/atomic.h Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/include/atomic.h Tue Dec 19 22:08:57 2017 (r327002)
@@ -41,6 +41,8 @@
#ifndef _MACHINE_ATOMIC_H_
#define _MACHINE_ATOMIC_H_
+#include <sys/atomic_common.h>
+
#include <machine/armreg.h>
#ifndef _KERNEL
Modified: projects/pnfs-planb-server/sys/arm/include/sysreg.h
==============================================================================
--- projects/pnfs-planb-server/sys/arm/include/sysreg.h Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm/include/sysreg.h Tue Dec 19 22:08:57 2017 (r327002)
@@ -76,12 +76,6 @@
#define CP15_ID_MMFR2(rr) p15, 0, rr, c0, c1, 6 /* Memory Model Feature Register 2 */
#define CP15_ID_MMFR3(rr) p15, 0, rr, c0, c1, 7 /* Memory Model Feature Register 3 */
-#define CP15_HCR(rr) p15, 4, rr, c1, c1, 0 /* Hyp Configuration Register */
-#define CP15_HCPTR(rr) p15, 4, rr, c1, c1, 2 /* Hyp Coprocessor Trap Register */
-#define CP15_HSTR(rr) p15, 4, rr, c1, c1, 3 /* Hyp System Trap Register */
-#define CP15_HSCTLR(rr) p15, 4, rr, c1, c0, 0 /* Hyp System Control Register */
-#define CP15_HDCR(rr) p15, 4, rr, c1, c1, 1 /* Hyp Debug Configuration Register */
-
#define CP15_ID_ISAR0(rr) p15, 0, rr, c0, c2, 0 /* Instruction Set Attribute Register 0 */
#define CP15_ID_ISAR1(rr) p15, 0, rr, c0, c2, 1 /* Instruction Set Attribute Register 1 */
#define CP15_ID_ISAR2(rr) p15, 0, rr, c0, c2, 2 /* Instruction Set Attribute Register 2 */
@@ -95,6 +89,9 @@
#define CP15_CSSELR(rr) p15, 2, rr, c0, c0, 0 /* Cache Size Selection Register */
+#define CP15_VPIDR(rr) p15, 4, rr, c0, c0, 0 /* Virtualization Processor ID Register */
+#define CP15_VMPIDR(rr) p15, 4, rr, c0, c0, 5 /* Virtualization Multiprocessor ID Register */
+
/*
* CP15 C1 registers
*/
@@ -106,6 +103,13 @@
#define CP15_SDER(rr) p15, 0, rr, c1, c1, 1 /* Secure Debug Enable Register */
#define CP15_NSACR(rr) p15, 0, rr, c1, c1, 2 /* Non-Secure Access Control Register */
+#define CP15_HSCTLR(rr) p15, 4, rr, c1, c0, 0 /* Hyp System Control Register */
+
+#define CP15_HCR(rr) p15, 4, rr, c1, c1, 0 /* Hyp Configuration Register */
+#define CP15_HDCR(rr) p15, 4, rr, c1, c1, 1 /* Hyp Debug Configuration Register */
+#define CP15_HCPTR(rr) p15, 4, rr, c1, c1, 2 /* Hyp Coprocessor Trap Register */
+#define CP15_HSTR(rr) p15, 4, rr, c1, c1, 3 /* Hyp System Trap Register */
+
/*
* CP15 C2 registers
*/
@@ -113,6 +117,9 @@
#define CP15_TTBR1(rr) p15, 0, rr, c2, c0, 1 /* Translation Table Base Register 1 */
#define CP15_TTBCR(rr) p15, 0, rr, c2, c0, 2 /* Translation Table Base Control Register */
+#define CP15_HTCR(rr) p15, 4, rr, c2, c0, 2 /* Hyp Translation Control Register */
+#define CP15_VTCR(rr) p15, 4, rr, c2, c1, 2 /* Virtualization Translation Control Register */
+
/*
* CP15 C3 registers
*/
@@ -122,6 +129,7 @@
* CP15 C5 registers
*/
#define CP15_DFSR(rr) p15, 0, rr, c5, c0, 0 /* Data Fault Status Register */
+#define CP15_HSR(rr) p15, 4, rr, c5, c2, 0 /* Hyp Syndrome Register */
#if __ARM_ARCH >= 6
/* From ARMv6: */
@@ -137,6 +145,9 @@
* CP15 C6 registers
*/
#define CP15_DFAR(rr) p15, 0, rr, c6, c0, 0 /* Data Fault Address Register */
+#define CP15_HDFAR(rr) p15, 4, rr, c6, c0, 0 /* Hyp Data Fault Address Register */
+#define CP15_HIFAR(rr) p15, 4, rr, c6, c0, 2 /* Hyp Instruction Fault Address Register */
+#define CP15_HPFAR(rr) p15, 4, rr, c6, c0, 4 /* Hyp IPA Fault Address Register */
#if __ARM_ARCH >= 6
/* From ARMv6k: */
@@ -223,6 +234,8 @@
#define CP15_TLBIMVA(rr) p15, 0, rr, c8, c7, 1 /* Invalidate unified TLB by MVA */
#define CP15_TLBIASID(rr) p15, 0, rr, c8, c7, 2 /* Invalidate unified TLB by ASID */
+#define CP15_TLBIALLH(rr) p15, 4, rr, c8, c7, 0 /* Invalidate Entire Hyp Unified TLB */
+
#if __ARM_ARCH >= 6
/* From ARMv6: */
#define CP15_TLBIMVAA(rr) p15, 0, rr, c8, c7, 3 /* Invalidate unified TLB by MVA, all ASID */
@@ -264,6 +277,9 @@
#define CP15_AMAIR0(rr) p15, 0, rr, c10, c3, 0 /* Auxiliary Memory Attribute Indirection Register 0 */
#define CP15_AMAIR1(rr) p15, 0, rr, c10, c3, 1 /* Auxiliary Memory Attribute Indirection Register 1 */
+#define CP15_HMAIR0(rr) p15, 4, rr, c10, c2, 0 /* Hyp Memory Attribute Indirection Register 0 */
+#define CP15_HMAIR1(rr) p15, 4, rr, c10, c2, 1 /* Hyp Memory Attribute Indirection Register 1 */
+
/*
* CP15 C12 registers
*/
@@ -281,6 +297,7 @@
#define CP15_TPIDRURW(rr) p15, 0, rr, c13, c0, 2 /* User Read/Write Thread ID Register */
#define CP15_TPIDRURO(rr) p15, 0, rr, c13, c0, 3 /* User Read-Only Thread ID Register */
#define CP15_TPIDRPRW(rr) p15, 0, rr, c13, c0, 4 /* PL1 only Thread ID Register */
+#define CP15_HTPIDR(rr) p15, 4, rr, c13, c0, 2 /* Hyp Software Thread ID Register */
/*
* CP15 C14 registers
@@ -303,6 +320,12 @@
#define CP15_CNTV_CVAL(rq, rr) p15, 3, rq, rr, c14 /* Virtual Timer Compare Value Register */
#define CP15_CNTVOFF(rq, rr) p15, 4, rq, rr, c14 /* Virtual Offset Register */
#define CP15_CNTHP_CVAL(rq, rr) p15, 6, rq, rr, c14 /* PL2 Physical Timer Compare Value Register */
+
+#define CP15_VTTBR(rq, rr) p15, 6, rq, rr, c2 /* Virtualization Translation Table Base Register */
+#define CP15_HTTBR(rq, rr) p15, 4, rq, rr, c2 /* Hyp Translation Table Base Register */
+#define CP15_TTBR0_2(rq, rr) p15, 0, rq, rr, c2 /* Translation Table Base Register 0 */
+#define CP15_TTBR1_2(rq, rr) p15, 1, rq, rr, c2 /* Translation Table Base Register 1 */
+#define CP15_PAR_2(rq, rr) p15, 0, rq, rr, c7 /* Physical Address Register */
/*
* CP15 C15 registers
Modified: projects/pnfs-planb-server/sys/arm64/arm64/pmap.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm64/arm64/pmap.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm64/arm64/pmap.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -221,8 +221,6 @@ vm_offset_t virtual_avail; /* VA of first avail page (
vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */
vm_offset_t kernel_vm_end = 0;
-struct msgbuf *msgbufp = NULL;
-
/*
* Data for the pv entry allocation mechanism.
* Updates to pv_invl_gen are protected by the pv_list_locks[]
Modified: projects/pnfs-planb-server/sys/arm64/include/atomic.h
==============================================================================
--- projects/pnfs-planb-server/sys/arm64/include/atomic.h Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/arm64/include/atomic.h Tue Dec 19 22:08:57 2017 (r327002)
@@ -29,6 +29,8 @@
#ifndef _MACHINE_ATOMIC_H_
#define _MACHINE_ATOMIC_H_
+#include <sys/atomic_common.h>
+
#define isb() __asm __volatile("isb" : : : "memory")
/*
Modified: projects/pnfs-planb-server/sys/cam/ata/ata_da.c
==============================================================================
--- projects/pnfs-planb-server/sys/cam/ata/ata_da.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/ata/ata_da.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -1048,7 +1048,7 @@ adadump(void *arg, void *virtual, vm_offset_t physical
struct cam_periph *periph;
struct ada_softc *softc;
u_int secsize;
- union ccb ccb;
+ struct ccb_ataio ataio;
struct disk *dp;
uint64_t lba;
uint16_t count;
@@ -1067,11 +1067,11 @@ adadump(void *arg, void *virtual, vm_offset_t physical
return (ENXIO);
}
- memset(&ccb, 0, sizeof(ccb));
+ memset(&ataio, 0, sizeof(ataio));
if (length > 0) {
- xpt_setup_ccb(&ccb.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- ccb.ccb_h.ccb_state = ADA_CCB_DUMP;
- cam_fill_ataio(&ccb.ataio,
+ xpt_setup_ccb(&ataio.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
+ ataio.ccb_h.ccb_state = ADA_CCB_DUMP;
+ cam_fill_ataio(&ataio,
0,
adadone,
CAM_DIR_OUT,
@@ -1082,19 +1082,14 @@ adadump(void *arg, void *virtual, vm_offset_t physical
if ((softc->flags & ADA_FLAG_CAN_48BIT) &&
(lba + count >= ATA_MAX_28BIT_LBA ||
count >= 256)) {
- ata_48bit_cmd(&ccb.ataio, ATA_WRITE_DMA48,
+ ata_48bit_cmd(&ataio, ATA_WRITE_DMA48,
0, lba, count);
} else {
- ata_28bit_cmd(&ccb.ataio, ATA_WRITE_DMA,
+ ata_28bit_cmd(&ataio, ATA_WRITE_DMA,
0, lba, count);
}
- xpt_polled_action(&ccb);
-
- error = adaerror(&ccb,
- 0, SF_NO_RECOVERY | SF_NO_RETRY);
- if ((ccb.ccb_h.status & CAM_DEV_QFRZN) != 0)
- cam_release_devq(ccb.ccb_h.path, /*relsim_flags*/0,
- /*reduction*/0, /*timeout*/0, /*getcount_only*/0);
+ error = cam_periph_runccb((union ccb *)&ataio, adaerror,
+ 0, SF_NO_RECOVERY | SF_NO_RETRY, NULL);
if (error != 0)
printf("Aborting dump due to I/O error.\n");
@@ -1103,15 +1098,15 @@ adadump(void *arg, void *virtual, vm_offset_t physical
}
if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) {
- xpt_setup_ccb(&ccb.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
+ xpt_setup_ccb(&ataio.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
/*
* Tell the drive to flush its internal cache. if we
* can't flush in 5s we have big problems. No need to
* wait the default 60s to detect problems.
*/
- ccb.ccb_h.ccb_state = ADA_CCB_DUMP;
- cam_fill_ataio(&ccb.ataio,
+ ataio.ccb_h.ccb_state = ADA_CCB_DUMP;
+ cam_fill_ataio(&ataio,
0,
adadone,
CAM_DIR_NONE,
@@ -1121,16 +1116,11 @@ adadump(void *arg, void *virtual, vm_offset_t physical
5*1000);
if (softc->flags & ADA_FLAG_CAN_48BIT)
- ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE48, 0, 0, 0);
+ ata_48bit_cmd(&ataio, ATA_FLUSHCACHE48, 0, 0, 0);
else
- ata_28bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0);
- xpt_polled_action(&ccb);
-
- error = adaerror(&ccb,
- 0, SF_NO_RECOVERY | SF_NO_RETRY);
- if ((ccb.ccb_h.status & CAM_DEV_QFRZN) != 0)
- cam_release_devq(ccb.ccb_h.path, /*relsim_flags*/0,
- /*reduction*/0, /*timeout*/0, /*getcount_only*/0);
+ ata_28bit_cmd(&ataio, ATA_FLUSHCACHE, 0, 0, 0);
+ error = cam_periph_runccb((union ccb *)&ataio, adaerror,
+ 0, SF_NO_RECOVERY | SF_NO_RETRY, NULL);
if (error != 0)
xpt_print(periph->path, "Synchronize cache failed\n");
}
@@ -1421,7 +1411,7 @@ adasysctlinit(void *context, int pending)
{
struct cam_periph *periph;
struct ada_softc *softc;
- char tmpstr[80], tmpstr2[80];
+ char tmpstr[32], tmpstr2[16];
periph = (struct cam_periph *)context;
@@ -1736,10 +1726,7 @@ adaregister(struct cam_periph *periph, void *arg)
else
softc->quirks = ADA_Q_NONE;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
TASK_INIT(&softc->sysctl_task, 0, adasysctlinit, periph);
@@ -3354,7 +3341,7 @@ adaerror(union ccb *ccb, u_int32_t cam_flags, u_int32_
}
#endif
- return(cam_periph_error(ccb, cam_flags, sense_flags, NULL));
+ return(cam_periph_error(ccb, cam_flags, sense_flags));
}
static void
@@ -3377,7 +3364,8 @@ adagetparams(struct cam_periph *periph, struct ccb_get
dp->heads = cgd->ident_data.heads;
dp->secs_per_track = cgd->ident_data.sectors;
dp->cylinders = cgd->ident_data.cylinders;
- dp->sectors = cgd->ident_data.cylinders * dp->heads * dp->secs_per_track;
+ dp->sectors = cgd->ident_data.cylinders *
+ (u_int32_t)(dp->heads * dp->secs_per_track);
}
lbasize = (u_int32_t)cgd->ident_data.lba_size_1 |
((u_int32_t)cgd->ident_data.lba_size_2 << 16);
@@ -3509,32 +3497,9 @@ adaspindown(uint8_t cmd, int flags)
0,
ada_default_timeout*1000);
ata_28bit_cmd(&local_ccb, cmd, 0, 0, 0);
-
- if (!SCHEDULER_STOPPED()) {
- /*
- * Not panicing, can just do the normal runccb
- * XXX should make cam_periph_runccb work while
- * XXX panicing... later
- */
- error = cam_periph_runccb((union ccb *)&local_ccb, adaerror,
- /*cam_flags*/0, /*sense_flags*/ SF_NO_RECOVERY | SF_NO_RETRY,
- softc->disk->d_devstat);
- } else {
- /*
- * Panicing, so we have to do this by hand: do
- * xpt_polled_action to run the request through the SIM,
- * extract the error, and if the queue was frozen,
- * unfreeze it. cam_periph_runccb takes care of these
- * details, but xpt_polled_action doesn't.
- */
- xpt_polled_action((union ccb *)&local_ccb);
- error = adaerror((union ccb *)&local_ccb, 0,
- SF_NO_RECOVERY | SF_NO_RETRY);
- if ((local_ccb.ccb_h.status & CAM_DEV_QFRZN) != 0)
- cam_release_devq(local_ccb.ccb_h.path,
- /*relsim_flags*/0, /*reduction*/0,
- /*timeout*/0, /*getcount_only*/0);
- }
+ error = cam_periph_runccb((union ccb *)&local_ccb, adaerror,
+ /*cam_flags*/0, /*sense_flags*/ SF_NO_RECOVERY | SF_NO_RETRY,
+ softc->disk->d_devstat);
if (error != 0)
xpt_print(periph->path, "Spin-down disk failed\n");
cam_periph_unlock(periph);
Modified: projects/pnfs-planb-server/sys/cam/ata/ata_pmp.c
==============================================================================
--- projects/pnfs-planb-server/sys/cam/ata/ata_pmp.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/ata/ata_pmp.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -340,7 +340,7 @@ pmpsysctlinit(void *context, int pending)
{
struct cam_periph *periph;
struct pmp_softc *softc;
- char tmpstr[80], tmpstr2[80];
+ char tmpstr[32], tmpstr2[16];
periph = (struct cam_periph *)context;
if (cam_periph_acquire(periph) != CAM_REQ_CMP)
@@ -597,7 +597,7 @@ pmpdone(struct cam_periph *periph, union ccb *done_ccb
priority = done_ccb->ccb_h.pinfo.priority;
if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
- if (cam_periph_error(done_ccb, 0, 0, NULL) == ERESTART) {
+ if (cam_periph_error(done_ccb, 0, 0) == ERESTART) {
return;
} else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) {
cam_release_devq(done_ccb->ccb_h.path,
Modified: projects/pnfs-planb-server/sys/cam/ata/ata_xpt.c
==============================================================================
--- projects/pnfs-planb-server/sys/cam/ata/ata_xpt.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/ata/ata_xpt.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -763,8 +763,8 @@ probedone(struct cam_periph *periph, union ccb *done_c
if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
if (cam_periph_error(done_ccb,
- 0, softc->restart ? (SF_NO_RECOVERY | SF_NO_RETRY) : 0,
- NULL) == ERESTART) {
+ 0, softc->restart ? (SF_NO_RECOVERY | SF_NO_RETRY) : 0
+ ) == ERESTART) {
out:
/* Drop freeze taken due to CAM_DEV_QFREEZE flag set. */
cam_release_devq(path, 0, 0, 0, FALSE);
@@ -1006,10 +1006,7 @@ noerror:
if (path->device->mintags != 0 &&
path->bus->sim->max_tagged_dev_openings != 0) {
/* Check if the SIM does not want queued commands. */
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status == CAM_REQ_CMP &&
(cpi.hba_inquiry & PI_TAG_ABLE)) {
/* Report SIM which tags are allowed. */
@@ -1412,10 +1409,7 @@ ata_scan_bus(struct cam_periph *periph, union ccb *req
xpt_done(request_ccb);
return;
}
- xpt_setup_ccb(&work_ccb->ccb_h, request_ccb->ccb_h.path,
- request_ccb->ccb_h.pinfo.priority);
- work_ccb->ccb_h.func_code = XPT_PATH_INQ;
- xpt_action(work_ccb);
+ xpt_path_inq(&work_ccb->cpi, request_ccb->ccb_h.path);
if (work_ccb->ccb_h.status != CAM_REQ_CMP) {
request_ccb->ccb_h.status = work_ccb->ccb_h.status;
xpt_free_ccb(work_ccb);
@@ -1570,10 +1564,7 @@ ata_scan_lun(struct cam_periph *periph, struct cam_pat
CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_scan_lun\n"));
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
-
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status != CAM_REQ_CMP) {
if (request_ccb != NULL) {
request_ccb->ccb_h.status = cpi.ccb_h.status;
@@ -1682,9 +1673,7 @@ ata_device_transport(struct cam_path *path)
struct ata_params *ident_buf = NULL;
/* Get transport information from the SIM */
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
path->device->transport = cpi.transport;
if ((path->device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0)
@@ -1979,9 +1968,7 @@ ata_set_transfer_settings(struct ccb_trans_settings *c
scsi = &cts->proto_specific.scsi;
else
scsi = NULL;
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
/* Sanity checking */
if ((cpi.hba_inquiry & PI_TAG_ABLE) == 0
@@ -2110,9 +2097,7 @@ _ata_announce_periph(struct cam_periph *periph, struct
if ((cts->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)
return;
/* Ask the SIM for its base transfer speed */
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
/* Report connection speed */
*speed = cpi.base_transfer_speed;
if (cts->transport == XPORT_ATA) {
Modified: projects/pnfs-planb-server/sys/cam/cam_periph.c
==============================================================================
--- projects/pnfs-planb-server/sys/cam/cam_periph.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/cam_periph.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$");
#include <sys/malloc.h>
#include <sys/kernel.h>
#include <sys/bio.h>
+#include <sys/conf.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/buf.h>
@@ -743,9 +744,7 @@ camperiphfree(struct cam_periph *periph)
arg = &ccb;
break;
case AC_PATH_REGISTERED:
- ccb.ccb_h.func_code = XPT_PATH_INQ;
- xpt_setup_ccb(&ccb.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- xpt_action(&ccb);
+ xpt_path_inq(&ccb.cpi, periph->path);
arg = &ccb;
break;
default:
@@ -1160,7 +1159,11 @@ cam_periph_runccb(union ccb *ccb,
struct bintime *starttime;
struct bintime ltime;
int error;
-
+ bool must_poll;
+ struct mtx *periph_mtx;
+ struct cam_periph *periph;
+ uint32_t timeout = 1;
+
starttime = NULL;
xpt_path_assert(ccb->ccb_h.path, MA_OWNED);
KASSERT((ccb->ccb_h.flags & CAM_UNLOCKED) == 0,
@@ -1171,28 +1174,62 @@ cam_periph_runccb(union ccb *ccb,
* If the user has supplied a stats structure, and if we understand
* this particular type of ccb, record the transaction start.
*/
- if ((ds != NULL) && (ccb->ccb_h.func_code == XPT_SCSI_IO ||
- ccb->ccb_h.func_code == XPT_ATA_IO)) {
+ if (ds != NULL &&
+ (ccb->ccb_h.func_code == XPT_SCSI_IO ||
+ ccb->ccb_h.func_code == XPT_ATA_IO ||
+ ccb->ccb_h.func_code == XPT_NVME_IO)) {
starttime = <ime;
binuptime(starttime);
devstat_start_transaction(ds, starttime);
}
+ /*
+ * We must poll the I/O while we're dumping. The scheduler is normally
+ * stopped for dumping, except when we call doadump from ddb. While the
+ * scheduler is running in this case, we still need to poll the I/O to
+ * avoid sleeping waiting for the ccb to complete.
+ */
+ must_poll = dumping;
ccb->ccb_h.cbfcnp = cam_periph_done;
- xpt_action(ccb);
-
- do {
- cam_periph_ccbwait(ccb);
- if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)
- error = 0;
- else if (error_routine != NULL) {
- ccb->ccb_h.cbfcnp = cam_periph_done;
- error = (*error_routine)(ccb, camflags, sense_flags);
- } else
- error = 0;
+ periph = xpt_path_periph(ccb->ccb_h.path);
+ periph_mtx = cam_periph_mtx(periph);
- } while (error == ERESTART);
-
+ /*
+ * If we're polling, then we need to ensure that we have ample resources
+ * in the periph. We also need to drop the periph lock while we're polling.
+ * cam_periph_error can reschedule the ccb by calling xpt_action and returning
+ * ERESTART, so we have to effect the polling in the do loop below.
+ */
+ if (must_poll) {
+ mtx_unlock(periph_mtx);
+ timeout = xpt_poll_setup(ccb);
+ }
+
+ if (timeout == 0) {
+ ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
+ error = EBUSY;
+ } else {
+ xpt_action(ccb);
+ do {
+ if (must_poll) {
+ xpt_pollwait(ccb, timeout);
+ timeout = ccb->ccb_h.timeout * 10;
+ } else {
+ cam_periph_ccbwait(ccb);
+ }
+ if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)
+ error = 0;
+ else if (error_routine != NULL) {
+ ccb->ccb_h.cbfcnp = cam_periph_done;
+ error = (*error_routine)(ccb, camflags, sense_flags);
+ } else
+ error = 0;
+ } while (error == ERESTART);
+ }
+
+ if (must_poll)
+ mtx_lock(periph_mtx);
+
if ((ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) {
cam_release_devq(ccb->ccb_h.path,
/* relsim_flags */0,
@@ -1203,25 +1240,27 @@ cam_periph_runccb(union ccb *ccb,
}
if (ds != NULL) {
+ uint32_t bytes;
+ devstat_tag_type tag;
+ bool valid = true;
+
if (ccb->ccb_h.func_code == XPT_SCSI_IO) {
- devstat_end_transaction(ds,
- ccb->csio.dxfer_len - ccb->csio.resid,
- ccb->csio.tag_action & 0x3,
- ((ccb->ccb_h.flags & CAM_DIR_MASK) ==
- CAM_DIR_NONE) ? DEVSTAT_NO_DATA :
- (ccb->ccb_h.flags & CAM_DIR_OUT) ?
- DEVSTAT_WRITE :
- DEVSTAT_READ, NULL, starttime);
+ bytes = ccb->csio.dxfer_len - ccb->csio.resid;
+ tag = (devstat_tag_type)(ccb->csio.tag_action & 0x3);
} else if (ccb->ccb_h.func_code == XPT_ATA_IO) {
- devstat_end_transaction(ds,
- ccb->ataio.dxfer_len - ccb->ataio.resid,
- 0, /* Not used in ATA */
- ((ccb->ccb_h.flags & CAM_DIR_MASK) ==
- CAM_DIR_NONE) ? DEVSTAT_NO_DATA :
- (ccb->ccb_h.flags & CAM_DIR_OUT) ?
- DEVSTAT_WRITE :
- DEVSTAT_READ, NULL, starttime);
+ bytes = ccb->ataio.dxfer_len - ccb->ataio.resid;
+ tag = (devstat_tag_type)0;
+ } else if (ccb->ccb_h.func_code == XPT_NVME_IO) {
+ bytes = ccb->nvmeio.dxfer_len; /* NB: resid no possible */
+ tag = (devstat_tag_type)0;
+ } else {
+ valid = false;
}
+ if (valid)
+ devstat_end_transaction(ds, bytes, tag,
+ ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) ?
+ DEVSTAT_NO_DATA : (ccb->ccb_h.flags & CAM_DIR_OUT) ?
+ DEVSTAT_WRITE : DEVSTAT_READ, NULL, starttime);
}
return(error);
@@ -1298,7 +1337,7 @@ camperiphdone(struct cam_periph *periph, union ccb *do
}
}
if (cam_periph_error(done_ccb,
- 0, SF_RETRY_UA | SF_NO_PRINT, NULL) == ERESTART)
+ 0, SF_RETRY_UA | SF_NO_PRINT) == ERESTART)
goto out;
if (done_ccb->ccb_h.status & CAM_DEV_QFRZN) {
cam_release_devq(done_ccb->ccb_h.path, 0, 0, 0, 0);
@@ -1712,7 +1751,7 @@ sense_error_done:
*/
int
cam_periph_error(union ccb *ccb, cam_flags camflags,
- u_int32_t sense_flags, union ccb *save_ccb)
+ u_int32_t sense_flags)
{
struct cam_path *newpath;
union ccb *orig_ccb, *scan_ccb;
Modified: projects/pnfs-planb-server/sys/cam/cam_periph.h
==============================================================================
--- projects/pnfs-planb-server/sys/cam/cam_periph.h Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/cam_periph.h Tue Dec 19 22:08:57 2017 (r327002)
@@ -197,7 +197,7 @@ void cam_periph_freeze_after_event(struct cam_periph
struct timeval* event_time,
u_int duration_ms);
int cam_periph_error(union ccb *ccb, cam_flags camflags,
- u_int32_t sense_flags, union ccb *save_ccb);
+ u_int32_t sense_flags);
static __inline struct mtx *
cam_periph_mtx(struct cam_periph *periph)
Modified: projects/pnfs-planb-server/sys/cam/cam_xpt.c
==============================================================================
--- projects/pnfs-planb-server/sys/cam/cam_xpt.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/cam_xpt.c Tue Dec 19 22:08:57 2017 (r327002)
@@ -2620,9 +2620,7 @@ xptsetasyncbusfunc(struct cam_eb *bus, void *arg)
CAM_TARGET_WILDCARD,
CAM_LUN_WILDCARD);
xpt_path_lock(&path);
- xpt_setup_ccb(&cpi.ccb_h, &path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, &path);
csa->callback(csa->callback_arg,
AC_PATH_REGISTERED,
&path, &cpi);
@@ -3204,8 +3202,8 @@ call_sim:
start_ccb->ccb_h.status));
}
-void
-xpt_polled_action(union ccb *start_ccb)
+uint32_t
+xpt_poll_setup(union ccb *start_ccb)
{
u_int32_t timeout;
struct cam_sim *sim;
@@ -3219,8 +3217,6 @@ xpt_polled_action(union ccb *start_ccb)
mtx = sim->mtx;
dev = start_ccb->ccb_h.path->device;
- mtx_unlock(&dev->device_mtx);
-
/*
* Steal an opening so that no other queued requests
* can get it before us while we simulate interrupts.
@@ -3242,29 +3238,57 @@ xpt_polled_action(union ccb *start_ccb)
dev->ccbq.dev_openings++;
mtx_unlock(&devq->send_mtx);
- if (timeout != 0) {
+ return (timeout);
+}
+
+void
+xpt_pollwait(union ccb *start_ccb, uint32_t timeout)
+{
+ struct cam_sim *sim;
+ struct mtx *mtx;
+
+ sim = start_ccb->ccb_h.path->bus->sim;
+ mtx = sim->mtx;
+
+ while (--timeout > 0) {
+ if (mtx)
+ mtx_lock(mtx);
+ (*(sim->sim_poll))(sim);
+ if (mtx)
+ mtx_unlock(mtx);
+ camisr_runqueue();
+ if ((start_ccb->ccb_h.status & CAM_STATUS_MASK)
+ != CAM_REQ_INPROG)
+ break;
+ DELAY(100);
+ }
+
+ if (timeout == 0) {
+ /*
+ * XXX Is it worth adding a sim_timeout entry
+ * point so we can attempt recovery? If
+ * this is only used for dumps, I don't think
+ * it is.
+ */
+ start_ccb->ccb_h.status = CAM_CMD_TIMEOUT;
+ }
+}
+
+void
+xpt_polled_action(union ccb *start_ccb)
+{
+ uint32_t timeout;
+ struct cam_ed *dev;
+
+ timeout = start_ccb->ccb_h.timeout * 10;
+ dev = start_ccb->ccb_h.path->device;
+
+ mtx_unlock(&dev->device_mtx);
+
+ timeout = xpt_poll_setup(start_ccb);
+ if (timeout > 0) {
xpt_action(start_ccb);
- while(--timeout > 0) {
- if (mtx)
- mtx_lock(mtx);
- (*(sim->sim_poll))(sim);
- if (mtx)
- mtx_unlock(mtx);
- camisr_runqueue();
- if ((start_ccb->ccb_h.status & CAM_STATUS_MASK)
- != CAM_REQ_INPROG)
- break;
- DELAY(100);
- }
- if (timeout == 0) {
- /*
- * XXX Is it worth adding a sim_timeout entry
- * point so we can attempt recovery? If
- * this is only used for dumps, I don't think
- * it is.
- */
- start_ccb->ccb_h.status = CAM_CMD_TIMEOUT;
- }
+ xpt_pollwait(start_ccb, timeout);
} else {
start_ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
}
@@ -3306,6 +3330,7 @@ xpt_schedule_dev(struct camq *queue, cam_pinfo *pinfo,
CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_schedule_dev\n"));
+
old_priority = pinfo->priority;
/*
@@ -4060,9 +4085,7 @@ xpt_bus_register(struct cam_sim *sim, device_t parent,
return (CAM_RESRC_UNAVAIL);
}
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status == CAM_REQ_CMP) {
struct xpt_xport **xpt;
Modified: projects/pnfs-planb-server/sys/cam/cam_xpt.h
==============================================================================
--- projects/pnfs-planb-server/sys/cam/cam_xpt.h Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/cam_xpt.h Tue Dec 19 22:08:57 2017 (r327002)
@@ -36,8 +36,10 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
+#include <cam/cam_ccb.h>
#endif
+
/* Forward Declarations */
union ccb;
struct cam_periph;
@@ -144,6 +146,22 @@ void xpt_copy_path(struct cam_path *new_path,
void xpt_release_path(struct cam_path *path);
const char * xpt_action_name(uint32_t action);
+void xpt_pollwait(union ccb *start_ccb, uint32_t timeout);
+uint32_t xpt_poll_setup(union ccb *start_ccb);
+
+/*
+ * Perform a path inquiry at the request priority. The bzero may be
+ * unnecessary.
+ */
+static inline void
+xpt_path_inq(struct ccb_pathinq *cpi, struct cam_path *path)
+{
+
+ bzero(cpi, sizeof(*cpi));
+ xpt_setup_ccb(&cpi->ccb_h, path, CAM_PRIORITY_NORMAL);
+ cpi->ccb_h.func_code = XPT_PATH_INQ;
+ xpt_action((union ccb *)cpi);
+}
#endif /* _KERNEL */
Modified: projects/pnfs-planb-server/sys/cam/mmc/mmc_da.c
==============================================================================
--- projects/pnfs-planb-server/sys/cam/mmc/mmc_da.c Tue Dec 19 22:06:25 2017 (r327001)
+++ projects/pnfs-planb-server/sys/cam/mmc/mmc_da.c Tue Dec 19 22:08:57 2017 (r327002)
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list