From owner-svn-src-projects@freebsd.org Fri Aug 25 23:09:15 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BDDF6DE3734 for ; Fri, 25 Aug 2017 23:09:15 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2196D744B8; Fri, 25 Aug 2017 23:09:15 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7PN9Ena025282; Fri, 25 Aug 2017 23:09:14 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7PN9CC3025259; Fri, 25 Aug 2017 23:09:12 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708252309.v7PN9CC3025259@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 25 Aug 2017 23:09:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322911 - in projects/pnfs-planb-server-stable11/sys: amd64/amd64 amd64/cloudabi64 amd64/include amd64/linux arm64/arm64 arm64/include boot/forth boot/geli cam/ata cam/ctl compat/linuxk... X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server-stable11/sys: amd64/amd64 amd64/cloudabi64 amd64/include amd64/linux arm64/arm64 arm64/include boot/forth boot/geli cam/ata cam/ctl compat/linuxkpi/common/include/linux c... X-SVN-Commit-Revision: 322911 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Aug 2017 23:09:15 -0000 Author: rmacklem Date: Fri Aug 25 23:09:11 2017 New Revision: 322911 URL: https://svnweb.freebsd.org/changeset/base/322911 Log: Update the kernel to stable/11/sys. Added: projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/dmswitch.c - copied unchanged from r322910, stable/11/sys/contrib/dev/acpica/common/dmswitch.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslparseop.c - copied unchanged from r322910, stable/11/sys/contrib/dev/acpica/compiler/aslparseop.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c - copied unchanged from r322910, stable/11/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utresdecode.c - copied unchanged from r322910, stable/11/sys/contrib/dev/acpica/components/utilities/utresdecode.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/diagnostics.h - copied unchanged from r322910, stable/11/sys/dev/mlx5/diagnostics.h projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_core/mlx5_diagnostics.c - copied unchanged from r322910, stable/11/sys/dev/mlx5/mlx5_core/mlx5_diagnostics.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_acl.c - copied unchanged from r322910, stable/11/sys/fs/ext2fs/ext2_acl.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_acl.h - copied unchanged from r322910, stable/11/sys/fs/ext2fs/ext2_acl.h projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_csum.c - copied unchanged from r322910, stable/11/sys/fs/ext2fs/ext2_csum.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_extattr.c - copied unchanged from r322910, stable/11/sys/fs/ext2fs/ext2_extattr.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_extattr.h - copied unchanged from r322910, stable/11/sys/fs/ext2fs/ext2_extattr.h Modified: projects/pnfs-planb-server-stable11/sys/amd64/amd64/elf_machdep.c projects/pnfs-planb-server-stable11/sys/amd64/amd64/genassym.c projects/pnfs-planb-server-stable11/sys/amd64/amd64/initcpu.c projects/pnfs-planb-server-stable11/sys/amd64/amd64/machdep.c projects/pnfs-planb-server-stable11/sys/amd64/amd64/pmap.c projects/pnfs-planb-server-stable11/sys/amd64/amd64/trap.c projects/pnfs-planb-server-stable11/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/pnfs-planb-server-stable11/sys/amd64/include/cpufunc.h projects/pnfs-planb-server-stable11/sys/amd64/include/md_var.h projects/pnfs-planb-server-stable11/sys/amd64/linux/linux_sysvec.c projects/pnfs-planb-server-stable11/sys/arm64/arm64/debug_monitor.c projects/pnfs-planb-server-stable11/sys/arm64/arm64/machdep.c projects/pnfs-planb-server-stable11/sys/arm64/arm64/mp_machdep.c projects/pnfs-planb-server-stable11/sys/arm64/include/machdep.h projects/pnfs-planb-server-stable11/sys/boot/forth/loader.conf projects/pnfs-planb-server-stable11/sys/boot/geli/Makefile projects/pnfs-planb-server-stable11/sys/cam/ata/ata_da.c projects/pnfs-planb-server-stable11/sys/cam/ctl/scsi_ctl.c projects/pnfs-planb-server-stable11/sys/compat/linuxkpi/common/include/linux/compiler.h projects/pnfs-planb-server-stable11/sys/conf/files projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/changes.txt projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/acfileio.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/adfile.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/adisasm.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/adwalk.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/ahids.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/ahpredef.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/ahtable.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/ahuuids.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/dmextern.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/dmrestag.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/dmtable.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/dmtbdump.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/dmtbinfo.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslascii.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslbtypes.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslcodegen.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslcompile.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslcstyle.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asldefine.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslerror.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslexternal.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslfold.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslglobal.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslhelp.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslkeywords.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asllength.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asllisting.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslload.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asllookup.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslmain.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslmap.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslmapoutput.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslmessages.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslmessages.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslmethod.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asloffset.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslopcodes.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslopt.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asloptions.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslparser.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslpld.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslpredef.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslprimaries.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslprintf.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslresource.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslresources.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslrestype2s.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslrules.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslstartup.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslsupport.l projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslsupport.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asltokens.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asltransform.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asltree.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asltypes.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/asltypes.y projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslutils.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslwalks.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/aslxref.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/cvcompiler.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/cvdisasm.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/cvparser.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/dtcompile.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/dtfield.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/dttable1.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/dttable2.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/dttemplate.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/dtutils.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/compiler/prmacros.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/debugger/dbdisply.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/debugger/dbobject.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/debugger/dbxface.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dsargs.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dsobject.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/events/evxfevnt.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/executer/excreate.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/executer/exdebug.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/executer/exdump.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/executer/exmisc.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/executer/exoparg1.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/executer/exoparg2.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/executer/exresolv.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/hardware/hwregs.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/namespace/nsarguments.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/namespace/nsinit.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/namespace/nsprepkg.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/parser/psloop.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/parser/psobject.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/parser/psopcode.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/parser/psparse.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/resources/rscalc.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/resources/rsdump.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/resources/rsinfo.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/resources/rsserial.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/resources/rsxface.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/tables/tbdata.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/tables/tbutils.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/tables/tbxface.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/tables/tbxfload.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/uthex.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utmath.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utmisc.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utobject.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utownerid.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utstate.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/components/utilities/utxfmutex.c projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acapps.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acdisasm.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acdispat.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acglobal.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/aclocal.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acnames.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acobject.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acopcode.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acpi.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acpixf.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acpredef.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acresrc.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acrestyp.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/actables.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/actbl.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/actbl1.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/actbl2.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/actbl3.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/actypes.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acutils.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/acuuid.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/amlcode.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/amlresrc.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/platform/acenv.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/platform/acfreebsd.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/include/platform/acgcc.h projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/pnfs-planb-server-stable11/sys/dev/acpica/acpi.c projects/pnfs-planb-server-stable11/sys/dev/ahci/ahci_pci.c projects/pnfs-planb-server-stable11/sys/dev/ata/ata-pci.h projects/pnfs-planb-server-stable11/sys/dev/ata/chipsets/ata-intel.c projects/pnfs-planb-server-stable11/sys/dev/hwpmc/hwpmc_piv.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/include/hyperv.h projects/pnfs-planb-server-stable11/sys/dev/hyperv/netvsc/hn_nvs.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/netvsc/hn_nvs.h projects/pnfs-planb-server-stable11/sys/dev/hyperv/netvsc/hn_rndis.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/netvsc/hn_rndis.h projects/pnfs-planb-server-stable11/sys/dev/hyperv/netvsc/if_hn.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/netvsc/if_hnreg.h projects/pnfs-planb-server-stable11/sys/dev/hyperv/netvsc/if_hnvar.h projects/pnfs-planb-server-stable11/sys/dev/hyperv/pcib/vmbus_pcib.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/storvsc/hv_vstorage.h projects/pnfs-planb-server-stable11/sys/dev/hyperv/utilities/hv_kvp.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/utilities/vmbus_timesync.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/vmbus/hyperv.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/vmbus/vmbus.c projects/pnfs-planb-server-stable11/sys/dev/hyperv/vmbus/vmbus_et.c projects/pnfs-planb-server-stable11/sys/dev/ichwd/ichwd.c projects/pnfs-planb-server-stable11/sys/dev/isp/isp.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/cq.h projects/pnfs-planb-server-stable11/sys/dev/mlx5/device.h projects/pnfs-planb-server-stable11/sys/dev/mlx5/driver.h projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_core/mlx5_alloc.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_core/mlx5_cmd.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_core/mlx5_cq.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_core/mlx5_health.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_core/mlx5_main.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_core/mlx5_pagealloc.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_en/en.h projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c projects/pnfs-planb-server-stable11/sys/dev/mlx5/mlx5_ifc.h projects/pnfs-planb-server-stable11/sys/dev/mmc/bridge.h projects/pnfs-planb-server-stable11/sys/dev/mmc/mmc.c projects/pnfs-planb-server-stable11/sys/dev/mmc/mmc_ioctl.h projects/pnfs-planb-server-stable11/sys/dev/mmc/mmc_private.h projects/pnfs-planb-server-stable11/sys/dev/mmc/mmc_subr.c projects/pnfs-planb-server-stable11/sys/dev/mmc/mmc_subr.h projects/pnfs-planb-server-stable11/sys/dev/mmc/mmcbr_if.m projects/pnfs-planb-server-stable11/sys/dev/mmc/mmcbrvar.h projects/pnfs-planb-server-stable11/sys/dev/mmc/mmcbus_if.m projects/pnfs-planb-server-stable11/sys/dev/mmc/mmcreg.h projects/pnfs-planb-server-stable11/sys/dev/mmc/mmcsd.c projects/pnfs-planb-server-stable11/sys/dev/mmc/mmcvar.h projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr.c projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr_config.c projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr_pci.c projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr_sas.c projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr_sas_lsi.c projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr_table.c projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr_table.h projects/pnfs-planb-server-stable11/sys/dev/mpr/mpr_user.c projects/pnfs-planb-server-stable11/sys/dev/mpr/mprvar.h projects/pnfs-planb-server-stable11/sys/dev/mps/mps.c projects/pnfs-planb-server-stable11/sys/dev/mps/mps_config.c projects/pnfs-planb-server-stable11/sys/dev/mps/mps_pci.c projects/pnfs-planb-server-stable11/sys/dev/mps/mps_sas.c projects/pnfs-planb-server-stable11/sys/dev/mps/mps_sas_lsi.c projects/pnfs-planb-server-stable11/sys/dev/mps/mps_table.c projects/pnfs-planb-server-stable11/sys/dev/mps/mps_table.h projects/pnfs-planb-server-stable11/sys/dev/mps/mps_user.c projects/pnfs-planb-server-stable11/sys/dev/mps/mpsvar.h projects/pnfs-planb-server-stable11/sys/dev/qlnx/qlnxe/qlnx_def.h projects/pnfs-planb-server-stable11/sys/dev/qlnx/qlnxe/qlnx_os.c projects/pnfs-planb-server-stable11/sys/dev/qlnx/qlnxe/qlnx_ver.h projects/pnfs-planb-server-stable11/sys/dev/sdhci/sdhci.c projects/pnfs-planb-server-stable11/sys/dev/sdhci/sdhci.h projects/pnfs-planb-server-stable11/sys/dev/sdhci/sdhci_acpi.c projects/pnfs-planb-server-stable11/sys/dev/sdhci/sdhci_if.m projects/pnfs-planb-server-stable11/sys/dev/sdhci/sdhci_pci.c projects/pnfs-planb-server-stable11/sys/dev/sound/pci/hda/hdac.c projects/pnfs-planb-server-stable11/sys/dev/sound/pci/hda/hdac.h projects/pnfs-planb-server-stable11/sys/dev/uart/uart_bus_pci.c projects/pnfs-planb-server-stable11/sys/dev/usb/controller/saf1761_otg.c projects/pnfs-planb-server-stable11/sys/dev/usb/controller/xhci_pci.c projects/pnfs-planb-server-stable11/sys/dev/usb/wlan/if_rsu.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_alloc.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_extern.h projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_inode.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_inode_cnv.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_vfsops.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2_vnops.c projects/pnfs-planb-server-stable11/sys/fs/ext2fs/ext2fs.h projects/pnfs-planb-server-stable11/sys/fs/ext2fs/inode.h projects/pnfs-planb-server-stable11/sys/fs/fdescfs/fdesc.h projects/pnfs-planb-server-stable11/sys/fs/fdescfs/fdesc_vfsops.c projects/pnfs-planb-server-stable11/sys/fs/fdescfs/fdesc_vnops.c projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_commonkrpc.c projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_commonsubs.c projects/pnfs-planb-server-stable11/sys/fs/nfs/nfscl.h projects/pnfs-planb-server-stable11/sys/fs/nfsclient/nfs_clbio.c projects/pnfs-planb-server-stable11/sys/fs/nfsclient/nfs_clport.c projects/pnfs-planb-server-stable11/sys/fs/nfsclient/nfs_clstate.c projects/pnfs-planb-server-stable11/sys/fs/nfsclient/nfs_clvfsops.c projects/pnfs-planb-server-stable11/sys/fs/nfsclient/nfs_clvnops.c projects/pnfs-planb-server-stable11/sys/fs/nfsclient/nfsmount.h projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_fha_new.c projects/pnfs-planb-server-stable11/sys/geom/geom_vfs.c projects/pnfs-planb-server-stable11/sys/geom/journal/g_journal.c projects/pnfs-planb-server-stable11/sys/geom/journal/g_journal.h projects/pnfs-planb-server-stable11/sys/i386/i386/exception.s projects/pnfs-planb-server-stable11/sys/i386/i386/genassym.c projects/pnfs-planb-server-stable11/sys/i386/i386/machdep.c projects/pnfs-planb-server-stable11/sys/i386/i386/pmap.c projects/pnfs-planb-server-stable11/sys/i386/i386/trap.c projects/pnfs-planb-server-stable11/sys/i386/include/md_var.h projects/pnfs-planb-server-stable11/sys/kern/kern_cpuset.c projects/pnfs-planb-server-stable11/sys/kern/kern_mutex.c projects/pnfs-planb-server-stable11/sys/kern/kern_sendfile.c projects/pnfs-planb-server-stable11/sys/kern/kern_sig.c projects/pnfs-planb-server-stable11/sys/kern/subr_pctrie.c projects/pnfs-planb-server-stable11/sys/kern/subr_witness.c projects/pnfs-planb-server-stable11/sys/kern/vfs_bio.c projects/pnfs-planb-server-stable11/sys/kern/vfs_syscalls.c projects/pnfs-planb-server-stable11/sys/mips/atheros/if_arge.c projects/pnfs-planb-server-stable11/sys/modules/ext2fs/Makefile projects/pnfs-planb-server-stable11/sys/modules/mlx5/Makefile projects/pnfs-planb-server-stable11/sys/modules/qlnx/qlnxe/Makefile projects/pnfs-planb-server-stable11/sys/net/if_enc.c projects/pnfs-planb-server-stable11/sys/net/if_enc.h projects/pnfs-planb-server-stable11/sys/net80211/ieee80211_ioctl.c projects/pnfs-planb-server-stable11/sys/net80211/ieee80211_mesh.c projects/pnfs-planb-server-stable11/sys/netipsec/ipsec.h projects/pnfs-planb-server-stable11/sys/netipsec/ipsec_input.c projects/pnfs-planb-server-stable11/sys/netipsec/ipsec_output.c projects/pnfs-planb-server-stable11/sys/netipsec/key.c projects/pnfs-planb-server-stable11/sys/netpfil/pf/pf_lb.c projects/pnfs-planb-server-stable11/sys/nfs/nfs_fha.c projects/pnfs-planb-server-stable11/sys/nfs/nfs_fha.h projects/pnfs-planb-server-stable11/sys/nfs/nfs_nfssvc.c projects/pnfs-planb-server-stable11/sys/nfs/nfssvc.h projects/pnfs-planb-server-stable11/sys/ofed/drivers/infiniband/core/addr.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/infiniband/core/cm.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/infiniband/hw/mlx4/mad.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/infiniband/hw/mlx4/main.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/net/mlx4/en_netdev.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/net/mlx4/en_port.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/net/mlx4/en_tx.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/net/mlx4/main.c projects/pnfs-planb-server-stable11/sys/ofed/drivers/net/mlx4/mlx4_en.h projects/pnfs-planb-server-stable11/sys/ofed/drivers/net/mlx4/mlx4_stats.h projects/pnfs-planb-server-stable11/sys/ofed/drivers/net/mlx4/port.c projects/pnfs-planb-server-stable11/sys/ofed/include/linux/mlx4/device.h projects/pnfs-planb-server-stable11/sys/sys/_termios.h projects/pnfs-planb-server-stable11/sys/sys/ata.h projects/pnfs-planb-server-stable11/sys/sys/param.h projects/pnfs-planb-server-stable11/sys/sys/pctrie.h projects/pnfs-planb-server-stable11/sys/sys/vnode.h projects/pnfs-planb-server-stable11/sys/ufs/ffs/ffs_snapshot.c projects/pnfs-planb-server-stable11/sys/ufs/ffs/ffs_softdep.c projects/pnfs-planb-server-stable11/sys/ufs/ffs/fs.h projects/pnfs-planb-server-stable11/sys/vm/vm_kern.c projects/pnfs-planb-server-stable11/sys/vm/vm_page.c projects/pnfs-planb-server-stable11/sys/x86/include/x86_var.h projects/pnfs-planb-server-stable11/sys/x86/x86/identcpu.c projects/pnfs-planb-server-stable11/sys/x86/x86/stack_machdep.c Directory Properties: projects/pnfs-planb-server-stable11/sys/ (props changed) Modified: projects/pnfs-planb-server-stable11/sys/amd64/amd64/elf_machdep.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/amd64/elf_machdep.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/amd64/elf_machdep.c Fri Aug 25 23:09:11 2017 (r322911) @@ -84,6 +84,25 @@ struct sysentvec elf64_freebsd_sysvec = { }; INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec); +void +amd64_lower_shared_page(struct sysentvec *sv) +{ + if (hw_lower_amd64_sharedpage != 0) { + sv->sv_maxuser -= PAGE_SIZE; + sv->sv_shared_page_base -= PAGE_SIZE; + sv->sv_usrstack -= PAGE_SIZE; + sv->sv_psstrings -= PAGE_SIZE; + } +} + +/* + * Do this fixup before INIT_SYSENTVEC (SI_ORDER_ANY) because the latter + * uses the value of sv_shared_page_base. + */ +SYSINIT(elf64_sysvec_fixup, SI_SUB_EXEC, SI_ORDER_FIRST, + (sysinit_cfunc_t) amd64_lower_shared_page, + &elf64_freebsd_sysvec); + static Elf64_Brandinfo freebsd_brand_info = { .brand = ELFOSABI_FREEBSD, .machine = EM_X86_64, Modified: projects/pnfs-planb-server-stable11/sys/amd64/amd64/genassym.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/amd64/genassym.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/amd64/genassym.c Fri Aug 25 23:09:11 2017 (r322911) @@ -111,12 +111,10 @@ ASSYM(PML4SHIFT, PML4SHIFT); ASSYM(val_KPDPI, KPDPI); ASSYM(val_KPML4I, KPML4I); ASSYM(val_PML4PML4I, PML4PML4I); -ASSYM(USRSTACK, USRSTACK); ASSYM(VM_MAXUSER_ADDRESS, VM_MAXUSER_ADDRESS); ASSYM(KERNBASE, KERNBASE); ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS); ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS); -ASSYM(MCLBYTES, MCLBYTES); ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15)); ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14)); Modified: projects/pnfs-planb-server-stable11/sys/amd64/amd64/initcpu.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/amd64/initcpu.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/amd64/initcpu.c Fri Aug 25 23:09:11 2017 (r322911) @@ -48,6 +48,11 @@ __FBSDID("$FreeBSD$"); static int hw_instruction_sse; SYSCTL_INT(_hw, OID_AUTO, instruction_sse, CTLFLAG_RD, &hw_instruction_sse, 0, "SIMD/MMX2 instructions available in CPU"); +static int lower_sharedpage_init; +int hw_lower_amd64_sharedpage; +SYSCTL_INT(_hw, OID_AUTO, lower_amd64_sharedpage, CTLFLAG_RDTUN, + &hw_lower_amd64_sharedpage, 0, + "Lower sharedpage to work around Ryzen issue with executing code near the top of user memory"); /* * -1: automatic (default) * 0: keep enable CLFLUSH @@ -120,6 +125,28 @@ init_amd(void) msr = rdmsr(0xc0011020); msr |= (uint64_t)1 << 15; wrmsr(0xc0011020, msr); + } + } + + /* + * Work around a problem on Ryzen that is triggered by executing + * code near the top of user memory, in our case the signal + * trampoline code in the shared page on amd64. + * + * This function is executed once for the BSP before tunables take + * effect so the value determined here can be overridden by the + * tunable. This function is then executed again for each AP and + * also on resume. Set a flag the first time so that value set by + * the tunable is not overwritten. + * + * The stepping and/or microcode versions should be checked after + * this issue is fixed by AMD so that we don't use this mode if not + * needed. + */ + if (lower_sharedpage_init == 0) { + lower_sharedpage_init = 1; + if (CPUID_TO_FAMILY(cpu_id) == 0x17) { + hw_lower_amd64_sharedpage = 1; } } } Modified: projects/pnfs-planb-server-stable11/sys/amd64/amd64/machdep.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/amd64/machdep.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/amd64/machdep.c Fri Aug 25 23:09:11 2017 (r322911) @@ -1544,6 +1544,9 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) kmdp = init_ops.parse_preload_data(modulep); + identify_cpu(); + identify_hypervisor(); + /* Init basic tunables, hz etc */ init_param1(); @@ -1648,7 +1651,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) != NULL) vty_set_preferred(VTY_VT); - identify_cpu(); /* Final stage of CPU initialization */ + finishidentcpu(); /* Final stage of CPU initialization */ initializecpu(); /* Initialize CPU registers */ initializecpucache(); Modified: projects/pnfs-planb-server-stable11/sys/amd64/amd64/pmap.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/amd64/pmap.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/amd64/pmap.c Fri Aug 25 23:09:11 2017 (r322911) @@ -430,8 +430,15 @@ static struct lock_object invl_gen_ts = { .lo_name = "invlts", }; +static bool +pmap_not_in_di(void) +{ + + return (curthread->td_md.md_invl_gen.gen == 0); +} + #define PMAP_ASSERT_NOT_IN_DI() \ - KASSERT(curthread->td_md.md_invl_gen.gen == 0, ("DI already started")) + KASSERT(pmap_not_in_di(), ("DI already started")) /* * Start a new Delayed Invalidation (DI) block of code, executed by @@ -2200,12 +2207,14 @@ static __inline void pmap_free_zero_pages(struct spglist *free) { vm_page_t m; + int count; - while ((m = SLIST_FIRST(free)) != NULL) { + for (count = 0; (m = SLIST_FIRST(free)) != NULL; count++) { SLIST_REMOVE_HEAD(free, plinks.s.ss); /* Preserve the page's PG_ZERO setting. */ vm_page_free_toq(m); } + atomic_subtract_int(&vm_cnt.v_wire_count, count); } /* @@ -2311,13 +2320,6 @@ _pmap_unwire_ptp(pmap_t pmap, vm_offset_t va, vm_page_ pmap_unwire_ptp(pmap, va, pdppg, free); } - /* - * This is a release store so that the ordinary store unmapping - * the page table page is globally performed before TLB shoot- - * down is begun. - */ - atomic_subtract_rel_int(&vm_cnt.v_wire_count, 1); - /* * Put page on a list so that it is released after * *ALL* TLB shootdown is done @@ -2852,6 +2854,19 @@ SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG "Current number of spare pv entries"); #endif +static void +reclaim_pv_chunk_leave_pmap(pmap_t pmap, pmap_t locked_pmap, bool start_di) +{ + + if (pmap == NULL) + return; + pmap_invalidate_all(pmap); + if (pmap != locked_pmap) + PMAP_UNLOCK(pmap); + if (start_di) + pmap_delayed_invl_finished(); +} + /* * We are in a serious low memory condition. Resort to * drastic measures to free some pages so we can allocate @@ -2879,6 +2894,7 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l struct spglist free; uint64_t inuse; int bit, field, freed; + bool start_di; PMAP_LOCK_ASSERT(locked_pmap, MA_OWNED); KASSERT(lockp != NULL, ("reclaim_pv_chunk: lockp is NULL")); @@ -2887,19 +2903,21 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l PG_G = PG_A = PG_M = PG_RW = 0; SLIST_INIT(&free); TAILQ_INIT(&new_tail); - pmap_delayed_invl_started(); + + /* + * A delayed invalidation block should already be active if + * pmap_advise() or pmap_remove() called this function by way + * of pmap_demote_pde_locked(). + */ + start_di = pmap_not_in_di(); + mtx_lock(&pv_chunks_mutex); while ((pc = TAILQ_FIRST(&pv_chunks)) != NULL && SLIST_EMPTY(&free)) { TAILQ_REMOVE(&pv_chunks, pc, pc_lru); mtx_unlock(&pv_chunks_mutex); if (pmap != pc->pc_pmap) { - if (pmap != NULL) { - pmap_invalidate_all(pmap); - if (pmap != locked_pmap) - PMAP_UNLOCK(pmap); - } - pmap_delayed_invl_finished(); - pmap_delayed_invl_started(); + reclaim_pv_chunk_leave_pmap(pmap, locked_pmap, + start_di); pmap = pc->pc_pmap; /* Avoid deadlock and lock recursion. */ if (pmap > locked_pmap) { @@ -2916,6 +2934,8 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l PG_A = pmap_accessed_bit(pmap); PG_M = pmap_modified_bit(pmap); PG_RW = pmap_rw_bit(pmap); + if (start_di) + pmap_delayed_invl_started(); } /* @@ -2990,18 +3010,12 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l } TAILQ_CONCAT(&pv_chunks, &new_tail, pc_lru); mtx_unlock(&pv_chunks_mutex); - if (pmap != NULL) { - pmap_invalidate_all(pmap); - if (pmap != locked_pmap) - PMAP_UNLOCK(pmap); - } - pmap_delayed_invl_finished(); + reclaim_pv_chunk_leave_pmap(pmap, locked_pmap, start_di); if (m_pc == NULL && !SLIST_EMPTY(&free)) { m_pc = SLIST_FIRST(&free); SLIST_REMOVE_HEAD(&free, plinks.s.ss); /* Recycle a freed page table page. */ m_pc->wire_count = 1; - atomic_add_int(&vm_cnt.v_wire_count, 1); } pmap_free_zero_pages(&free); return (m_pc); @@ -3666,7 +3680,6 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t *pdq, vm_offse ("pmap_remove_pde: pte page wire count error")); mpte->wire_count = 0; pmap_add_delayed_free_list(mpte, free, FALSE); - atomic_subtract_int(&vm_cnt.v_wire_count, 1); } } return (pmap_unuse_pt(pmap, sva, *pmap_pdpe(pmap, sva), free)); @@ -4062,6 +4075,26 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t PG_RW = pmap_rw_bit(pmap); anychanged = FALSE; + /* + * Although this function delays and batches the invalidation + * of stale TLB entries, it does not need to call + * pmap_delayed_invl_started() and + * pmap_delayed_invl_finished(), because it does not + * ordinarily destroy mappings. Stale TLB entries from + * protection-only changes need only be invalidated before the + * pmap lock is released, because protection-only changes do + * not destroy PV entries. Even operations that iterate over + * a physical page's PV list of mappings, like + * pmap_remove_write(), acquire the pmap lock for each + * mapping. Consequently, for protection-only changes, the + * pmap lock suffices to synchronize both page table and TLB + * updates. + * + * This function only destroys a mapping if pmap_demote_pde() + * fails. In that case, stale TLB entries are immediately + * invalidated. + */ + PMAP_LOCK(pmap); for (; sva < eva; sva = va_next) { @@ -5385,6 +5418,15 @@ pmap_page_is_mapped(vm_page_t m) * no processor is currently accessing the user address space. In * particular, a page table entry's dirty bit won't change state once * this function starts. + * + * Although this function destroys all of the pmap's managed, + * non-wired mappings, it can delay and batch the invalidation of TLB + * entries without calling pmap_delayed_invl_started() and + * pmap_delayed_invl_finished(). Because the pmap is not active on + * any other processor, none of these TLB entries will ever be used + * before their eventual invalidation. Consequently, there is no need + * for either pmap_remove_all() or pmap_remove_write() to wait for + * that eventual TLB invalidation. */ void pmap_remove_pages(pmap_t pmap) @@ -5531,7 +5573,6 @@ pmap_remove_pages(pmap_t pmap) ("pmap_remove_pages: pte page wire count error")); mpte->wire_count = 0; pmap_add_delayed_free_list(mpte, &free, FALSE); - atomic_subtract_int(&vm_cnt.v_wire_count, 1); } } else { pmap_resident_count_dec(pmap, 1); Modified: projects/pnfs-planb-server-stable11/sys/amd64/amd64/trap.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/amd64/trap.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/amd64/trap.c Fri Aug 25 23:09:11 2017 (r322911) @@ -166,16 +166,22 @@ trap(struct trapframe *frame) #ifdef KDTRACE_HOOKS struct reg regs; #endif - struct thread *td = curthread; - struct proc *p = td->td_proc; + ksiginfo_t ksi; + struct thread *td; + struct proc *p; + register_t addr; #ifdef KDB register_t dr6; #endif - int i = 0, ucode = 0; + int i, ucode; u_int type; - register_t addr = 0; - ksiginfo_t ksi; + td = curthread; + p = td->td_proc; + i = 0; + ucode = 0; + addr = 0; + PCPU_INC(cnt.v_trap); type = frame->tf_trapno; @@ -370,7 +376,7 @@ trap(struct trapframe *frame) #ifdef DEV_ISA case T_NMI: nmi_handle_intr(type, frame); - break; + goto out; #endif /* DEV_ISA */ case T_OFLOW: /* integer overflow fault */ @@ -408,7 +414,7 @@ trap(struct trapframe *frame) if (dtrace_return_probe_ptr != NULL && dtrace_return_probe_ptr(®s) == 0) goto out; - break; + goto userout; #endif } } else { @@ -816,10 +822,24 @@ dblfault_handler(struct trapframe *frame) if (dtrace_doubletrap_func != NULL) (*dtrace_doubletrap_func)(); #endif - printf("\nFatal double fault\n"); - printf("rip = 0x%lx\n", frame->tf_rip); - printf("rsp = 0x%lx\n", frame->tf_rsp); - printf("rbp = 0x%lx\n", frame->tf_rbp); + printf("\nFatal double fault\n" + "rip %#lx rsp %#lx rbp %#lx\n" + "rax %#lx rdx %#lx rbx %#lx\n" + "rcx %#lx rsi %#lx rdi %#lx\n" + "r8 %#lx r9 %#lx r10 %#lx\n" + "r11 %#lx r12 %#lx r13 %#lx\n" + "r14 %#lx r15 %#lx rflags %#lx\n" + "cs %#lx ss %#lx ds %#hx es %#hx fs %#hx gs %#hx\n" + "fsbase %#lx gsbase %#lx kgsbase %#lx\n", + frame->tf_rip, frame->tf_rsp, frame->tf_rbp, + frame->tf_rax, frame->tf_rdx, frame->tf_rbx, + frame->tf_rcx, frame->tf_rdi, frame->tf_rsi, + frame->tf_r8, frame->tf_r9, frame->tf_r10, + frame->tf_r11, frame->tf_r12, frame->tf_r13, + frame->tf_r14, frame->tf_r15, frame->tf_rflags, + frame->tf_cs, frame->tf_ss, frame->tf_ds, frame->tf_es, + frame->tf_fs, frame->tf_gs, + rdmsr(MSR_FSBASE), rdmsr(MSR_GSBASE), rdmsr(MSR_KGSBASE)); #ifdef SMP /* two separate prints in case of a trap on an unmapped page */ printf("cpuid = %d; ", PCPU_GET(cpuid)); Modified: projects/pnfs-planb-server-stable11/sys/amd64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Fri Aug 25 23:09:11 2017 (r322911) @@ -199,7 +199,8 @@ static struct sysentvec cloudabi64_elf_sysvec = { .sv_coredump = elf64_coredump, .sv_pagesize = PAGE_SIZE, .sv_minuser = VM_MIN_ADDRESS, - .sv_maxuser = VM_MAXUSER_ADDRESS, + /* Keep top page reserved to work around AMD Ryzen stability issues. */ + .sv_maxuser = VM_MAXUSER_ADDRESS - PAGE_SIZE, .sv_stackprot = VM_PROT_READ | VM_PROT_WRITE, .sv_copyout_strings = cloudabi64_copyout_strings, .sv_setregs = cloudabi64_proc_setregs, Modified: projects/pnfs-planb-server-stable11/sys/amd64/include/cpufunc.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/include/cpufunc.h Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/include/cpufunc.h Fri Aug 25 23:09:11 2017 (r322911) @@ -651,6 +651,38 @@ load_gs(u_short sel) } #endif +static __inline uint64_t +rdfsbase(void) +{ + uint64_t x; + + __asm __volatile("rdfsbase %0" : "=r" (x)); + return (x); +} + +static __inline void +wrfsbase(uint64_t x) +{ + + __asm __volatile("wrfsbase %0" : : "r" (x)); +} + +static __inline uint64_t +rdgsbase(void) +{ + uint64_t x; + + __asm __volatile("rdgsbase %0" : "=r" (x)); + return (x); +} + +static __inline void +wrgsbase(uint64_t x) +{ + + __asm __volatile("wrgsbase %0" : : "r" (x)); +} + static __inline void bare_lgdt(struct region_descriptor *addr) { Modified: projects/pnfs-planb-server-stable11/sys/amd64/include/md_var.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/include/md_var.h Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/include/md_var.h Fri Aug 25 23:09:11 2017 (r322911) @@ -34,11 +34,14 @@ #include -extern uint64_t *vm_page_dump; +extern uint64_t *vm_page_dump; +extern int hw_lower_amd64_sharedpage; struct savefpu; +struct sysentvec; void amd64_db_resume_dbreg(void); +void amd64_lower_shared_page(struct sysentvec *); void amd64_syscall(struct thread *td, int traced); void doreti_iret(void) __asm(__STRING(doreti_iret)); void doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault)); Modified: projects/pnfs-planb-server-stable11/sys/amd64/linux/linux_sysvec.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/amd64/linux/linux_sysvec.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/amd64/linux/linux_sysvec.c Fri Aug 25 23:09:11 2017 (r322911) @@ -833,6 +833,8 @@ static void linux_vdso_install(void *param) { + amd64_lower_shared_page(&elf_linux_sysvec); + linux_szsigcode = (&_binary_linux_locore_o_end - &_binary_linux_locore_o_start); Modified: projects/pnfs-planb-server-stable11/sys/arm64/arm64/debug_monitor.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/arm64/arm64/debug_monitor.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/arm64/arm64/debug_monitor.c Fri Aug 25 23:09:11 2017 (r322911) @@ -453,15 +453,12 @@ dbg_monitor_init(void) { u_int i; - /* Clear OS lock */ - WRITE_SPECIALREG(OSLAR_EL1, 0); - /* Find out many breakpoints and watchpoints we can use */ dbg_watchpoint_num = ((READ_SPECIALREG(ID_AA64DFR0_EL1) >> 20) & 0xf) + 1; dbg_breakpoint_num = ((READ_SPECIALREG(ID_AA64DFR0_EL1) >> 12) & 0xf) + 1; if (bootverbose && PCPU_GET(cpuid) == 0) { - db_printf("%d watchpoints and %d breakpoints supported\n", + printf("%d watchpoints and %d breakpoints supported\n", dbg_watchpoint_num, dbg_breakpoint_num); } Modified: projects/pnfs-planb-server-stable11/sys/arm64/arm64/machdep.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/arm64/arm64/machdep.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/arm64/arm64/machdep.c Fri Aug 25 23:09:11 2017 (r322911) @@ -213,7 +213,8 @@ fill_fpregs(struct thread *td, struct fpreg *regs) * If we have just been running VFP instructions we will * need to save the state to memcpy it below. */ - vfp_save_state(td, pcb); + if (td == curthread) + vfp_save_state(td, pcb); memcpy(regs->fp_q, pcb->pcb_vfp, sizeof(regs->fp_q)); regs->fp_cr = pcb->pcb_fpcr; @@ -242,22 +243,24 @@ int fill_dbregs(struct thread *td, struct dbreg *regs) { - panic("ARM64TODO: fill_dbregs"); + printf("ARM64TODO: fill_dbregs"); + return (EDOOFUS); } int set_dbregs(struct thread *td, struct dbreg *regs) { - panic("ARM64TODO: set_dbregs"); + printf("ARM64TODO: set_dbregs"); + return (EDOOFUS); } int ptrace_set_pc(struct thread *td, u_long addr) { - panic("ARM64TODO: ptrace_set_pc"); - return (0); + printf("ARM64TODO: ptrace_set_pc"); + return (EDOOFUS); } int @@ -967,11 +970,24 @@ initarm(struct arm64_bootparams *abp) mutex_init(); init_param2(physmem); - dbg_monitor_init(); + dbg_init(); kdb_init(); pan_enable(); early_boot = 0; +} + +void +dbg_init(void) +{ + + /* Clear OS lock */ + WRITE_SPECIALREG(OSLAR_EL1, 0); + + /* This permits DDB to use debug registers for watchpoints. */ + dbg_monitor_init(); + + /* TODO: Eventually will need to initialize debug registers here. */ } #ifdef DDB Modified: projects/pnfs-planb-server-stable11/sys/arm64/arm64/mp_machdep.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/arm64/arm64/mp_machdep.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/arm64/arm64/mp_machdep.c Fri Aug 25 23:09:11 2017 (r322911) @@ -51,7 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #include #include #ifdef VFP @@ -277,7 +277,7 @@ init_secondary(uint64_t cpu) vfp_init(); #endif - dbg_monitor_init(); + dbg_init(); pan_enable(); /* Enable interrupts */ Modified: projects/pnfs-planb-server-stable11/sys/arm64/include/machdep.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/arm64/include/machdep.h Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/arm64/include/machdep.h Fri Aug 25 23:09:11 2017 (r322911) @@ -40,6 +40,7 @@ struct arm64_bootparams { extern vm_paddr_t physmap[]; extern u_int physmap_idx; +void dbg_init(void); void initarm(struct arm64_bootparams *); extern void (*pagezero)(void *); Modified: projects/pnfs-planb-server-stable11/sys/boot/forth/loader.conf ============================================================================== --- projects/pnfs-planb-server-stable11/sys/boot/forth/loader.conf Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/boot/forth/loader.conf Fri Aug 25 23:09:11 2017 (r322911) @@ -70,9 +70,9 @@ ram_blacklist_type="ram_blacklist" # Required for the ### Initial memory disk settings ########################### ############################################################## -#initmd_load="YES" # The "initmd" prefix is arbitrary. -#initmd_type="md_image" # Create md(4) disk at boot. -#initmd_name="/boot/root.img" # Path to a file containing the image. +#mdroot_load="YES" # The "mdroot" prefix is arbitrary. +#mdroot_type="md_image" # Create md(4) disk at boot. +#mdroot_name="/boot/root.img" # Path to a file containing the image. #rootdev="ufs:/dev/md0" # Set the root filesystem to md(4) device. Modified: projects/pnfs-planb-server-stable11/sys/boot/geli/Makefile ============================================================================== --- projects/pnfs-planb-server-stable11/sys/boot/geli/Makefile Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/boot/geli/Makefile Fri Aug 25 23:09:11 2017 (r322911) @@ -28,23 +28,23 @@ SRCS+= bcmp.c bcopy.c bzero.c SRCS+= pwgets.c # sha256 and sha512 from sys/crypto -.PATH: ${.CURDIR}/../../crypto/sha2 +.PATH: ${SRCTOP}/sys/crypto/sha2 CFLAGS+= -DWEAK_REFS SRCS+= sha256c.c sha512c.c # md5 from libmd -.PATH: ${.CURDIR}/../../../lib/libmd +.PATH: ${SRCTOP}/lib/libmd SRCS+= md5c.c # AES implementation from sys/crypto -.PATH: ${.CURDIR}/../../crypto/rijndael +.PATH: ${SRCTOP}/sys/crypto/rijndael CFLAGS+= -I${.CURDIR}/../../ # Remove asserts CFLAGS+= -DNDEBUG SRCS+= rijndael-alg-fst.c rijndael-api-fst.c rijndael-api.c # local GELI Implementation -.PATH: ${.CURDIR}/../../geom/eli +.PATH: ${SRCTOP}/sys/geom/eli CFLAGS+= -D_STAND SRCS+= geliboot_crypto.c g_eli_hmac.c g_eli_key.c g_eli_key_cache.c pkcs5v2.c Modified: projects/pnfs-planb-server-stable11/sys/cam/ata/ata_da.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/cam/ata/ata_da.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/cam/ata/ata_da.c Fri Aug 25 23:09:11 2017 (r322911) @@ -1288,7 +1288,7 @@ adaasync(void *callback_arg, u_int32_t code, xpt_action((union ccb *)&cgd); if (ADA_RA >= 0 && softc->flags & ADA_FLAG_CAN_RAHEAD) softc->state = ADA_STATE_RAHEAD; - else if (ADA_WC >= 0 && softc->flags & ADA_FLAG_CAN_RAHEAD) + else if (ADA_WC >= 0 && softc->flags & ADA_FLAG_CAN_WCACHE) softc->state = ADA_STATE_WCACHE; else if ((softc->flags & ADA_FLAG_CAN_LOG) && (softc->zone_mode != ADA_ZONE_NONE)) Modified: projects/pnfs-planb-server-stable11/sys/cam/ctl/scsi_ctl.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/cam/ctl/scsi_ctl.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/cam/ctl/scsi_ctl.c Fri Aug 25 23:09:11 2017 (r322911) @@ -1009,7 +1009,8 @@ ctlfe_requeue_ccb(struct cam_periph *periph, union ccb * target/lun. Reset the target and LUN fields back to the wildcard * values before we send them back down to the SIM. */ - xpt_setup_ccb(&ccb->ccb_h, periph->path, CAM_PRIORITY_NONE); + xpt_setup_ccb_flags(&ccb->ccb_h, periph->path, CAM_PRIORITY_NONE, + ccb->ccb_h.flags); xpt_action(ccb); } Modified: projects/pnfs-planb-server-stable11/sys/compat/linuxkpi/common/include/linux/compiler.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/compat/linuxkpi/common/include/linux/compiler.h Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/compat/linuxkpi/common/include/linux/compiler.h Fri Aug 25 23:09:11 2017 (r322911) @@ -86,9 +86,10 @@ } while (0) #define READ_ONCE(x) ({ \ - __typeof(x) __var; \ - barrier(); \ - __var = ACCESS_ONCE(x); \ + __typeof(x) __var = ({ \ + barrier(); \ + ACCESS_ONCE(x); \ + }); \ barrier(); \ __var; \ }) Modified: projects/pnfs-planb-server-stable11/sys/conf/files ============================================================================== --- projects/pnfs-planb-server-stable11/sys/conf/files Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/conf/files Fri Aug 25 23:09:11 2017 (r322911) @@ -340,6 +340,7 @@ contrib/dev/acpica/components/dispatcher/dsmethod.c op contrib/dev/acpica/components/dispatcher/dsmthdat.c optional acpi contrib/dev/acpica/components/dispatcher/dsobject.c optional acpi contrib/dev/acpica/components/dispatcher/dsopcode.c optional acpi +contrib/dev/acpica/components/dispatcher/dspkginit.c optional acpi contrib/dev/acpica/components/dispatcher/dsutils.c optional acpi contrib/dev/acpica/components/dispatcher/dswexec.c optional acpi contrib/dev/acpica/components/dispatcher/dswload.c optional acpi @@ -477,6 +478,7 @@ contrib/dev/acpica/components/utilities/utobject.c opt contrib/dev/acpica/components/utilities/utosi.c optional acpi contrib/dev/acpica/components/utilities/utownerid.c optional acpi contrib/dev/acpica/components/utilities/utpredef.c optional acpi +contrib/dev/acpica/components/utilities/utresdecode.c optional acpi acpi_debug contrib/dev/acpica/components/utilities/utresrc.c optional acpi contrib/dev/acpica/components/utilities/utstate.c optional acpi contrib/dev/acpica/components/utilities/utstring.c optional acpi @@ -3329,9 +3331,12 @@ geom/virstor/binstream.c optional geom_virstor geom/virstor/g_virstor.c optional geom_virstor geom/virstor/g_virstor_md.c optional geom_virstor geom/zero/g_zero.c optional geom_zero +fs/ext2fs/ext2_acl.c optional ext2fs fs/ext2fs/ext2_alloc.c optional ext2fs fs/ext2fs/ext2_balloc.c optional ext2fs fs/ext2fs/ext2_bmap.c optional ext2fs +fs/ext2fs/ext2_csum.c optional ext2fs +fs/ext2fs/ext2_extattr.c optional ext2fs fs/ext2fs/ext2_extents.c optional ext2fs fs/ext2fs/ext2_inode.c optional ext2fs fs/ext2fs/ext2_inode_cnv.c optional ext2fs @@ -4287,6 +4292,8 @@ dev/mlx5/mlx5_core/mlx5_alloc.c optional mlx5 pci \ dev/mlx5/mlx5_core/mlx5_cmd.c optional mlx5 pci \ compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_cq.c optional mlx5 pci \ + compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_diagnostics.c optional mlx5 pci \ compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_eq.c optional mlx5 pci \ compile-with "${OFED_C}" Modified: projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/changes.txt ============================================================================== --- projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/changes.txt Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/changes.txt Fri Aug 25 23:09:11 2017 (r322911) @@ -1,4 +1,286 @@ ---------------------------------------- +28 July 2017. Summary of changes for version 20170728: + + +1) ACPICA kernel-resident subsystem: + +Fixed a regression seen with small resource descriptors that could cause +an inadvertent AE_AML_NO_RESOURCE_END_TAG exception. + +AML interpreter: Implemented a new feature that allows forward references +from individual named references within package objects that are +contained within blocks of "module-level code". This provides +compatibility with other ACPI implementations and supports existing +firmware that depends on this feature. Example: + + Name (ABCD, 1) + If (ABCD) /* An If() at module-level */ + { + Name (PKG1, Package() + { + INT1 /* Forward reference to object INT1 +*/ + }) + Name (INT1, 0x1234) + } + +AML Interpreter: Fixed a problem with the Alias() operator where aliases +to some ASL objects were not handled properly. Objects affected are: +Mutex, Event, and OperationRegion. + +AML Debugger: Enhanced to properly handle AML Alias objects. These +objects have one level of indirection which was not fully supported by +the debugger. + +Table Manager: Added support to detect and ignore duplicate SSDTs within +the XSDT/RSDT. This error in the XSDT has been seen in the field. + +EFI and EDK2 support: + Enabled /WX flag for MSVC builds + Added support for AcpiOsStall, AcpiOsSleep, and AcpiOsGetTimer + Added local support for 64-bit multiply and shift operations + Added support to compile acpidump.efi on Windows + Added OSL function stubs for interfaces not used under EFI + +Added additional support for the _DMA predefined name. _DMA returns a +buffer containing a resource template. This change add support within the +resource manager (AcpiWalkResourceBuffer) to walk and parse this list of +resource descriptors. Lorenzo Pieralisi + + +2) iASL Compiler/Disassembler and Tools: + +iASL: Fixed a problem where the internal input line buffer(s) could +overflow if there are very long lines in the input ASL source code file. +Implemented buffer management that automatically increases the size of +the buffers as necessary. + +iASL: Added an option (-vx) to "expect" particular remarks, warnings and +errors. If the specified exception is not raised during compilation, the +compiler emits an error. This is intended to support the ASL test suite, +but may be useful in other contexts. + +iASL: Implemented a new predefined macro, __METHOD__, which returns a +string containing the name of the current control method that is being +compiled. + +iASL: Implemented debugger and table compiler support for the SDEI ACPI +table (Software Delegated Exception Interface). James Morse + + +Unix/Linux makefiles: Added an option to disable compile optimizations. +The disable occurs when the NOOPT flag is set to TRUE. +theracermaster@gmail.com + +Acpidump: Added support for multiple DSDT and FACS tables. This can occur +when there are different tables for 32-bit versus 64-bit. + +Enhanced error reporting for the ASL test suite (ASLTS) by removing +unnecessary/verbose text, and emit the actual line number where an error +has occurred. These changes are intended to improve the usefulness of the +test suite. + +---------------------------------------- +29 June 2017. Summary of changes for version 20170629: + + +1) ACPICA kernel-resident subsystem: + +Tables: Implemented a deferred ACPI table verification. This is useful +for operating systems where the tables cannot be verified in the early +initialization stage due to early memory mapping limitations on some +architectures. Lv Zheng. + +Tables: Removed the signature validation for dynamically loaded tables. +Provides compatibility with other ACPI implementations. Previously, only +SSDT tables were allowed, as per the ACPI specification. Now, any table +signature can be used via the Load() operator. Lv Zheng. + +Tables: Fixed several mutex issues that could cause errors during table +acquisition. Lv Zheng. + +Tables: Fixed a problem where an ACPI warning could be generated if a +null pointer was passed to the AcpiPutTable interface. Lv Zheng. + +Tables: Added a mechanism to handle imbalances for the AcpiGetTable and +AcpiPutTable interfaces. This applies to the "late stage" table loading +when the use of AcpiPutTable is no longer required (since the system +memory manager is fully running and available). Lv Zheng. + +Fixed/Reverted a regression during processing of resource descriptors +that contain only a single EndTag. Fixes an AE_AML_NO_RESOURCE_END_TAG +exception in this case. + +Headers: IORT/SMMU support: Updated the SMMU models for Revision C of the +I/O Remapping specification. Robin Murphy + +Interpreter: Fixed a possible fault if an Alias operator with an invalid +or duplicate target is encountered during Alias creation in +AcpiExCreateAlias. Alex James + +Added an option to use designated initializers for function pointers. +Kees Cook + + +2) iASL Compiler/Disassembler and Tools: + +iASL: Allow compilation of External declarations with target pathnames +that refer to existing named objects within the table. Erik Schmauss. + +iASL: Fixed a regression when compiling FieldUnits. Fixes an error if a +FieldUnit name also is declared via External in the same table. Erik +Schmauss. + +iASL: Allow existing scope names within pathnames used in External +statements. For example: + External (ABCD.EFGH) // ABCD exists, but EFGH is truly external + Device (ABCD) + +iASL: IORT ACPI table: Implemented changes required to decode the new +Proximity Domain for the SMMUv3 IORT. Disassembler and Data Table +compiler. Ganapatrao Kulkarni + +Disassembler: Don't abort disassembly on errors from External() +statements. Erik Schmauss. + +Disassembler: fixed a possible fault when one of the Create*Field +operators references a Resource Template. ACPICA Bugzilla 1396. + +iASL: In the source code, resolved some naming inconsistences across the +parsing support. Fixes confusion between "Parse Op" and "Parse Node". +Adds a new file, aslparseop.c + +---------------------------------------- +31 May 2017. Summary of changes for version 20170531: + + +0) ACPI 6.2 support: + +The ACPI specification version 6.2 has been released and is available at +http://uefi.org/specifications + +This version of ACPICA fully supports the ACPI 6.2 specification. Changes +are summarized below. + +New ACPI tables (Table Compiler/Disassembler/Templates): + HMAT (Heterogeneous Memory Attributes Table) + WSMT (Windows SMM Security Mitigation Table) + PPTT (Processor Properties Topology Table) + +New subtables for existing ACPI tables: + HEST (New subtable, Arch-deferred machine check) + SRAT (New subtable, Arch-specific affinity structure) + PCCT (New subtables, Extended PCC subspaces (types 3 and 4)) + +Simple updates for existing ACPI tables: + BGRT (two new flag bits) + HEST (New bit defined for several subtables, GHES_ASSIST) + +New Resource Descriptors and Resource macros (Compiler/Disassembler): + PinConfig() + PinFunction() + PinGroup() + PinGroupConfig() + PinGroupFunction() + New type for hardware error notification (section 18.3.2.9) + +New predefined names/methods (Compiler/Interpreter): + _HMA (Heterogeneous Memory Attributes) + _LSI (Label Storage Information) + _LSR (Label Storage Read) + _LSW (Label Storage Write) + +ASL grammar/macro changes (Compiler): + For() ASL macro, implemented with the AML while operator + Extensions to Concatenate operator + Support for multiple definition blocks in same ASL file + Clarification for Buffer operator + Allow executable AML code underneath all scopes (Devices, etc.) + Clarification/change for the _OSI return value + ASL grammar update for reference operators + Allow a zero-length string for AML filename in DefinitionBlock + +Miscellaneous: + New device object notification value + Remove a notify value (0x0C) for graceful shutdown + New UUIDs for processor/cache properties and + physical package property + New _HID, ACPI0014 (Wireless Power Calibration Device) + + +1) ACPICA kernel-resident subsystem: + +Added support to disable ACPI events on hardware-reduced platforms. +Eliminates error messages of the form "Could not enable fixed event". Lv +Zheng + +Fixed a problem using Device/Thermal objects with the ObjectType and +DerefOf ASL operators. This support had not been fully/properly +implemented. + +Fixed a problem where if a Buffer object containing a resource template +was longer than the actual resource template, an error was generated -- +even though the AML is legal. This case has been seen in the field. + +Fixed a problem with the header definition of the MADT PCAT_COMPAT flag. +The values for DUAL_PIC and MULTIPLE_APIC were reversed. + +Added header file changes for the TPM2 ACPI table. Update to new version +of the TCG specification. Adds a new TPM2 subtable for ARM SMC. + +Exported the external interfaces AcpiAcquireMutex and AcpiReleaseMutex. +These interfaces are intended to be used only in conjunction with the +predefined _DLM method (Device Lock Method). "This object appears in a +device scope when AML access to the device must be synchronized with the +OS environment". + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and +has a much larger code and data size. + + Current Release: + Non-Debug Version: 143.1K Code, 60.0K Data, 203.1K Total + Debug Version: 204.0K Code, 84.3K Data, 288.3K Total + Previous Release: + Non-Debug Version: 141.7K Code, 58.5K Data, 200.2K Total + Debug Version: 207.5K Code, 82.7K Data, 290.2K Total + + +2) iASL Compiler/Disassembler and Tools: + +iASL: Fixed a problem where an External() declaration could not refer to +a Field Unit. Erik Schmauss. + +Disassembler: Improved support for the Switch/Case operators. This +feature will disassemble AML code back to the original Switch operators +when possible, instead of an If..Else sequence. David Box + +iASL and disassembler: Improved the handling of multiple extraneous +parentheses for both ASL input and disassembled ASL output. + +Improved the behavior of the iASL compiler and disassembler to detect +improper use of external declarations + +Disassembler: Now aborts immediately upon detection of an unknown AML +opcode. The AML parser has no real way to recover from this, and can +result in the creation of an ill-formed parse tree that causes errors +later during the disassembly. + +All tools: Fixed a problem where the Unix application OSL did not handle +control-c correctly. For example, a control-c could incorrectly wake the +debugger. + +AcpiExec: Improved the Control-C handling and added a handler for +segmentation faults (SIGSEGV). Supports both Windows and Unix-like +environments. + +Reduced the verbosity of the generic unix makefiles. Previously, each +compilation displayed the full set of compiler options. This has been +eliminated as the options are easily inspected within the makefiles. Each +compilation now results in a single line of output. + +---------------------------------------- 03 March 2017. Summary of changes for version 20170303: Modified: projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/acfileio.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/acfileio.c Fri Aug 25 22:58:54 2017 (r322910) +++ projects/pnfs-planb-server-stable11/sys/contrib/dev/acpica/common/acfileio.c Fri Aug 25 23:09:11 2017 (r322911) @@ -175,6 +175,36 @@ AcCheckTextModeCorruption ( /******************************************************************************* * + * FUNCTION: AcDeleteTableList + * + * PARAMETERS: ListHead - List to delete + * *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***