Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/bouyer-xenpvh]: src/sys/uvm Sync with bouyer-xenpvh-base2 (HEAD)



details:   https://anonhg.NetBSD.org/src/rev/d500db0acc44
branches:  bouyer-xenpvh
changeset: 982970:d500db0acc44
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sat Apr 25 11:23:54 2020 +0000

description:
Sync with bouyer-xenpvh-base2 (HEAD)

diffstat:

 sys/arch/aarch64/aarch64/netbsd32_machdep.c        |      8 +-
 sys/arch/aarch64/aarch64/sig_machdep.c             |      6 +-
 sys/arch/aarch64/include/profile.h                 |     27 +-
 sys/arch/amd64/amd64/machdep.c                     |     18 +-
 sys/arch/amd64/amd64/netbsd32_machdep.c            |     21 +-
 sys/arch/amd64/include/gdt.h                       |      7 +-
 sys/arch/amd64/include/pte.h                       |     24 +-
 sys/arch/arm/arm32/pmap.c                          |     12 +-
 sys/arch/arm/include/asm.h                         |      9 +-
 sys/arch/hp300/hp300/machdep.c                     |      6 +-
 sys/arch/hppa/hppa/trap.c                          |      6 +-
 sys/arch/i386/conf/files.i386                      |      4 +-
 sys/arch/i386/i386/genassym.cf                     |      5 +-
 sys/arch/i386/i386/machdep.c                       |     11 +-
 sys/arch/i386/include/gdt.h                        |      7 +-
 sys/arch/i386/include/kcore.h                      |      4 +-
 sys/arch/i386/include/pte.h                        |     28 +-
 sys/arch/macppc/conf/GENERIC                       |      7 +-
 sys/arch/macppc/dev/lmu.c                          |    158 +-
 sys/arch/macppc/stand/Makefile.inc                 |      9 +-
 sys/arch/macppc/stand/ofwboot/boot.c               |      4 +-
 sys/arch/macppc/stand/ofwboot/net.c                |      4 +-
 sys/arch/mips/cavium/dev/if_cnmac.c                |     15 +-
 sys/arch/mips/cavium/dev/octeon_gmx.c              |     16 +-
 sys/arch/mips/cavium/dev/octeon_gmxvar.h           |      5 +-
 sys/arch/sparc/stand/bootxx/Makefile               |      7 +-
 sys/arch/sparc/stand/common/net.c                  |      4 +-
 sys/arch/sparc/stand/ofwboot/net.c                 |      4 +-
 sys/arch/sun68k/stand/libsa/Makefile.inc           |      7 +-
 sys/arch/x86/include/apicvar.h                     |      5 +-
 sys/arch/x86/include/cpu.h                         |      5 +-
 sys/arch/x86/include/pmap.h                        |     11 +-
 sys/arch/x86/include/specialreg.h                  |     20 +-
 sys/arch/x86/pci/amdsmn.c                          |     63 +-
 sys/arch/x86/pci/amdzentemp.c                      |    110 +-
 sys/arch/x86/x86/bus_space.c                       |     12 +-
 sys/arch/x86/x86/hyperv.c                          |     10 +-
 sys/arch/x86/x86/identcpu_subr.c                   |    146 +
 sys/arch/x86/x86/pmap.c                            |     78 +-
 sys/arch/x86/x86/procfs_machdep.c                  |      6 +-
 sys/arch/x86/x86/svs.c                             |     27 +-
 sys/arch/x86/x86/sys_machdep.c                     |     65 +-
 sys/arch/x86/x86/tsc.c                             |     25 +-
 sys/arch/xen/include/hypervisor.h                  |      6 +-
 sys/arch/xen/include/i82093var.h                   |     24 +-
 sys/arch/xen/include/intr.h                        |      5 +-
 sys/arch/xen/include/intrdefs.h                    |      3 +-
 sys/arch/xen/include/xenring.h                     |     34 +-
 sys/arch/xen/x86/hypervisor_machdep.c              |      7 +-
 sys/arch/xen/x86/pintr.c                           |     21 +-
 sys/arch/xen/xen/evtchn.c                          |     58 +-
 sys/arch/xen/xen/if_xennet_xenbus.c                |     12 +-
 sys/arch/xen/xen/xbd_xenbus.c                      |      6 +-
 sys/arch/zaurus/stand/Makefile.inc                 |      9 +-
 sys/compat/linux/common/linux_exec.c               |      7 +-
 sys/compat/linux/common/linux_sched.c              |      6 +-
 sys/compat/netbsd32/netbsd32_fs.c                  |     14 +-
 sys/compat/netbsd32/netbsd32_syscall.h             |      7 +-
 sys/compat/netbsd32/netbsd32_syscallargs.h         |      6 +-
 sys/compat/netbsd32/netbsd32_syscalls.c            |     10 +-
 sys/compat/netbsd32/netbsd32_syscalls_autoload.c   |      6 +-
 sys/compat/netbsd32/netbsd32_sysent.c              |     10 +-
 sys/compat/netbsd32/netbsd32_systrace_args.c       |     12 +-
 sys/compat/netbsd32/syscalls.master                |      4 +-
 sys/conf/files                                     |      6 +-
 sys/crypto/rijndael/files.rijndael                 |     10 +-
 sys/dev/ata/ata.c                                  |    108 +-
 sys/dev/ata/ata_subr.c                             |     11 +-
 sys/dev/ata/atavar.h                               |     14 +-
 sys/dev/hid/hidkbdmap.c                            |      8 +-
 sys/dev/i2c/asms.c                                 |    200 +
 sys/dev/i2c/files.i2c                              |      7 +-
 sys/dev/ic/bcmgenetreg.h                           |      9 +-
 sys/dev/ic/hpet.c                                  |     67 +-
 sys/dev/ic/hpetvar.h                               |      8 +-
 sys/dev/ic/vga.c                                   |      7 +-
 sys/dev/ic/vga_raster.c                            |      7 +-
 sys/dev/isa/pcdisplay.c                            |      7 +-
 sys/dev/marvell/files.armada                       |      4 +-
 sys/dev/pci/ichsmb.c                               |      5 +-
 sys/dev/pci/if_aq.c                                |     24 +-
 sys/dev/pci/if_mcx.c                               |    283 +-
 sys/dev/pci/if_msk.c                               |      6 +-
 sys/dev/pci/pcidevs                                |     64 +-
 sys/dev/pci/pcidevs.h                              |     64 +-
 sys/dev/pci/pcidevs_data.h                         |  20500 +++++++++---------
 sys/dev/vnd.c                                      |      6 +-
 sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c |     14 +-
 sys/fs/adosfs/advnops.c                            |      8 +-
 sys/fs/cd9660/cd9660_vnops.c                       |      6 +-
 sys/fs/efs/efs_vnops.c                             |      6 +-
 sys/fs/filecorefs/filecore_vnops.c                 |      6 +-
 sys/fs/hfs/hfs_vnops.c                             |      6 +-
 sys/fs/msdosfs/msdosfs_denode.c                    |      8 +-
 sys/fs/msdosfs/msdosfs_vnops.c                     |     10 +-
 sys/fs/nilfs/nilfs_vnops.c                         |      8 +-
 sys/fs/puffs/puffs_vnops.c                         |     10 +-
 sys/fs/sysvbfs/sysvbfs_vnops.c                     |      8 +-
 sys/fs/tmpfs/tmpfs_subr.c                          |      6 +-
 sys/fs/tmpfs/tmpfs_vnops.c                         |      8 +-
 sys/fs/udf/udf_allocation.c                        |     10 +-
 sys/fs/udf/udf_vnops.c                             |      8 +-
 sys/fs/v7fs/v7fs_vnops.c                           |      8 +-
 sys/kern/files.kern                                |      4 +-
 sys/kern/init_sysent.c                             |     10 +-
 sys/kern/kern_crashme.c                            |      6 +-
 sys/kern/kern_exec.c                               |     36 +-
 sys/kern/kern_exit.c                               |     16 +-
 sys/kern/kern_fork.c                               |     16 +-
 sys/kern/kern_lwp.c                                |    387 +-
 sys/kern/kern_pmf.c                                |      6 +-
 sys/kern/kern_proc.c                               |    579 +-
 sys/kern/subr_vmem.c                               |      6 +-
 sys/kern/sys_lwp.c                                 |     51 +-
 sys/kern/syscalls.c                                |     10 +-
 sys/kern/syscalls.master                           |      6 +-
 sys/kern/syscalls_autoload.c                       |      6 +-
 sys/kern/systrace_args.c                           |     12 +-
 sys/kern/uipc_mbuf.c                               |     42 +-
 sys/kern/uipc_usrreq.c                             |     21 +-
 sys/kern/vfs_bio.c                                 |     55 +-
 sys/kern/vfs_cache.c                               |     11 +-
 sys/kern/vfs_cwd.c                                 |    131 +-
 sys/kern/vfs_getcwd.c                              |     13 +-
 sys/kern/vfs_lookup.c                              |     50 +-
 sys/kern/vfs_mount.c                               |     34 +-
 sys/kern/vfs_subr.c                                |     15 +-
 sys/kern/vfs_syscalls.c                            |    129 +-
 sys/lib/libkern/Makefile.compiler-rt               |      5 +-
 sys/lib/libkern/arch/m68k/divsi3.S                 |     71 +
 sys/lib/libkern/arch/m68k/modsi3.S                 |     77 +
 sys/lib/libkern/arch/m68k/udivsi3.S                |    130 +
 sys/lib/libkern/arch/m68k/umodsi3.S                |     68 +
 sys/miscfs/procfs/procfs_linux.c                   |      5 +-
 sys/miscfs/procfs/procfs_vnops.c                   |     46 +-
 sys/netinet6/in6_proto.c                           |      6 +-
 sys/netinet6/nd6_nbr.c                             |      6 +-
 sys/netipsec/files.netipsec                        |      4 +-
 sys/nfs/nfs_bio.c                                  |      8 +-
 sys/opencrypto/files.opencrypto                    |      4 +-
 sys/rump/include/rump/rump_syscalls.h              |      4 +-
 sys/rump/librump/rumpkern/lwproc.c                 |      9 +-
 sys/rump/librump/rumpkern/rump.c                   |      6 +-
 sys/rump/librump/rumpkern/rump_syscalls.c          |     11 +-
 sys/rump/librump/rumpvfs/rump_vfs.c                |      6 +-
 sys/rump/librump/rumpvfs/rumpfs.c                  |      8 +-
 sys/sys/buf.h                                      |      3 +-
 sys/sys/cdefs.h                                    |     14 +-
 sys/sys/filedesc.h                                 |     30 +-
 sys/sys/lwp.h                                      |     29 +-
 sys/sys/param.h                                    |      4 +-
 sys/sys/proc.h                                     |     13 +-
 sys/sys/syscall.h                                  |      7 +-
 sys/sys/syscallargs.h                              |      6 +-
 sys/sys/threadpool.h                               |      3 +-
 sys/sys/vfs_syscalls.h                             |      3 +-
 sys/ufs/chfs/chfs_subr.c                           |      4 +-
 sys/ufs/chfs/chfs_vnops.c                          |      7 +-
 sys/ufs/ext2fs/ext2fs_inode.c                      |      6 +-
 sys/ufs/ext2fs/ext2fs_readwrite.c                  |      8 +-
 sys/ufs/ffs/ffs_extattr.c                          |     13 +-
 sys/ufs/ffs/ffs_inode.c                            |      6 +-
 sys/ufs/ffs/ffs_subr.c                             |     12 +-
 sys/ufs/lfs/lfs_inode.c                            |      6 +-
 sys/ufs/lfs/ulfs_readwrite.c                       |      8 +-
 sys/ufs/ufs/ufs_readwrite.c                        |      8 +-
 sys/uvm/uvm_bio.c                                  |     50 +-
 sys/uvm/uvm_extern.h                               |     11 +-
 sys/uvm/uvm_glue.c                                 |     16 +-
 169 files changed, 13286 insertions(+), 11955 deletions(-)

