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