Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/bouyer-xenpvh]: src/sys/uvm/pmap Sync with HEAD
details: https://anonhg.NetBSD.org/src/rev/c0362ebbf15d
branches: bouyer-xenpvh
changeset: 982953:c0362ebbf15d
user: bouyer <bouyer%NetBSD.org@localhost>
date: Mon Apr 20 11:28:50 2020 +0000
description:
Sync with HEAD
diffstat:
sys/arch/aarch64/aarch64/aarch64_machdep.c | 41 +-
sys/arch/aarch64/aarch64/cpufunc.c | 48 +-
sys/arch/aarch64/aarch64/cpuswitch.S | 75 +-
sys/arch/aarch64/aarch64/db_machdep.c | 5 +-
sys/arch/aarch64/aarch64/db_trace.c | 7 +-
sys/arch/aarch64/aarch64/genassym.cf | 6 +-
sys/arch/aarch64/aarch64/locore.S | 12 +-
sys/arch/aarch64/aarch64/pmap.c | 7 +-
sys/arch/aarch64/aarch64/pmapboot.c | 7 +-
sys/arch/aarch64/aarch64/trap.c | 5 +-
sys/arch/aarch64/aarch64/vectors.S | 130 +-
sys/arch/aarch64/aarch64/vm_machdep.c | 15 +-
sys/arch/aarch64/conf/Makefile.aarch64 | 16 +-
sys/arch/aarch64/conf/files.aarch64 | 6 +-
sys/arch/aarch64/include/armreg.h | 27 +-
sys/arch/aarch64/include/asm.h | 20 +-
sys/arch/aarch64/include/cpufunc.h | 6 +-
sys/arch/aarch64/include/proc.h | 8 +-
sys/arch/acorn32/acorn32/rpc_machdep.c | 53 +-
sys/arch/acorn32/conf/EB7500ATX | 8 +-
sys/arch/acorn32/conf/GENERIC | 6 +-
sys/arch/acorn32/conf/INSTALL | 6 +-
sys/arch/acorn32/conf/LOWMEM_WSCONS | 4 +-
sys/arch/acorn32/conf/NC | 4 +-
sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c | 55 +-
sys/arch/alpha/include/asm.h | 6 +-
sys/arch/amd64/conf/ALL | 5 +-
sys/arch/amd64/conf/GENERIC | 8 +-
sys/arch/amd64/conf/Makefile.amd64 | 13 +-
sys/arch/amd64/conf/XEN3_DOMU | 5 +-
sys/arch/amd64/conf/XEN3_PVHVM | 5 +-
sys/arch/amd64/conf/std.xen | 6 +-
sys/arch/amd64/include/asan.h | 41 +-
sys/arch/amd64/include/asm.h | 6 +-
sys/arch/amd64/include/msan.h | 41 +-
sys/arch/amd64/include/types.h | 3 +-
sys/arch/arm/arm/bus_stubs.c | 104 +
sys/arch/arm/arm32/arm32_machdep.c | 12 +-
sys/arch/arm/arm32/db_machdep.c | 95 +-
sys/arch/arm/arm32/pmap.c | 348 +-
sys/arch/arm/arm32/vm_machdep.c | 44 +-
sys/arch/arm/at91/at91bus.c | 25 +-
sys/arch/arm/conf/files.arm | 11 +-
sys/arch/arm/cortex/gic.c | 8 +-
sys/arch/arm/cortex/gicv3.c | 10 +-
sys/arch/arm/imx/imx23_digfilt.c | 4 +-
sys/arch/arm/include/arm32/pmap.h | 4 +-
sys/arch/arm/include/asm.h | 21 +-
sys/arch/arm/include/bus_defs.h | 8 +-
sys/arch/arm/include/bus_funcs.h | 36 +-
sys/arch/arm/omap/omap3_sdmareg.h | 4 +-
sys/arch/arm/omap/omap3_sdmavar.h | 4 +-
sys/arch/arm/omap/omapfbreg.h | 4 +-
sys/arch/arm/ti/omap3_dssreg.h | 4 +-
sys/arch/arm/xscale/pxa2x0_ac97.c | 7 +-
sys/arch/cats/cats/cats_machdep.c | 11 +-
sys/arch/cats/conf/GENERIC | 5 +-
sys/arch/cats/conf/INSTALL | 4 +-
sys/arch/evbarm/adi_brh/brh_machdep.c | 23 +-
sys/arch/evbarm/armadillo/armadillo9_machdep.c | 35 +-
sys/arch/evbarm/conf/ADI_BRH | 4 +-
sys/arch/evbarm/conf/ARMADAXP | 5 +-
sys/arch/evbarm/conf/ARMADILLO-IOT-G3 | 4 +-
sys/arch/evbarm/conf/ARMADILLO210 | 4 +-
sys/arch/evbarm/conf/ARMADILLO9 | 4 +-
sys/arch/evbarm/conf/BCM5301X | 5 +-
sys/arch/evbarm/conf/BCM56340 | 5 +-
sys/arch/evbarm/conf/CP3100 | 4 +-
sys/arch/evbarm/conf/CUBOX | 4 +-
sys/arch/evbarm/conf/CUBOX-I | 4 +-
sys/arch/evbarm/conf/DNS323 | 4 +-
sys/arch/evbarm/conf/DUOVERO | 4 +-
sys/arch/evbarm/conf/GEMINI | 4 +-
sys/arch/evbarm/conf/GEMINI_MASTER | 3 +-
sys/arch/evbarm/conf/GEMINI_SLAVE | 3 +-
sys/arch/evbarm/conf/GENERIC | 4 +-
sys/arch/evbarm/conf/GENERIC.common | 4 +-
sys/arch/evbarm/conf/GENERIC64 | 20 +-
sys/arch/evbarm/conf/GUMSTIX | 4 +-
sys/arch/evbarm/conf/HDL_G | 4 +-
sys/arch/evbarm/conf/HPT5325 | 4 +-
sys/arch/evbarm/conf/HUMMINGBOARD | 3 +-
sys/arch/evbarm/conf/IMX | 6 +-
sys/arch/evbarm/conf/IMX31LITE | 4 +-
sys/arch/evbarm/conf/IMX6UL-STARTER | 4 +-
sys/arch/evbarm/conf/INTEGRATOR | 4 +-
sys/arch/evbarm/conf/INTEGRATOR_CP | 4 +-
sys/arch/evbarm/conf/IQ31244 | 4 +-
sys/arch/evbarm/conf/IQ80310 | 4 +-
sys/arch/evbarm/conf/IQ80321 | 4 +-
sys/arch/evbarm/conf/IXDP425 | 4 +-
sys/arch/evbarm/conf/IXM1200 | 4 +-
sys/arch/evbarm/conf/IYONIX | 8 +-
sys/arch/evbarm/conf/KOBO | 4 +-
sys/arch/evbarm/conf/KUROBOX_PRO | 4 +-
sys/arch/evbarm/conf/KURONAS_X4 | 4 +-
sys/arch/evbarm/conf/LUBBOCK | 2 +-
sys/arch/evbarm/conf/MARVELL_NAS | 6 +-
sys/arch/evbarm/conf/MINI2440 | 4 +-
sys/arch/evbarm/conf/N900 | 5 +-
sys/arch/evbarm/conf/NAPPI | 4 +-
sys/arch/evbarm/conf/NETWALKER | 3 +-
sys/arch/evbarm/conf/NSLU2 | 4 +-
sys/arch/evbarm/conf/OMAP5EVM | 5 +-
sys/arch/evbarm/conf/OPENBLOCKS_A6 | 4 +-
sys/arch/evbarm/conf/OPENBLOCKS_AX3 | 4 +-
sys/arch/evbarm/conf/OSK5912 | 3 +-
sys/arch/evbarm/conf/PANDABOARD | 5 +-
sys/arch/evbarm/conf/PARALLELLA | 3 +-
sys/arch/evbarm/conf/PEPPER | 4 +-
sys/arch/evbarm/conf/RPI | 3 +-
sys/arch/evbarm/conf/SHEEVAPLUG | 4 +-
sys/arch/evbarm/conf/SMDK2410 | 4 +-
sys/arch/evbarm/conf/SMDK2800 | 4 +-
sys/arch/evbarm/conf/TEAMASA_NPWR | 4 +-
sys/arch/evbarm/conf/TEAMASA_NPWR_FC | 4 +-
sys/arch/evbarm/conf/TISDP2420 | 5 +-
sys/arch/evbarm/conf/TISDP2430 | 5 +-
sys/arch/evbarm/conf/TS7200 | 4 +-
sys/arch/evbarm/conf/TWINTAIL | 4 +-
sys/arch/evbarm/conf/VIPER | 4 +-
sys/arch/evbarm/conf/VIRT | 4 +-
sys/arch/evbarm/conf/VTC100 | 5 +-
sys/arch/evbarm/conf/ZAO425 | 4 +-
sys/arch/evbarm/conf/ZEDBOARD | 3 +-
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c | 45 +-
sys/arch/evbarm/gumstix/gumstix_machdep.c | 3 +-
sys/arch/evbarm/hdl_g/hdlg_machdep.c | 21 +-
sys/arch/evbarm/imx31/imx31lk_machdep.c | 25 +-
sys/arch/evbarm/integrator/integrator_machdep.c | 9 +-
sys/arch/evbarm/iq80310/iq80310_machdep.c | 23 +-
sys/arch/evbarm/iq80321/iq80321_machdep.c | 23 +-
sys/arch/evbarm/ixdp425/ixdp425_machdep.c | 23 +-
sys/arch/evbarm/ixm1200/ixm1200_machdep.c | 36 +-
sys/arch/evbarm/iyonix/iyonix_machdep.c | 25 +-
sys/arch/evbarm/lubbock/lubbock_machdep.c | 45 +-
sys/arch/evbarm/mini2440/mini2440_machdep.c | 9 +-
sys/arch/evbarm/mmnet/mmnet_machdep.c | 11 +-
sys/arch/evbarm/mpcsa/mpcsa_machdep.c | 11 +-
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c | 23 +-
sys/arch/evbarm/nslu2/nslu2_machdep.c | 23 +-
sys/arch/evbarm/smdk2xx0/smdk2410_machdep.c | 17 +-
sys/arch/evbarm/smdk2xx0/smdk2800_machdep.c | 15 +-
sys/arch/evbarm/tsarm/tsarm_machdep.c | 51 +-
sys/arch/evbarm/viper/viper_machdep.c | 29 +-
sys/arch/hpcarm/conf/IPAQ | 4 +-
sys/arch/hpcarm/conf/JORNADA720 | 6 +-
sys/arch/hpcarm/conf/JORNADA820 | 6 +-
sys/arch/hpcarm/conf/NETBOOKPRO | 6 +-
sys/arch/hpcarm/conf/WZERO3 | 6 +-
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c | 32 +-
sys/arch/hpcarm/hpcarm/sa11x0_hpc_machdep.c | 32 +-
sys/arch/hppa/dev/cpu.c | 15 +-
sys/arch/hppa/gsc/if_ie_gsc.c | 12 +-
sys/arch/hppa/hppa/fpu.c | 7 +-
sys/arch/hppa/hppa/hppa_machdep.c | 19 +-
sys/arch/hppa/hppa/machdep.c | 16 +-
sys/arch/hppa/hppa/pmap.c | 618 +-
sys/arch/hppa/include/asm.h | 6 +-
sys/arch/hppa/include/cpu.h | 22 +-
sys/arch/hppa/include/types.h | 5 +-
sys/arch/i386/conf/XEN3PAE_DOM0 | 5 +-
sys/arch/i386/conf/XEN3PAE_DOMU | 7 +-
sys/arch/i386/conf/XEN3PAE_PVHVM | 6 +-
sys/arch/i386/conf/std.xen | 25 +
sys/arch/i386/include/asm.h | 6 +-
sys/arch/ia64/include/asm.h | 6 +-
sys/arch/iyonix/conf/GENERIC | 8 +-
sys/arch/iyonix/iyonix/iyonix_machdep.c | 25 +-
sys/arch/m68k/include/asm.h | 6 +-
sys/arch/macppc/dev/batteryvar.h | 4 +-
sys/arch/macppc/dev/cudavar.h | 2 +-
sys/arch/macppc/dev/deqvar.h | 4 +-
sys/arch/macppc/dev/obiovar.h | 2 +-
sys/arch/macppc/dev/platinumfbreg.h | 2 +-
sys/arch/macppc/dev/pmuvar.h | 2 +-
sys/arch/macppc/dev/snapper.c | 11 +-
sys/arch/macppc/dev/valkyriefbreg.h | 2 +-
sys/arch/macppc/dev/videopllvar.h | 2 +-
sys/arch/macppc/stand/ofwboot/Locore.c | 7 +-
sys/arch/mips/adm5120/dev/if_admswvar.h | 4 +-
sys/arch/mips/include/asm.h | 6 +-
sys/arch/mips/mips/trap.c | 17 +-
sys/arch/netwinder/conf/GENERIC | 6 +-
sys/arch/netwinder/netwinder/netwinder_machdep.c | 21 +-
sys/arch/or1k/include/asm.h | 6 +-
sys/arch/powerpc/include/asm.h | 6 +-
sys/arch/powerpc/include/intr.h | 4 +-
sys/arch/powerpc/include/types.h | 8 +-
sys/arch/powerpc/oea/ofw_consinit.c | 8 +-
sys/arch/powerpc/pic/ipivar.h | 4 +-
sys/arch/powerpc/pic/picvar.h | 4 +-
sys/arch/powerpc/powerpc/sig_machdep.c | 6 +-
sys/arch/riscv/include/asm.h | 6 +-
sys/arch/sh3/include/asm.h | 6 +-
sys/arch/shark/conf/GENERIC | 6 +-
sys/arch/shark/conf/INSTALL | 4 +-
sys/arch/sparc/conf/INSTALL | 624 +-
sys/arch/sparc/include/asm.h | 6 +-
sys/arch/sparc/stand/ofwboot/Makefile | 7 +-
sys/arch/vax/include/asm.h | 6 +-
sys/arch/x68k/conf/GENERIC | 6 +-
sys/arch/x86/x86/cpu.c | 16 +-
sys/arch/x86/x86/identcpu.c | 33 +-
sys/arch/xen/conf/std.xen | 26 -
sys/arch/xen/conf/std.xenversion | 6 +
sys/arch/xen/include/evtchn.h | 4 +-
sys/arch/xen/include/xen.h | 16 +-
sys/arch/xen/include/xen_shm.h | 8 +-
sys/arch/xen/include/xenbus.h | 5 +-
sys/arch/xen/x86/xen_bus_dma.c | 23 +-
sys/arch/xen/x86/xen_intr.c | 6 +-
sys/arch/xen/x86/xen_ipi.c | 9 +-
sys/arch/xen/x86/xen_shm_machdep.c | 161 +-
sys/arch/xen/xen/balloon.c | 8 +-
sys/arch/xen/xen/evtchn.c | 24 +-
sys/arch/xen/xen/hypervisor.c | 8 +-
sys/arch/xen/xen/if_xennet_xenbus.c | 255 +-
sys/arch/xen/xen/privcmd.c | 6 +-
sys/arch/xen/xen/xbd_xenbus.c | 778 +-
sys/arch/xen/xen/xbdback_xenbus.c | 196 +-
sys/arch/xen/xen/xengnt.c | 140 +-
sys/arch/xen/xen/xennetback_xenbus.c | 271 +-
sys/arch/xen/xenbus/xenbus_probe.c | 12 +-
sys/arch/zaurus/zaurus/machdep.c | 13 +-
sys/coda/coda_namecache.c | 12 +-
sys/coda/coda_subr.c | 18 +-
sys/coda/coda_vnops.c | 16 +-
sys/compat/linux/common/linux_misc.c | 6 +-
sys/compat/linux/common/linux_sched.c | 16 +-
sys/compat/linux32/common/linux32_sysinfo.c | 6 +-
sys/compat/netbsd32/netbsd32_execve.c | 5 +-
sys/compat/ossaudio/ossaudio.c | 194 +-
sys/conf/files | 3 +-
sys/ddb/db_command.c | 8 +-
sys/dev/acpi/acpi.c | 8 +-
sys/dev/acpi/acpi_ec.c | 52 +-
sys/dev/acpi/acpi_mcfg.c | 8 +-
sys/dev/acpi/ahcisata_acpi.c | 15 +-
sys/dev/acpi/wmi/wmi_acpivar.h | 4 +-
sys/dev/adb/adbvar.h | 4 +-
sys/dev/ata/ata.c | 20 +-
sys/dev/ata/ata_recovery.c | 12 +-
sys/dev/ata/ata_wdc.c | 12 +-
sys/dev/ata/atavar.h | 6 +-
sys/dev/ata/satapmp_subr.c | 26 +-
sys/dev/ata/wd.c | 94 +-
sys/dev/audio/audio.c | 25 +-
sys/dev/cgd.c | 6 +-
sys/dev/dkwedge/dkwedge_apple.c | 30 +-
sys/dev/dkwedge/dkwedge_bsdlabel.c | 35 +-
sys/dev/dkwedge/dkwedge_gpt.c | 33 +-
sys/dev/dkwedge/dkwedge_mbr.c | 17 +-
sys/dev/dkwedge/dkwedge_rdb.c | 27 +-
sys/dev/hdaudio/hdafg.c | 43 +-
sys/dev/i2c/adm1026reg.h | 2 +-
sys/dev/i2c/dbcool_reg.h | 4 +-
sys/dev/i2c/dbcool_var.h | 4 +-
sys/dev/i2c/i2c_exec.c | 8 +-
sys/dev/i2c/sgsmixvar.h | 4 +-
sys/dev/ic/ahcisata_core.c | 34 +-
sys/dev/ic/i128reg.h | 4 +-
sys/dev/ic/i128var.h | 4 +-
sys/dev/ic/mvsata.c | 32 +-
sys/dev/ic/ncr53c9x.c | 8 +-
sys/dev/ic/rtwnreg.h | 4 +-
sys/dev/ic/siisata.c | 38 +-
sys/dev/ic/wdc.c | 25 +-
sys/dev/ic/wdcvar.h | 4 +-
sys/dev/ld.c | 6 +-
sys/dev/md.c | 6 +-
sys/dev/onewire/files.onewire | 8 +-
sys/dev/onewire/onewire.c | 8 +-
sys/dev/onewire/onewiredevs | 3 +-
sys/dev/onewire/onewiredevs.h | 5 +-
sys/dev/onewire/onewiredevs_data.h | 5 +-
sys/dev/onewire/oweeprom.c | 141 +
sys/dev/pci/auvia.c | 9 +-
sys/dev/pci/esm.c | 6 +-
sys/dev/pci/gffbreg.h | 4 +-
sys/dev/pci/ichsmb.c | 5 +-
sys/dev/pci/if_msk.c | 58 +-
sys/dev/pci/if_wm.c | 95 +-
sys/dev/pci/ixgbe/ix_txrx.c | 8 +-
sys/dev/pci/ixgbe/ixgbe.c | 4 +-
sys/dev/pci/ixgbe/ixgbe_netbsd.c | 4 +-
sys/dev/pci/ixgbe/ixgbe_phy.c | 4 +-
sys/dev/pci/ixgbe/ixv.c | 6 +-
sys/dev/pci/pci_subr.c | 359 +-
sys/dev/pci/pcidevs | 64 +-
sys/dev/pci/pcidevs.h | 66 +-
sys/dev/pci/pcidevs_data.h | 18308 +++++----
sys/dev/pci/ppbvar.h | 4 +-
sys/dev/pci/sv.c | 9 +-
sys/dev/pci/voyagervar.h | 4 +-
sys/dev/qbus/rlvar.h | 4 +-
sys/dev/raidframe/rf_netbsdkintf.c | 9 +-
sys/dev/raidframe/rf_reconmap.c | 9 +-
sys/dev/scsipi/atapi_wdc.c | 14 +-
sys/dev/scsipi/cd.c | 6 +-
sys/dev/scsipi/scsipi_base.c | 9 +-
sys/dev/scsipi/sd.c | 6 +-
sys/dev/usb/FILES | 2 -
sys/dev/usb/files.usb | 11 +-
sys/dev/usb/if_urtwn.c | 9 +-
sys/dev/usb/ukyopon.c | 6 +-
sys/dev/usb/umass.c | 22 +-
sys/dev/usb/umass_isdata.c | 637 -
sys/dev/usb/umass_isdata.h | 34 -
sys/dev/usb/umass_quirks.c | 30 +-
sys/dev/usb/umodem.c | 6 +-
sys/dev/usb/umodem_common.c | 26 +-
sys/dev/usb/ums.c | 11 +-
sys/dev/usb/usbdevices.config | 5 +-
sys/dev/usb/usbdevs | 10 +-
sys/dev/usb/usbdevs.h | 12 +-
sys/dev/usb/usbdevs_data.h | 10508 ++--
sys/dev/usb/uxrcom.c | 323 +
sys/dev/vnd.c | 30 +-
sys/dev/wsfb/genfb.c | 11 +-
sys/external/bsd/drm2/dist/drm/drm_drv.c | 20 +-
sys/external/bsd/drm2/dist/drm/drm_probe_helper.c | 7 +-
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c | 6 +-
sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_base.c | 6 +-
sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mmu/nouveau_nvkm_subdev_mmu_nv44.c | 6 +-
sys/external/bsd/drm2/dist/include/drm/drmP.h | 4 +-
sys/external/bsd/ena-com/ena_plat.h | 2 +-
sys/external/bsd/ipf/netinet/fil.c | 7 +-
sys/external/bsd/ipf/netinet/ip_state.c | 6 +-
sys/fs/msdosfs/msdosfs_denode.c | 8 +-
sys/fs/msdosfs/msdosfs_vfsops.c | 6 +-
sys/fs/msdosfs/msdosfs_vnops.c | 10 +-
sys/fs/nilfs/nilfs_vnops.c | 8 +-
sys/fs/ntfs/ntfs_vfsops.c | 6 +-
sys/fs/ptyfs/ptyfs_vnops.c | 6 +-
sys/fs/udf/udf_vfsops.c | 18 +-
sys/fs/udf/udf_vnops.c | 10 +-
sys/fs/v7fs/v7fs_vnops.c | 10 +-
sys/gdbscripts/dmesg | 47 +
sys/gdbscripts/vdump | 4 +-
sys/kern/exec_subr.c | 6 +-
sys/kern/kern_condvar.c | 160 +-
sys/kern/kern_exec.c | 15 +-
sys/kern/kern_exit.c | 5 +-
sys/kern/kern_fork.c | 10 +-
sys/kern/kern_lwp.c | 14 +-
sys/kern/kern_proc.c | 6 +-
sys/kern/kern_runq.c | 35 +-
sys/kern/kern_sleepq.c | 28 +-
sys/kern/kern_synch.c | 18 +-
sys/kern/kern_timeout.c | 8 +-
sys/kern/kern_turnstile.c | 6 +-
sys/kern/sched_m2.c | 6 +-
sys/kern/subr_asan.c | 8 +-
sys/kern/subr_cprng.c | 20 +-
sys/kern/subr_csan.c | 11 +-
sys/kern/subr_lockdebug.c | 103 +-
sys/kern/subr_msan.c | 10 +-
sys/kern/subr_pool.c | 89 +-
sys/kern/subr_vmem.c | 168 +-
sys/kern/sys_lwp.c | 6 +-
sys/kern/sys_select.c | 6 +-
sys/kern/syscalls.master | 495 +-
sys/kern/vfs_bio.c | 82 +-
sys/kern/vfs_cache.c | 12 +-
sys/kern/vfs_getcwd.c | 6 +-
sys/kern/vfs_mount.c | 42 +-
sys/kern/vfs_subr.c | 6 +-
sys/kern/vfs_vnode.c | 77 +-
sys/kern/vfs_vnops.c | 16 +-
sys/kern/vfs_wapbl.c | 27 +-
sys/kern/vfs_xattr.c | 10 +-
sys/lib/libkern/crc16.h | 4 +-
sys/lib/libkern/libkern.h | 15 +-
sys/miscfs/fdesc/fdesc_vfsops.c | 6 +-
sys/miscfs/genfs/layer_subr.c | 12 +-
sys/miscfs/genfs/layer_vnops.c | 6 +-
sys/miscfs/nullfs/null_vfsops.c | 6 +-
sys/miscfs/overlay/overlay_vfsops.c | 6 +-
sys/miscfs/procfs/procfs_linux.c | 6 +-
sys/miscfs/procfs/procfs_vfsops.c | 29 +-
sys/miscfs/specfs/spec_vnops.c | 8 +-
sys/miscfs/umapfs/umap_vfsops.c | 6 +-
sys/modules/compat_netbsd32/Makefile | 8 +-
sys/modules/ffs/Makefile | 4 +-
sys/modules/ufs/Makefile | 4 +-
sys/net/if.c | 17 +-
sys/netinet/tcp_usrreq.c | 6 +-
sys/netinet6/nd6.c | 35 +-
sys/netinet6/nd6_rtr.c | 36 +-
sys/nfs/nfs_vfsops.c | 6 +-
sys/nfs/nfs_vnops.c | 18 +-
sys/opencrypto/cryptodev.c | 10 +-
sys/rump/dev/lib/libumass/Makefile | 4 +-
sys/rump/fs/lib/libffs/Makefile | 6 +-
sys/rump/librump/rumpkern/lwproc.c | 7 +-
sys/rump/librump/rumpkern/sleepq.c | 7 +-
sys/rump/librump/rumpvfs/rump_vfs.c | 6 +-
sys/rump/librump/rumpvfs/rumpfs.c | 6 +-
sys/sys/buf.h | 3 +-
sys/sys/cdefs.h | 6 +-
sys/sys/cdefs_elf.h | 6 +-
sys/sys/cprng.h | 19 +-
sys/sys/ieee754.h | 4 +-
sys/sys/lockdebug.h | 7 +-
sys/sys/lwp.h | 4 +-
sys/sys/param.h | 4 +-
sys/sys/pool.h | 12 +-
sys/sys/sdt.h | 27 +-
sys/sys/sleepq.h | 5 +-
sys/sys/vmem_impl.h | 4 +-
sys/sys/vnode.h | 5 +-
sys/ufs/ext2fs/ext2fs_xattr.h | 4 +-
sys/ufs/ffs/ffs_alloc.c | 30 +-
sys/ufs/ffs/ffs_balloc.c | 60 +-
sys/ufs/ffs/ffs_extattr.c | 976 +
sys/ufs/ffs/ffs_extern.h | 27 +-
sys/ufs/ffs/ffs_inode.c | 66 +-
sys/ufs/ffs/ffs_snapshot.c | 22 +-
sys/ufs/ffs/ffs_vnops.c | 161 +-
sys/ufs/ffs/ffs_wapbl.c | 8 +-
sys/ufs/ffs/fs.h | 10 +-
sys/ufs/files.ufs | 4 +-
sys/ufs/lfs/lfs_vnops.c | 10 +-
sys/ufs/mfs/mfs_vnops.c | 6 +-
sys/ufs/ufs/extattr.h | 35 +-
sys/ufs/ufs/inode.h | 22 +-
sys/ufs/ufs/ufs_bmap.c | 11 +-
sys/ufs/ufs/ufs_extern.h | 5 +-
sys/ufs/ufs/ufs_inode.c | 31 +-
sys/ufs/ufs/ufs_vnops.c | 12 +-
sys/ufs/ufs/ufs_wapbl.c | 164 -
sys/ufs/ufs/ufs_wapbl.h | 22 +-
sys/uvm/pmap/pmap.c | 109 +-
sys/uvm/pmap/pmap_synci.c | 4 +-
sys/uvm/pmap/pmap_tlb.c | 50 +-
sys/uvm/uvm_extern.h | 42 +-
sys/uvm/uvm_fault.c | 11 +-
sys/uvm/uvm_map.c | 289 +-
sys/uvm/uvm_pager.c | 8 +-
sys/uvm/uvm_pdaemon.c | 8 +-
sys/uvm/uvm_pdpolicy_clockpro.c | 6 +-
sys/uvm/uvm_pglist.h | 13 +-
sys/uvm/uvm_stat.h | 3 +-
444 files changed, 21815 insertions(+), 20433 deletions(-)
diffs (truncated from 66590 to 300 lines):
diff -r 20abfff03abe -r c0362ebbf15d sys/arch/aarch64/aarch64/aarch64_machdep.c
--- a/sys/arch/aarch64/aarch64/aarch64_machdep.c Sun Apr 19 20:29:30 2020 +0000
+++ b/sys/arch/aarch64/aarch64/aarch64_machdep.c Mon Apr 20 11:28:50 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: aarch64_machdep.c,v 1.40 2020/02/29 21:36:03 ryo Exp $ */
+/* $NetBSD: aarch64_machdep.c,v 1.40.4.1 2020/04/20 11:28:50 bouyer Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,9 +30,10 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.40 2020/02/29 21:36:03 ryo Exp $");
+__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.40.4.1 2020/04/20 11:28:50 bouyer Exp $");
#include "opt_arm_debug.h"
+#include "opt_cpuoptions.h"
#include "opt_ddb.h"
#include "opt_kernhist.h"
#include "opt_modular.h"
@@ -112,6 +113,24 @@
int dumpsize = 0; /* also for savecore */
long dumplo = 0;
+int aarch64_bti_enabled __read_mostly;
+
+static void
+bti_init(void)
+{
+#ifdef ARMV85_BTI
+ extern uint64_t pmap_attr_gp;
+ uint64_t reg;
+
+ reg = reg_id_aa64pfr1_el1_read();
+
+ if (reg >= ID_AA64PFR1_EL1_BT_SUPPORTED) {
+ pmap_attr_gp = LX_BLKPAG_GP;
+ aarch64_bti_enabled = 1;
+ }
+#endif
+}
+
void
cpu_kernel_vm_init(uint64_t memory_start __unused, uint64_t memory_size __unused)
{
@@ -121,6 +140,8 @@
extern char __rodata_start[];
u_int blk;
+ bti_init();
+
vaddr_t kernstart = trunc_page((vaddr_t)__kernel_text);
vaddr_t kernend = round_page((vaddr_t)_end);
paddr_t kernstart_phys = KERN_VTOPHYS(kernstart);
@@ -456,6 +477,22 @@
SYSCTL_DESCR("top byte ignored in the address calculation"),
sysctl_machdep_tagged_address, 0, NULL, 0,
CTL_MACHDEP, CTL_CREATE, CTL_EOL);
+
+ sysctl_createv(clog, 0, NULL, NULL,
+ CTLFLAG_PERMANENT,
+ CTLTYPE_INT, "pac",
+ SYSCTL_DESCR("Whether Pointer Authentication is enabled"),
+ NULL, 0,
+ &aarch64_pac_enabled, 0,
+ CTL_MACHDEP, CTL_CREATE, CTL_EOL);
+
+ sysctl_createv(clog, 0, NULL, NULL,
+ CTLFLAG_PERMANENT,
+ CTLTYPE_INT, "bti",
+ SYSCTL_DESCR("Whether Branch Target Identification is enabled"),
+ NULL, 0,
+ &aarch64_bti_enabled, 0,
+ CTL_MACHDEP, CTL_CREATE, CTL_EOL);
}
void
diff -r 20abfff03abe -r c0362ebbf15d sys/arch/aarch64/aarch64/cpufunc.c
--- a/sys/arch/aarch64/aarch64/cpufunc.c Sun Apr 19 20:29:30 2020 +0000
+++ b/sys/arch/aarch64/aarch64/cpufunc.c Mon Apr 20 11:28:50 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cpufunc.c,v 1.16 2020/04/05 22:54:51 jmcneill Exp $ */
+/* $NetBSD: cpufunc.c,v 1.16.2.1 2020/04/20 11:28:50 bouyer Exp $ */
/*
* Copyright (c) 2017 Ryo Shimizu <ryo%nerv.org@localhost>
@@ -26,10 +26,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+#include "opt_cpuoptions.h"
#include "opt_multiprocessor.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.16 2020/04/05 22:54:51 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.16.2.1 2020/04/20 11:28:50 bouyer Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -46,6 +47,8 @@
u_int aarch64_cache_vindexsize;
u_int aarch64_cache_prefer_mask;
+int aarch64_pac_enabled __read_mostly;
+
/* cache info per cluster. the same cluster has the same cache configuration? */
#define MAXCPUPACKAGES MAXCPUS /* maximum of ci->ci_package_id */
static struct aarch64_cache_info *aarch64_cacheinfo[MAXCPUPACKAGES];
@@ -438,3 +441,44 @@
return 0;
}
+
+/*
+ * TODO: this function should have a "no-pac" attribute. Right now it
+ * doesn't use PAC so that's fine.
+ */
+void
+aarch64_pac_init(int primary)
+{
+#ifdef ARMV83_PAC
+ uint64_t reg, sctlr;
+
+ /* CPU0 does the detection. */
+ if (primary) {
+ reg = reg_id_aa64isar1_el1_read();
+ if (__SHIFTOUT(reg, ID_AA64ISAR1_EL1_APA) !=
+ ID_AA64ISAR1_EL1_APA_NONE)
+ aarch64_pac_enabled = 1;
+ if (__SHIFTOUT(reg, ID_AA64ISAR1_EL1_API) !=
+ ID_AA64ISAR1_EL1_API_NONE)
+ aarch64_pac_enabled = 1;
+ if (__SHIFTOUT(reg, ID_AA64ISAR1_EL1_GPA) !=
+ ID_AA64ISAR1_EL1_GPA_NONE)
+ aarch64_pac_enabled = 1;
+ if (__SHIFTOUT(reg, ID_AA64ISAR1_EL1_GPI) !=
+ ID_AA64ISAR1_EL1_GPI_NONE)
+ aarch64_pac_enabled = 1;
+ }
+
+ if (!aarch64_pac_enabled)
+ return;
+
+ /* Enable PAC on the CPU. */
+ sctlr = reg_sctlr_el1_read();
+ sctlr |= SCTLR_EnIA;
+ reg_sctlr_el1_write(sctlr);
+
+ /* Set the key. Curlwp here is the CPU's idlelwp. */
+ reg_APIAKeyLo_EL1_write(curlwp->l_md.md_ia_kern_lo);
+ reg_APIAKeyHi_EL1_write(curlwp->l_md.md_ia_kern_hi);
+#endif
+}
diff -r 20abfff03abe -r c0362ebbf15d sys/arch/aarch64/aarch64/cpuswitch.S
--- a/sys/arch/aarch64/aarch64/cpuswitch.S Sun Apr 19 20:29:30 2020 +0000
+++ b/sys/arch/aarch64/aarch64/cpuswitch.S Mon Apr 20 11:28:50 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cpuswitch.S,v 1.15 2020/01/08 20:59:18 skrll Exp $ */
+/* $NetBSD: cpuswitch.S,v 1.15.4.1 2020/04/20 11:28:50 bouyer Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -34,10 +34,13 @@
#include "assym.h"
#include "opt_compat_netbsd32.h"
+#include "opt_cpuoptions.h"
#include "opt_ddb.h"
#include "opt_kasan.h"
-RCSID("$NetBSD: cpuswitch.S,v 1.15 2020/01/08 20:59:18 skrll Exp $")
+RCSID("$NetBSD: cpuswitch.S,v 1.15.4.1 2020/04/20 11:28:50 bouyer Exp $")
+
+ ARMV8_DEFINE_OPTIONS
/*
* At IPL_SCHED:
@@ -77,6 +80,18 @@
mov sp, x4 /* restore stack pointer */
msr cpacr_el1, x5 /* restore cpacr_el1 */
+#ifdef ARMV83_PAC
+ /* Switch the PAC key. */
+ adrl x4, _C_LABEL(aarch64_pac_enabled)
+ ldr w4, [x4]
+ cbz w4, 1f
+ ldr x5, [x1, #L_MD_IA_KERN_LO]
+ ldr x6, [x1, #L_MD_IA_KERN_HI]
+ msr APIAKeyLo_EL1, x5
+ msr APIAKeyHi_EL1, x6
+1:
+#endif
+
mrs x3, tpidr_el1
str x1, [x3, #CI_CURLWP] /* switch curlwp to new lwp */
ENABLE_INTERRUPT
@@ -132,6 +147,18 @@
str x5, [x19, #L_MD_CPACR]
str x0, [x3, #CI_CURLWP] /* curcpu()->ci_curlwp = softlwp; */
+#ifdef ARMV83_PAC
+ /* Switch the PAC key. */
+ adrl x4, _C_LABEL(aarch64_pac_enabled)
+ ldr w4, [x4]
+ cbz w4, 1f
+ ldr x5, [x0, #L_MD_IA_KERN_LO]
+ ldr x6, [x0, #L_MD_IA_KERN_HI]
+ msr APIAKeyLo_EL1, x5
+ msr APIAKeyHi_EL1, x6
+1:
+#endif
+
#ifdef KASAN
/* clear the new stack */
stp x0, x1, [sp, #-16]!
@@ -159,6 +186,18 @@
mov sp, x4 /* restore pinned_lwp sp */
msr cpacr_el1, x5 /* restore pinned_lwp cpacr */
+#ifdef ARMV83_PAC
+ /* Restore the PAC key. */
+ adrl x4, _C_LABEL(aarch64_pac_enabled)
+ ldr w4, [x4]
+ cbz w4, 1f
+ ldr x5, [x19, #L_MD_IA_KERN_LO]
+ ldr x6, [x19, #L_MD_IA_KERN_HI]
+ msr APIAKeyLo_EL1, x5
+ msr APIAKeyHi_EL1, x6
+1:
+#endif
+
ldp x19, x20, [sp, #TF_X19]
msr daif, x19 /* restore interrupt mask */
mov lr, x20 /* restore pinned_lwp lr */
@@ -199,14 +238,32 @@
* x28 = arg
*/
ENTRY_NP(lwp_trampoline)
+ stp x0, x1, [sp, #-16]! /* save x0, x1 */
bl _C_LABEL(lwp_startup)
+ ldp x0, x1, [sp], #16 /* restore x0, x1 */
+
+#ifdef ARMV83_PAC
+ /* Generate a new PAC key. */
+ adrl x4, _C_LABEL(aarch64_pac_enabled)
+ ldr w4, [x4]
+ cbz w4, 1f
+ mov x26, x1
+ bl _C_LABEL(cprng_strong64)
+ str x0, [x26, #L_MD_IA_KERN_LO]
+ msr APIAKeyLo_EL1, x0
+ bl _C_LABEL(cprng_strong64)
+ str x0, [x26, #L_MD_IA_KERN_HI]
+ msr APIAKeyHi_EL1, x0
+1:
+#endif
/*
* When the x27 function returns, it will jump to el0_trap_exit.
*/
adr x30, el0_trap_exit /* tail call via lr */
mov x0, x28 /* mov arg into place */
- br x27 /* call function with arg */
+ mov x16, x27 /* use x16 as jump register, for BTI */
+ br x16 /* call function with arg */
END(lwp_trampoline)
.macro unwind_x0_x2
@@ -311,6 +368,18 @@
msr tpidrro_el0, x0
#endif
+#ifdef ARMV83_PAC
+ /* Switch to the user PAC key. */
+ adrl x4, _C_LABEL(aarch64_pac_enabled)
+ ldr w4, [x4]
+ cbz w4, 1f
+ ldr x5, [x9, #L_MD_IA_USER_LO]
+ ldr x6, [x9, #L_MD_IA_USER_HI]
+ msr APIAKeyLo_EL1, x5
+ msr APIAKeyHi_EL1, x6
+1:
+#endif
+
unwind_x3_x30
#if TF_PC + 8 == TF_SPSR
diff -r 20abfff03abe -r c0362ebbf15d sys/arch/aarch64/aarch64/db_machdep.c
--- a/sys/arch/aarch64/aarch64/db_machdep.c Sun Apr 19 20:29:30 2020 +0000
+++ b/sys/arch/aarch64/aarch64/db_machdep.c Mon Apr 20 11:28:50 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: db_machdep.c,v 1.20 2020/02/29 21:30:19 ryo Exp $ */
+/* $NetBSD: db_machdep.c,v 1.20.4.1 2020/04/20 11:28:50 bouyer Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
Home |
Main Index |
Thread Index |
Old Index