diffs (truncated from 37157 to 300 lines):

diff -r 4bbdd6b0091f -r d500db0acc44 sys/arch/aarch64/aarch64/netbsd32_machdep.c
--- a/sys/arch/aarch64/aarch64/netbsd32_machdep.c       Sat Apr 25 11:02:22 2020 +0000
+++ b/sys/arch/aarch64/aarch64/netbsd32_machdep.c       Sat Apr 25 11:23:54 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: netbsd32_machdep.c,v 1.10 2020/01/31 09:08:57 maxv Exp $       */
+/*     $NetBSD: netbsd32_machdep.c,v 1.10.4.1 2020/04/25 11:23:54 bouyer Exp $ */
 
 /*
  * Copyright (c) 2018 Ryo Shimizu <ryo%nerv.org@localhost>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.10 2020/01/31 09:08:57 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.10.4.1 2020/04/25 11:23:54 bouyer Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -217,7 +217,7 @@
        int error;
 
        const bool onstack_p =
-           (ss->ss_flags & (SS_DISABLE | SS_ONSTACK)) &&
+           (ss->ss_flags & (SS_DISABLE | SS_ONSTACK)) == 0 &&
            (sa->sa_flags & SA_ONSTACK);
 
        vaddr_t sp = onstack_p ?
@@ -270,7 +270,7 @@
        tf->tf_reg[13] = (uint32_t)(uintptr_t)fp;               /* sp */
        tf->tf_reg[14] = (uint32_t)(uintptr_t)sdesc->sd_tramp;  /* lr */
 
-       /* Remember if we'ere now on the signal stack */
+       /* Remember if we're now on the signal stack */
        if (onstack_p)
                ss->ss_flags |= SS_ONSTACK;
 }
diff -r 4bbdd6b0091f -r d500db0acc44 sys/arch/aarch64/aarch64/sig_machdep.c
--- a/sys/arch/aarch64/aarch64/sig_machdep.c    Sat Apr 25 11:02:22 2020 +0000
+++ b/sys/arch/aarch64/aarch64/sig_machdep.c    Sat Apr 25 11:23:54 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sig_machdep.c,v 1.3 2018/07/17 00:36:30 christos Exp $ */
+/* $NetBSD: sig_machdep.c,v 1.3.10.1 2020/04/25 11:23:54 bouyer Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: sig_machdep.c,v 1.3 2018/07/17 00:36:30 christos Exp $");
+__KERNEL_RCSID(1, "$NetBSD: sig_machdep.c,v 1.3.10.1 2020/04/25 11:23:54 bouyer Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -108,7 +108,7 @@
        tf->tf_pc = handler;
 
        /*
-        * Remember if we'ere now on the signal stack.
+        * Remember if we're now on the signal stack.
         */
        if (onstack_p)
                ss->ss_flags |= SS_ONSTACK;
diff -r 4bbdd6b0091f -r d500db0acc44 sys/arch/aarch64/include/profile.h
--- a/sys/arch/aarch64/include/profile.h        Sat Apr 25 11:02:22 2020 +0000
+++ b/sys/arch/aarch64/include/profile.h        Sat Apr 25 11:23:54 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: profile.h,v 1.1 2014/08/10 05:47:38 matt Exp $ */
+/* $NetBSD: profile.h,v 1.1.40.1 2020/04/25 11:23:55 bouyer Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -51,20 +51,18 @@
        /*                                                              \
         * Preserve registers that are trashed during mcount            \
         */                                                             \
-       __asm("sub      sp, sp, #80");                                  \
-       __asm("stp      x29, x30, [sp, #64]");                          \
-       __asm("add      x29, sp, #64");                                 \
-       __asm("stp      x0, x1, [x29, #0]");                            \
-       __asm("stp      x2, x3, [x29, #16]");                           \
-       __asm("stp      x4, x5, [x29, #32]");                           \
-       __asm("stp      x6, x7, [x29, #48]");                           \
+       __asm("stp      x29, x30, [sp, #-80]!");                        \
+       __asm("stp      x0, x1, [sp, #16]");                            \
+       __asm("stp      x2, x3, [sp, #32]");                            \
+       __asm("stp      x4, x5, [sp, #48]");                            \
+       __asm("stp      x6, x7, [sp, #64]");                            \
        /*                                                              \
         * find the return address for mcount,                          \
         * and the return address for mcount's caller.                  \
         *                                                              \
         * frompcindex = pc pushed by call into self.                   \
         */                                                             \
-       __asm("mov      x0, x19");                                      \
+       __asm("ldr      x0, [x29, #8]");                                \
        /*                                                              \
         * selfpc = pc pushed by mcount call                            \
         */                                                             \
@@ -76,12 +74,11 @@
        /*                                                              \
         * Restore registers that were trashed during mcount            \
         */                                                             \
-       __asm("ldp      x0, x1, [x29, #0]");                            \
-       __asm("ldp      x2, x3, [x29, #16]");                           \
-       __asm("ldp      x4, x5, [x29, #32]");                           \
-       __asm("ldp      x6, x7, [x29, #48]");                           \
-       __asm("ldp      x29, x30, [x29, #64]");                         \
-       __asm("add      sp, sp, #80");                                  \
+       __asm("ldp      x0, x1, [sp, #16]");                            \
+       __asm("ldp      x2, x3, [sp, #32]");                            \
+       __asm("ldp      x4, x5, [sp, #48]");                            \
+       __asm("ldp      x6, x7, [sp, #64]");                            \
+       __asm("ldp      x29, x30, [sp], #80");                          \
        __asm("ret");                                                   \
        __asm(".size    " MCOUNT_ASM_NAME ", .-" MCOUNT_ASM_NAME);
 
diff -r 4bbdd6b0091f -r d500db0acc44 sys/arch/amd64/amd64/machdep.c
--- a/sys/arch/amd64/amd64/machdep.c    Sat Apr 25 11:02:22 2020 +0000
+++ b/sys/arch/amd64/amd64/machdep.c    Sat Apr 25 11:23:54 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.346.4.3 2020/04/18 14:47:55 bouyer Exp $ */
+/*     $NetBSD: machdep.c,v 1.346.4.4 2020/04/25 11:23:55 bouyer Exp $ */
 
 /*
  * Copyright (c) 1996, 1997, 1998, 2000, 2006, 2007, 2008, 2011
@@ -110,7 +110,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.346.4.3 2020/04/18 14:47:55 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.346.4.4 2020/04/25 11:23:55 bouyer Exp $");
 
 #include "opt_modular.h"
 #include "opt_user_ldt.h"
@@ -420,10 +420,9 @@
 x86_64_switch_context(struct pcb *new)
 {
        HYPERVISOR_stack_switch(GSEL(GDATA_SEL, SEL_KPL), new->pcb_rsp0);
-       struct physdev_op physop;
-       physop.cmd = PHYSDEVOP_SET_IOPL;
-       physop.u.set_iopl.iopl = new->pcb_iopl;
-       HYPERVISOR_physdev_op(&physop);
+       struct physdev_set_iopl set_iopl;
+       set_iopl.iopl = new->pcb_iopl;
+       HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
 }
 
 void
@@ -481,14 +480,13 @@
 #if !defined(XENPV)
        lldt(GSYSSEL(GLDT_SEL, SEL_KPL));
 #else
-       struct physdev_op physop;
        xen_set_ldt((vaddr_t)ldtstore, LDT_SIZE >> 3);
        /* Reset TS bit and set kernel stack for interrupt handlers */
        HYPERVISOR_fpu_taskswitch(1);
        HYPERVISOR_stack_switch(GSEL(GDATA_SEL, SEL_KPL), pcb->pcb_rsp0);
-       physop.cmd = PHYSDEVOP_SET_IOPL;
-       physop.u.set_iopl.iopl = pcb->pcb_iopl;
-       HYPERVISOR_physdev_op(&physop);
+       struct physdev_set_iopl set_iopl;
+       set_iopl.iopl = pcb->pcb_iopl;
+       HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
 #endif
 }
 
diff -r 4bbdd6b0091f -r d500db0acc44 sys/arch/amd64/amd64/netbsd32_machdep.c
--- a/sys/arch/amd64/amd64/netbsd32_machdep.c   Sat Apr 25 11:02:22 2020 +0000
+++ b/sys/arch/amd64/amd64/netbsd32_machdep.c   Sat Apr 25 11:23:54 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: netbsd32_machdep.c,v 1.133 2019/12/12 02:15:42 pgoyette Exp $  */
+/*     $NetBSD: netbsd32_machdep.c,v 1.133.6.1 2020/04/25 11:23:55 bouyer Exp $        */
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.133 2019/12/12 02:15:42 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.133.6.1 2020/04/25 11:23:55 bouyer Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -74,6 +74,7 @@
 #include <machine/netbsd32_machdep.h>
 #include <machine/sysarch.h>
 #include <machine/userret.h>
+#include <machine/gdt.h>
 
 #include <compat/netbsd32/netbsd32.h>
 #include <compat/netbsd32/netbsd32_exec.h>
@@ -214,18 +215,20 @@
        int onstack, error;
        int sig = ksi->ksi_signo;
        struct netbsd32_sigframe_siginfo *fp, frame;
-       sig_t catcher = SIGACTION(p, sig).sa_handler;
+       const struct sigaction *sa = &SIGACTION(p, sig);
+       sig_t catcher = sa->sa_handler;
        struct trapframe *tf = l->l_md.md_regs;
+       struct sigaltstack * const ss = &l->l_sigstk;
 
        /* Do we need to jump onto the signal stack? */
        onstack =
-           (l->l_sigstk.ss_flags & (SS_DISABLE | SS_ONSTACK)) == 0 &&
-           (SIGACTION(p, sig).sa_flags & SA_ONSTACK) != 0;
+           (ss->ss_flags & (SS_DISABLE | SS_ONSTACK)) == 0 &&
+           (sa->sa_flags & SA_ONSTACK) != 0;
 
        /* Allocate space for the signal handler context. */
        if (onstack)
                fp = (struct netbsd32_sigframe_siginfo *)
-                   ((char *)l->l_sigstk.ss_sp + l->l_sigstk.ss_size);
+                   ((char *)ss->ss_sp + ss->ss_size);
        else
                fp = (struct netbsd32_sigframe_siginfo *)tf->tf_rsp;
 
@@ -252,7 +255,7 @@
        frame.sf_uc.uc_flags = _UC_SIGMASK;
        frame.sf_uc.uc_sigmask = *mask;
        frame.sf_uc.uc_link = (uint32_t)(uintptr_t)l->l_ctxlink;
-       frame.sf_uc.uc_flags |= (l->l_sigstk.ss_flags & SS_ONSTACK)
+       frame.sf_uc.uc_flags |= (ss->ss_flags & SS_ONSTACK)
            ? _UC_SETSTACK : _UC_CLRSTACK;
        sendsig_reset(l, sig);
 
@@ -626,7 +629,7 @@
        ua.start = ua32.start;
        ua.num = ua32.num;
 
-       if (ua.num < 0 || ua.num > 8192)
+       if (ua.num < 0 || ua.num > MAX_USERLDT_SLOTS)
                return EINVAL;
 
        descv = malloc(sizeof(*descv) * ua.num, M_TEMP, M_WAITOK);
@@ -654,7 +657,7 @@
        ua.start = ua32.start;
        ua.num = ua32.num;
 
-       if (ua.num < 0 || ua.num > 8192)
+       if (ua.num < 0 || ua.num > MAX_USERLDT_SLOTS)
                return EINVAL;
 
        cp = malloc(ua.num * sizeof(union descriptor), M_TEMP, M_WAITOK);
diff -r 4bbdd6b0091f -r d500db0acc44 sys/arch/amd64/include/gdt.h
--- a/sys/arch/amd64/include/gdt.h      Sat Apr 25 11:02:22 2020 +0000
+++ b/sys/arch/amd64/include/gdt.h      Sat Apr 25 11:23:54 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: gdt.h,v 1.10 2017/02/08 10:08:26 maxv Exp $    */
+/*     $NetBSD: gdt.h,v 1.10.24.1 2020/04/25 11:23:55 bouyer Exp $     */
 
 /*-
  * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -45,5 +45,6 @@
 void ldt_free(int);
 #endif
 
-#define MINGDTSIZ       PAGE_SIZE
-#define MAXGDTSIZ       65536
+#define MAXGDTSIZ              65536
+#define MAX_USERLDT_SIZE       PAGE_SIZE
+#define MAX_USERLDT_SLOTS      (int)(MAX_USERLDT_SIZE / sizeof(union descriptor))
diff -r 4bbdd6b0091f -r d500db0acc44 sys/arch/amd64/include/pte.h
--- a/sys/arch/amd64/include/pte.h      Sat Apr 25 11:02:22 2020 +0000
+++ b/sys/arch/amd64/include/pte.h      Sat Apr 25 11:23:54 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pte.h,v 1.12 2019/03/09 08:42:25 maxv Exp $    */
+/*     $NetBSD: pte.h,v 1.12.10.1 2020/04/25 11:23:55 bouyer Exp $     */
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -120,28 +120,6 @@
 #define PTE_FRAME      PTE_4KFRAME
 #define PTE_LGFRAME    PTE_2MFRAME
 
-/* XXX To be deleted. */
-#define PG_V           PTE_P
-#define PG_RW          PTE_W
-#define PG_u           PTE_U
-#define PG_WT          PTE_PWT
-#define PG_N           PTE_PCD
-#define PG_U           PTE_A
-#define PG_M           PTE_D
-#define PG_PAT         PTE_PAT
-#define PG_PS          PTE_PS
-#define PG_G           PTE_G
-#define PG_AVAIL1      PTE_AVL1
-#define PG_AVAIL2      PTE_AVL2
-#define PG_AVAIL3      PTE_AVL3
-#define PG_LGPAT       PTE_LGPAT
-#define PG_FRAME       PTE_FRAME
-#define PG_NX          PTE_NX
-#define PG_2MFRAME     PTE_2MFRAME
-#define PG_1GFRAME     PTE_1GFRAME
-#define PG_LGFRAME     PTE_LGFRAME
-#define PG_KW          PTE_W
-
 #include <x86/pte.h>
 



Home | Main Index | Thread Index | Old Index