CVS commit: src/sys/arch/mac68k/mac68k
Module Name:src Committed By: rin Date: Tue Jul 21 05:45:38 UTC 2020 Modified Files: src/sys/arch/mac68k/mac68k: locore.s Log Message: Align tmpstk to 4-byte boundary as required by System V (ELF) ABI. Fix GCC8-compiled kernel crash during very early boot stage when printf decimal numbers; __umoddi3 corrupts stack frame which is not aligned properly. To generate a diff of this commit: cvs rdiff -u -r1.171 -r1.172 src/sys/arch/mac68k/mac68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mac68k/mac68k/locore.s diff -u src/sys/arch/mac68k/mac68k/locore.s:1.171 src/sys/arch/mac68k/mac68k/locore.s:1.172 --- src/sys/arch/mac68k/mac68k/locore.s:1.171 Wed Dec 19 13:57:48 2018 +++ src/sys/arch/mac68k/mac68k/locore.s Tue Jul 21 05:45:38 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.171 2018/12/19 13:57:48 maxv Exp $ */ +/* $NetBSD: locore.s,v 1.172 2020/07/21 05:45:38 rin Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -1367,6 +1367,7 @@ GLOBAL(sanity_check) .long 0x18621862 | this is our stack overflow checker. .space 4 * PAGE_SIZE + .align 4 ASLOCAL(tmpstk) GLOBAL(machineid)
CVS commit: src/sys/arch/mac68k/mac68k
Module Name:src Committed By: rin Date: Tue Jul 21 05:45:38 UTC 2020 Modified Files: src/sys/arch/mac68k/mac68k: locore.s Log Message: Align tmpstk to 4-byte boundary as required by System V (ELF) ABI. Fix GCC8-compiled kernel crash during very early boot stage when printf decimal numbers; __umoddi3 corrupts stack frame which is not aligned properly. To generate a diff of this commit: cvs rdiff -u -r1.171 -r1.172 src/sys/arch/mac68k/mac68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/compat/netbsd32
Module Name:src Committed By: simonb Date: Tue Jul 21 05:33:51 UTC 2020 Modified Files: src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h Log Message: Add lockstat(1) ioctl handling. mrg@: "looks ok." To generate a diff of this commit: cvs rdiff -u -r1.113 -r1.114 src/sys/compat/netbsd32/netbsd32_ioctl.c cvs rdiff -u -r1.71 -r1.72 src/sys/compat/netbsd32/netbsd32_ioctl.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/compat/netbsd32/netbsd32_ioctl.c diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.113 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.114 --- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.113 Sat Jul 18 12:46:19 2020 +++ src/sys/compat/netbsd32/netbsd32_ioctl.c Tue Jul 21 05:33:51 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_ioctl.c,v 1.113 2020/07/18 12:46:19 jmcneill Exp $ */ +/* $NetBSD: netbsd32_ioctl.c,v 1.114 2020/07/21 05:33:51 simonb Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -31,7 +31,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.113 2020/07/18 12:46:19 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.114 2020/07/21 05:33:51 simonb Exp $"); #if defined(_KERNEL_OPT) #include "opt_ntp.h" @@ -1043,6 +1043,54 @@ netbsd32_from_dkwedge_list(const struct s32p->dkwl_ncopied = p->dkwl_ncopied; } +static inline void +netbsd32_to_lsenable(struct netbsd32_lsenable *le32, struct lsenable *le, +u_long cmd) +{ + + le->le_csstart = le32->le_csstart; + le->le_csend = le32->le_csend; + le->le_lockstart = le32->le_lockstart; + le->le_lockend = le32->le_lockend; + le->le_nbufs = le32->le_nbufs; + le->le_flags = le32->le_flags; + le->le_mask = le32->le_mask; +} + +static inline void +netbsd32_from_lsenable(struct lsenable *le, struct netbsd32_lsenable *le32, +u_long cmd) +{ + + le32->le_csstart = le->le_csstart; + le32->le_csend = le->le_csend; + le32->le_lockstart = le->le_lockstart; + le32->le_lockend = le->le_lockend; + le32->le_nbufs = le->le_nbufs; + le32->le_flags = le->le_flags; + le32->le_mask = le->le_mask; +} + +static inline void +netbsd32_to_lsdisable(struct netbsd32_lsdisable *ld32, struct lsdisable *ld, +u_long cmd) +{ + + ld->ld_size = ld32->ld_size; + netbsd32_to_timespec(>ld_time, >ld_time); + memcpy(>ld_time, >ld_time, sizeof(ld->ld_time)); +} + +static inline void +netbsd32_from_lsdisable(struct lsdisable *ld, struct netbsd32_lsdisable *ld32, +u_long cmd) +{ + + ld->ld_size = ld32->ld_size; + netbsd32_from_timespec(>ld_time, >ld_time); + memcpy(>ld_time, >ld_time, sizeof(ld->ld_time)); +} + #ifdef NTP static int netbsd32_do_clockctl_ntp_adjtime(struct file *fp, @@ -1540,6 +1588,11 @@ netbsd32_ioctl(struct lwp *l, case DIOCLWEDGES32: IOCTL_STRUCT_CONV_TO(DIOCLWEDGES, dkwedge_list); + case IOC_LOCKSTAT_ENABLE32: + IOCTL_STRUCT_CONV_TO(IOC_LOCKSTAT_ENABLE, lsenable); + case IOC_LOCKSTAT_DISABLE32: + IOCTL_STRUCT_CONV_TO(IOC_LOCKSTAT_DISABLE, lsdisable); + default: #ifdef NETBSD32_DRMKMS if (IOCGROUP(com) == 'd') { Index: src/sys/compat/netbsd32/netbsd32_ioctl.h diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.71 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.72 --- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.71 Sat Jul 18 12:46:19 2020 +++ src/sys/compat/netbsd32/netbsd32_ioctl.h Tue Jul 21 05:33:51 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_ioctl.h,v 1.71 2020/07/18 12:46:19 jmcneill Exp $ */ +/* $NetBSD: netbsd32_ioctl.h,v 1.72 2020/07/21 05:33:51 simonb Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -35,6 +35,7 @@ #include #include +#include #include #include #include @@ -629,4 +630,24 @@ struct netbsd32_disk_strategy { #define DIOCGSTRATEGY32 _IOR('d', 125, struct netbsd32_disk_strategy) #define DIOCSSTRATEGY32 _IOW('d', 126, struct netbsd32_disk_strategy) +/* from */ +struct netbsd32_lsenable { + netbsd32_uintptr_t le_csstart; /* callsite start */ + netbsd32_uintptr_t le_csend; /* callsite end */ + netbsd32_uintptr_t le_lockstart; /* lock address start */ + netbsd32_uintptr_t le_lockend; /* lock address end */ + netbsd32_uintptr_t le_nbufs; /* buffers to allocate, 0 = default */ + u_int le_flags; /* request flags */ + u_int le_mask; /* event mask (LB_*) */ +}; + +struct netbsd32_lsdisable { + netbsd32_size_t ld_size; /* buffer space allocated */ + struct netbsd32_timespec ld_time; /* time spent enabled */ + uint64_t ld_freq[64]; /* counter HZ by CPU number */ +} __packed; + +#define IOC_LOCKSTAT_ENABLE32 _IOW('L', 1, struct netbsd32_lsenable) +#define IOC_LOCKSTAT_DISABLE32 _IOR('L', 2, struct netbsd32_lsdisable) + int netbsd32_drm_ioctl(struct file *, unsigned long, void *, struct lwp *);
CVS commit: src/sys/compat/netbsd32
Module Name:src Committed By: simonb Date: Tue Jul 21 05:33:51 UTC 2020 Modified Files: src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h Log Message: Add lockstat(1) ioctl handling. mrg@: "looks ok." To generate a diff of this commit: cvs rdiff -u -r1.113 -r1.114 src/sys/compat/netbsd32/netbsd32_ioctl.c cvs rdiff -u -r1.71 -r1.72 src/sys/compat/netbsd32/netbsd32_ioctl.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/netstat
Module Name:src Committed By: gutteridge Date: Tue Jul 21 04:58:44 UTC 2020 Modified Files: src/usr.bin/netstat: netstat.1 Log Message: netstat.1: add various xrefs present in the body to "See Also" To generate a diff of this commit: cvs rdiff -u -r1.73 -r1.74 src/usr.bin/netstat/netstat.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/netstat/netstat.1 diff -u src/usr.bin/netstat/netstat.1:1.73 src/usr.bin/netstat/netstat.1:1.74 --- src/usr.bin/netstat/netstat.1:1.73 Thu May 12 03:44:11 2016 +++ src/usr.bin/netstat/netstat.1 Tue Jul 21 04:58:43 2020 @@ -1,4 +1,4 @@ -.\" $NetBSD: netstat.1,v 1.73 2016/05/12 03:44:11 ozaki-r Exp $ +.\" $NetBSD: netstat.1,v 1.74 2020/07/21 04:58:43 gutteridge Exp $ .\" .\" Copyright (c) 1983, 1990, 1992, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)netstat.1 8.8 (Berkeley) 4/18/94 .\" -.Dd May 12, 2016 +.Dd July 21, 2020 .Dt NETSTAT 1 .Os .Sh NAME @@ -432,12 +432,17 @@ And the fifth character shows the header .Xr sockstat 1 , .Xr vmstat 1 , .Xr inet 3 , +.Xr kvm 3 , +.Xr kvm_openfiles 3 , +.Xr sysctl 3 , .Xr bpf 4 , +.Xr route 4 , .Xr hosts 5 , .Xr networks 5 , .Xr protocols 5 , .Xr services 5 , .Xr iostat 8 , +.Xr route 8 , .Xr trpt 8 .Sh HISTORY The
CVS commit: src/usr.bin/netstat
Module Name:src Committed By: gutteridge Date: Tue Jul 21 04:58:44 UTC 2020 Modified Files: src/usr.bin/netstat: netstat.1 Log Message: netstat.1: add various xrefs present in the body to "See Also" To generate a diff of this commit: cvs rdiff -u -r1.73 -r1.74 src/usr.bin/netstat/netstat.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/games/fortune
Module Name:src Committed By: nia Date: Tue Jul 21 03:05:40 UTC 2020 Modified Files: src/games/fortune/fortune: fortune.c src/games/fortune/strfile: strfile.c Log Message: fortune: arc4random_uniform for better uniform values than random() % ... To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/games/fortune/fortune/fortune.c cvs rdiff -u -r1.40 -r1.41 src/games/fortune/strfile/strfile.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/games/fortune/fortune/fortune.c diff -u src/games/fortune/fortune/fortune.c:1.64 src/games/fortune/fortune/fortune.c:1.65 --- src/games/fortune/fortune/fortune.c:1.64 Tue Jun 19 05:46:08 2012 +++ src/games/fortune/fortune/fortune.c Tue Jul 21 03:05:40 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: fortune.c,v 1.64 2012/06/19 05:46:08 dholland Exp $ */ +/* $NetBSD: fortune.c,v 1.65 2020/07/21 03:05:40 nia Exp $ */ /*- * Copyright (c) 1986, 1993 @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1986, 19 #if 0 static char sccsid[] = "@(#)fortune.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: fortune.c,v 1.64 2012/06/19 05:46:08 dholland Exp $"); +__RCSID("$NetBSD: fortune.c,v 1.65 2020/07/21 03:05:40 nia Exp $"); #endif #endif /* not lint */ @@ -190,7 +190,6 @@ static size_t maxlen_in_list(FILEDESC *) int main(int ac, char *av[]) { - struct timeval tv; #ifdef OK_TO_WRITE_DISK int fd; #endif /* OK_TO_WRITE_DISK */ @@ -203,12 +202,6 @@ main(int ac, char *av[]) #endif init_prob(); - if (gettimeofday(, NULL) != 0) - err(1, "gettimeofday()"); - srandom(((unsigned long)tv.tv_sec)* -((unsigned long)tv.tv_usec+1) * - ((unsigned long)getpid()+1) * -((unsigned long)getppid()+1)); do { get_fort(); } while ((Short_only && fortlen() > SLEN) || @@ -933,7 +926,7 @@ get_fort(void) if (File_list->next == NULL || File_list->percent == NO_PROB) fp = File_list; else { - choice = random() % 100; + choice = arc4random_uniform(100); DPRINTF(1, (stderr, "choice = %d\n", choice)); for (fp = File_list; fp->percent != NO_PROB; fp = fp->next) if (choice < fp->percent) @@ -953,7 +946,7 @@ get_fort(void) else { if (fp->next != NULL) { sum_noprobs(fp); - choice = random() % Noprob_tbl.str_numstr; + choice = arc4random_uniform(Noprob_tbl.str_numstr); DPRINTF(1, (stderr, "choice = %d (of %d) \n", choice, Noprob_tbl.str_numstr)); while ((u_int32_t)choice >= fp->tbl.str_numstr) { @@ -994,7 +987,7 @@ pick_child(FILEDESC *parent) int choice; if (Equal_probs) { - choice = random() % parent->num_children; + choice = arc4random_uniform(parent->num_children); DPRINTF(1, (stderr, "choice = %d (of %d)\n", choice, parent->num_children)); for (fp = parent->child; choice--; fp = fp->next) @@ -1004,7 +997,7 @@ pick_child(FILEDESC *parent) } else { get_tbl(parent); - choice = random() % parent->tbl.str_numstr; + choice = arc4random_uniform(parent->tbl.str_numstr); DPRINTF(1, (stderr, "choice = %d (of %d)\n", choice, parent->tbl.str_numstr)); for (fp = parent->child; (u_int32_t)choice >= fp->tbl.str_numstr; @@ -1084,13 +1077,13 @@ get_pos(FILEDESC *fp) #ifdef OK_TO_WRITE_DISK if ((fd = open(fp->posfile, O_RDONLY)) < 0 || read(fd, >pos, sizeof fp->pos) != sizeof fp->pos) - fp->pos = random() % fp->tbl.str_numstr; + fp->pos = arc4random_uniform(fp->tbl.str_numstr); else if (fp->pos >= fp->tbl.str_numstr) fp->pos %= fp->tbl.str_numstr; if (fd >= 0) (void) close(fd); #else - fp->pos = random() % fp->tbl.str_numstr; + fp->pos = arc4random_uniform(fp->tbl.str_numstr); #endif /* OK_TO_WRITE_DISK */ } if ((u_int64_t)++(fp->pos) >= fp->tbl.str_numstr) Index: src/games/fortune/strfile/strfile.c diff -u src/games/fortune/strfile/strfile.c:1.40 src/games/fortune/strfile/strfile.c:1.41 --- src/games/fortune/strfile/strfile.c:1.40 Thu Apr 30 12:32:26 2020 +++ src/games/fortune/strfile/strfile.c Tue Jul 21 03:05:40 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: strfile.c,v 1.40 2020/04/30 12:32:26 christos Exp $ */ +/* $NetBSD: strfile.c,v 1.41 2020/07/21 03:05:40 nia Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -47,7 +47,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 19 #if 0 static char sccsid[] = "@(#)strfile.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: strfile.c,v 1.40 2020/04/30 12:32:26 christos Exp $"); +__RCSID("$NetBSD: strfile.c,v 1.41 2020/07/21 03:05:40 nia Exp $"); #endif #endif /* not lint */ #endif /* __NetBSD__ */ @@ -438,8 +438,6 @@ randomize(void) off_t tmp; off_t *sp; - srandom((int)(time(NULL) + getpid())); - Tbl.str_flags |= STR_RANDOM; cnt = Tbl.str_numstr; @@ -448,7 +446,7 @@ randomize(void) */ for (sp = Seekpts; cnt > 0; cnt--, sp++) { - i = random() % cnt; + i = arc4random_uniform(cnt); tmp = sp[0]; sp[0] = sp[i]; sp[i] = tmp;
CVS commit: src/games/fortune
Module Name:src Committed By: nia Date: Tue Jul 21 03:05:40 UTC 2020 Modified Files: src/games/fortune/fortune: fortune.c src/games/fortune/strfile: strfile.c Log Message: fortune: arc4random_uniform for better uniform values than random() % ... To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/games/fortune/fortune/fortune.c cvs rdiff -u -r1.40 -r1.41 src/games/fortune/strfile/strfile.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/games/tetris
Module Name:src Committed By: nia Date: Tue Jul 21 02:42:05 UTC 2020 Modified Files: src/games/tetris: tetris.c tetris.h Log Message: tetris: Use arc4random_uniform instead of modulo for better randomness To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/games/tetris/tetris.c cvs rdiff -u -r1.15 -r1.16 src/games/tetris/tetris.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/games/tetris/tetris.c diff -u src/games/tetris/tetris.c:1.32 src/games/tetris/tetris.c:1.33 --- src/games/tetris/tetris.c:1.32 Thu Mar 3 21:38:55 2016 +++ src/games/tetris/tetris.c Tue Jul 21 02:42:05 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: tetris.c,v 1.32 2016/03/03 21:38:55 nat Exp $ */ +/* $NetBSD: tetris.c,v 1.33 2020/07/21 02:42:05 nia Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -207,7 +207,6 @@ main(int argc, char *argv[]) scr_init(); setup_board(); - srandom(getpid()); scr_set(); pos = A_FIRST*B_COLS + (B_COLS/2)-1; Index: src/games/tetris/tetris.h diff -u src/games/tetris/tetris.h:1.15 src/games/tetris/tetris.h:1.16 --- src/games/tetris/tetris.h:1.15 Thu Mar 3 21:38:55 2016 +++ src/games/tetris/tetris.h Tue Jul 21 02:42:05 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: tetris.h,v 1.15 2016/03/03 21:38:55 nat Exp $ */ +/* $NetBSD: tetris.h,v 1.16 2020/07/21 02:42:05 nia Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -130,7 +130,7 @@ struct shape { }; extern const struct shape shapes[]; -#define randshape() ([random() % 7]) +#define randshape() ([arc4random_uniform(7)]) extern const struct shape *nextshape;
CVS commit: src/games/tetris
Module Name:src Committed By: nia Date: Tue Jul 21 02:42:05 UTC 2020 Modified Files: src/games/tetris: tetris.c tetris.h Log Message: tetris: Use arc4random_uniform instead of modulo for better randomness To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/games/tetris/tetris.c cvs rdiff -u -r1.15 -r1.16 src/games/tetris/tetris.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/distrib/notes/evbarm
Module Name:src Committed By: nia Date: Tue Jul 21 02:21:12 UTC 2020 Modified Files: src/distrib/notes/evbarm: contents Log Message: Fix location of device trees To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/distrib/notes/evbarm/contents Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/notes/evbarm/contents diff -u src/distrib/notes/evbarm/contents:1.10 src/distrib/notes/evbarm/contents:1.11 --- src/distrib/notes/evbarm/contents:1.10 Sat Jul 18 17:20:59 2020 +++ src/distrib/notes/evbarm/contents Tue Jul 21 02:21:12 2020 @@ -1,4 +1,4 @@ -.\" $NetBSD: contents,v 1.10 2020/07/18 17:20:59 nia Exp $ +.\" $NetBSD: contents,v 1.11 2020/07/21 02:21:12 nia Exp $ .\" .\" Copyright (c) 1999-2020 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -61,8 +61,6 @@ operating system for a range of 64-bit d A gzipped writable image containing the complete 32-bit .Nx operating system for Raspberry Pi variants only (includes RPI kernels). -. It Pa *.dtb.gz -Gzipped board-specific device trees. . tag) \" binary/gzimg/ . It Pa kernel/ . (tag netbsd.gz -compact \" binary/kernel @@ -76,6 +74,8 @@ do not need board-specific kernels. A gzipped ARMv6 kernel which supports the Raspberry Pi 1 only. . It Pa netbsd-RPI2.gz A gzipped ARMv6 kernel which supports the Raspberry Pi 2 only. +. It Pa *.dtb.gz +Gzipped board-specific device trees. . tag) \" binary/kernel/ . . It Pa sets/
CVS commit: src/distrib/notes/evbarm
Module Name:src Committed By: nia Date: Tue Jul 21 02:21:12 UTC 2020 Modified Files: src/distrib/notes/evbarm: contents Log Message: Fix location of device trees To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/distrib/notes/evbarm/contents Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 21:33:13 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): extract :ts modifier into separate function To generate a diff of this commit: cvs rdiff -u -r1.288 -r1.289 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 21:33:13 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): extract :ts modifier into separate function To generate a diff of this commit: cvs rdiff -u -r1.288 -r1.289 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.288 src/usr.bin/make/var.c:1.289 --- src/usr.bin/make/var.c:1.288 Mon Jul 20 20:56:39 2020 +++ src/usr.bin/make/var.c Mon Jul 20 21:33:13 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.288 2020/07/20 20:56:39 rillig Exp $ */ +/* $NetBSD: var.c,v 1.289 2020/07/20 21:33:13 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.288 2020/07/20 20:56:39 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.289 2020/07/20 21:33:13 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.288 2020/07/20 20:56:39 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.289 2020/07/20 21:33:13 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -2599,101 +2599,101 @@ VarModify_Copy(GNode *ctx MAKE_ATTR_UNUS SepBuf_AddBytes(buf, word, strlen(word)); } -/* :tA, :tu, :tl, etc. */ +/* :ts */ +static Boolean +ApplyModifier_ToSep(ApplyModifiersState *st) +{ +const char *sep = st->tstr + 2; + +if (sep[0] != st->endc && (sep[1] == st->endc || sep[1] == ':')) { + /* ":ts" or ":ts:" */ + st->parsestate.varSpace = sep[0]; + st->cp = sep + 1; +} else if (sep[0] == st->endc || sep[0] == ':') { + /* ":ts" or ":ts:" */ + st->parsestate.varSpace = 0; /* no separator */ + st->cp = sep; +} else if (sep[0] == '\\') { + const char *xp = sep + 1; + int base = 8; /* assume octal */ + + switch (sep[1]) { + case 'n': + st->parsestate.varSpace = '\n'; + st->cp = sep + 2; + break; + case 't': + st->parsestate.varSpace = '\t'; + st->cp = sep + 2; + break; + case 'x': + base = 16; + xp++; + goto get_numeric; + case '0': + base = 0; + goto get_numeric; + default: + if (!isdigit((unsigned char)sep[1])) + return FALSE; /* ":ts". */ + + char *end; + get_numeric: + st->parsestate.varSpace = strtoul(sep + 1 + (sep[1] == 'x'), , base); + if (*end != ':' && *end != st->endc) + return FALSE; + st->cp = end; + break; + } +} else { + return FALSE; /* Found ":ts". */ +} + +st->termc = *st->cp; +st->newStr = VarModify(st->ctxt, >parsestate, st->nstr, + VarModify_Copy, NULL); +return TRUE; +} + +/* :tA, :tu, :tl, :ts, etc. */ static Boolean ApplyModifier_To(ApplyModifiersState *st) { st->cp = st->tstr + 1; /* make sure it is set */ -if (st->tstr[1] != st->endc && st->tstr[1] != ':') { - if (st->tstr[1] == 's') { - /* Use the char (if any) at st->tstr[2] as the word separator. */ - - if (st->tstr[2] != st->endc && - (st->tstr[3] == st->endc || st->tstr[3] == ':')) { - /* ":ts" or - * ":ts:" */ - st->parsestate.varSpace = st->tstr[2]; - st->cp = st->tstr + 3; - } else if (st->tstr[2] == st->endc || st->tstr[2] == ':') { - /* ":ts" or ":ts:" */ - st->parsestate.varSpace = 0; /* no separator */ - st->cp = st->tstr + 2; - } else if (st->tstr[2] == '\\') { - const char *xp = >tstr[3]; - int base = 8; /* assume octal */ - - switch (st->tstr[3]) { - case 'n': - st->parsestate.varSpace = '\n'; - st->cp = st->tstr + 4; - break; - case 't': - st->parsestate.varSpace = '\t'; - st->cp = st->tstr + 4; - break; - case 'x': - base = 16; - xp++; - goto get_numeric; - case '0': - base = 0; - goto get_numeric; - default: - if (isdigit((unsigned char)st->tstr[3])) { - char *ep; - get_numeric: - st->parsestate.varSpace = strtoul(xp, , base); - if (*ep != ':' && *ep != st->endc) - return FALSE; - st->cp = ep; - } else { - /* ":ts". */ - return FALSE; - } - break; - } - } else { - /* Found ":ts". */ - return FALSE; - } +if (st->tstr[1] == st->endc || st->tstr[1] == ':') + return FALSE; /* Found ":t" or ":t:". */ - st->termc = *st->cp; - st->newStr = VarModify(st->ctxt, >parsestate, st->nstr, - VarModify_Copy, NULL); - } else if (st->tstr[2] == st->endc || st->tstr[2] == ':') { - /* Check for two-character options: ":tu", ":tl" */ - if (st->tstr[1] == 'A') { /* absolute path */ - st->newStr = VarModify( - st->ctxt, >parsestate, st->nstr, VarRealpath, NULL); - st->cp = st->tstr + 2; - st->termc = *st->cp; - } else if (st->tstr[1] == 'u') { - char *dp = bmake_strdup(st->nstr); - for (st->newStr = dp; *dp; dp++) - *dp = toupper((unsigned char)*dp); - st->cp = st->tstr + 2; - st->termc = *st->cp; -
CVS commit: src/sys/external/bsd/drm2/via
Module Name:src Committed By: riastradh Date: Mon Jul 20 21:29:38 UTC 2020 Modified Files: src/sys/external/bsd/drm2/via: via_pci.c Log Message: viadrmums: Stop gracefully at the end of the PCI id list. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/via/via_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/external/bsd/drm2/via/via_pci.c diff -u src/sys/external/bsd/drm2/via/via_pci.c:1.3 src/sys/external/bsd/drm2/via/via_pci.c:1.4 --- src/sys/external/bsd/drm2/via/via_pci.c:1.3 Mon Aug 27 14:12:44 2018 +++ src/sys/external/bsd/drm2/via/via_pci.c Mon Jul 20 21:29:38 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: via_pci.c,v 1.3 2018/08/27 14:12:44 riastradh Exp $ */ +/* $NetBSD: via_pci.c,v 1.4 2020/07/20 21:29:38 riastradh Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: via_pci.c,v 1.3 2018/08/27 14:12:44 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: via_pci.c,v 1.4 2020/07/20 21:29:38 riastradh Exp $"); #include #include @@ -70,6 +70,9 @@ viadrm_lookup(const struct pci_attach_ar unsigned i; for (i = 0; i < __arraycount(viadrm_pci_ids); i++) { + if (viadrm_pci_ids[i].vendor == 0 && + viadrm_pci_ids[i].device == 0) + break; KASSERT(viadrm_pci_ids[i].subvendor == PCI_ANY_ID); KASSERT(viadrm_pci_ids[i].subdevice == PCI_ANY_ID); KASSERT(viadrm_pci_ids[i].class == 0);
CVS commit: src/sys/external/bsd/drm2/via
Module Name:src Committed By: riastradh Date: Mon Jul 20 21:29:38 UTC 2020 Modified Files: src/sys/external/bsd/drm2/via: via_pci.c Log Message: viadrmums: Stop gracefully at the end of the PCI id list. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/via/via_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 20:56:39 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): clean up implementation of :[...] and other modifiers To generate a diff of this commit: cvs rdiff -u -r1.287 -r1.288 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.287 src/usr.bin/make/var.c:1.288 --- src/usr.bin/make/var.c:1.287 Mon Jul 20 19:53:40 2020 +++ src/usr.bin/make/var.c Mon Jul 20 20:56:39 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.287 2020/07/20 19:53:40 rillig Exp $ */ +/* $NetBSD: var.c,v 1.288 2020/07/20 20:56:39 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.287 2020/07/20 19:53:40 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.288 2020/07/20 20:56:39 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.287 2020/07/20 19:53:40 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.288 2020/07/20 20:56:39 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -240,8 +240,8 @@ typedef enum { VARP_SUB_GLOBAL = 0x01, /* Apply substitution globally */ VARP_SUB_ONE = 0x02, /* Apply substitution to one word */ VARP_SUB_MATCHED = 0x04, /* There was a match */ -VARP_MATCH_START = 0x08, /* Match at start of word */ -VARP_MATCH_END = 0x10 /* Match at end of word */ +VARP_ANCHOR_START = 0x08, /* Match at start of word */ +VARP_ANCHOR_END = 0x10 /* Match at end of word */ } VarPatternFlags; typedef enum { @@ -1354,12 +1354,12 @@ VarSubstitute(GNode *ctx MAKE_ATTR_UNUSE (VARP_SUB_ONE | VARP_SUB_MATCHED)) goto nosub; -if (args->pflags & VARP_MATCH_START) { +if (args->pflags & VARP_ANCHOR_START) { if (wordLen < args->lhsLen || memcmp(word, args->lhs, args->lhsLen) != 0) goto nosub; - if (args->pflags & VARP_MATCH_END) { + if (args->pflags & VARP_ANCHOR_END) { if (wordLen != args->lhsLen) goto nosub; @@ -1373,7 +1373,7 @@ VarSubstitute(GNode *ctx MAKE_ATTR_UNUSE return; } -if (args->pflags & VARP_MATCH_END) { +if (args->pflags & VARP_ANCHOR_END) { if (wordLen < args->lhsLen) goto nosub; const char *start = word + (wordLen - args->lhsLen); @@ -1886,7 +1886,7 @@ VarRange(const char *str, int ac) * * If length is specified, return the string length of the buffer. * If mpflags is specified and the last character of the pattern is a $, - * set the VARP_MATCH_END bit of mpflags. + * set the VARP_ANCHOR_END bit of mpflags. */ static char * ParseModifierPart(GNode *ctxt, const char **tstr, int delim, @@ -1916,15 +1916,11 @@ ParseModifierPart(GNode *ctxt, const cha Buf_AddByte(, cp[1]); cp++; } else if (*cp == '$') { - if (cp[1] == delim) { + if (cp[1] == delim) { /* Unescaped $ at end of pattern */ if (mpflags == NULL) Buf_AddByte(, *cp); else - /* - * Unescaped $ at end of pattern => anchor - * pattern at end. - */ - *mpflags |= VARP_MATCH_END; + *mpflags |= VARP_ANCHOR_END; } else { if (!(eflags & VARE_NOSUBST)) { char *cp2; @@ -2164,13 +2160,15 @@ ApplyModifier_At(ApplyModifiersState *st st->cp = ++st->tstr; st->delim = '@'; -loop.tvar = ParseModifierPart( - st->ctxt, >cp, st->delim, st->eflags | VARE_NOSUBST, NULL, NULL, NULL); +loop.tvar = ParseModifierPart(st->ctxt, >cp, st->delim, + st->eflags | VARE_NOSUBST, + NULL, NULL, NULL); if (loop.tvar == NULL) return FALSE; -loop.str = ParseModifierPart( - st->ctxt, >cp, st->delim, st->eflags | VARE_NOSUBST, NULL, NULL, NULL); +loop.str = ParseModifierPart(st->ctxt, >cp, st->delim, + st->eflags | VARE_NOSUBST, + NULL, NULL, NULL); if (loop.str == NULL) return FALSE; @@ -2389,22 +2387,14 @@ ApplyModifier_Range(ApplyModifiersState static void ApplyModifier_Match(ApplyModifiersState *st) { -char*pattern; -const char *endpat; /* points just after end of pattern */ -char*cp2; -Boolean copy; /* pattern should be, or has been, copied */ -Boolean needSubst; -int nest; - -copy = FALSE; -needSubst = FALSE; -nest = 1; +Boolean copy = FALSE; /* pattern should be, or has been, copied */ +Boolean needSubst = FALSE; /* - * In the loop below, ignore ':' unless we are at - * (or back to) the original brace level. - * XXX This will likely not work right if $() and ${} - * are intermixed. + * In the loop below, ignore ':' unless we are at (or back to) the + * original brace level. + * XXX This will likely not work right if $() and ${} are intermixed. */ +int nest = 1; for (st->cp = st->tstr
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 20:56:39 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): clean up implementation of :[...] and other modifiers To generate a diff of this commit: cvs rdiff -u -r1.287 -r1.288 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 19:53:40 UTC 2020 Modified Files: src/usr.bin/make: nonints.h var.c src/usr.bin/make/unit-tests: modmisc.exp Log Message: make(1): fix edge cases with $ at the end of the :@ modifier In both parts of the :@ modifier, by passing to ParseModifierPart, a final $ was interpreted as an anchor, which only makes sense in the :S and :C modifiers. This edge case is neither used by src nor by pkgsrc, except for the unit tests that have been adjusted. To generate a diff of this commit: cvs rdiff -u -r1.81 -r1.82 src/usr.bin/make/nonints.h cvs rdiff -u -r1.286 -r1.287 src/usr.bin/make/var.c cvs rdiff -u -r1.22 -r1.23 src/usr.bin/make/unit-tests/modmisc.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 19:53:40 UTC 2020 Modified Files: src/usr.bin/make: nonints.h var.c src/usr.bin/make/unit-tests: modmisc.exp Log Message: make(1): fix edge cases with $ at the end of the :@ modifier In both parts of the :@ modifier, by passing to ParseModifierPart, a final $ was interpreted as an anchor, which only makes sense in the :S and :C modifiers. This edge case is neither used by src nor by pkgsrc, except for the unit tests that have been adjusted. To generate a diff of this commit: cvs rdiff -u -r1.81 -r1.82 src/usr.bin/make/nonints.h cvs rdiff -u -r1.286 -r1.287 src/usr.bin/make/var.c cvs rdiff -u -r1.22 -r1.23 src/usr.bin/make/unit-tests/modmisc.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/nonints.h diff -u src/usr.bin/make/nonints.h:1.81 src/usr.bin/make/nonints.h:1.82 --- src/usr.bin/make/nonints.h:1.81 Mon Jul 20 18:12:48 2020 +++ src/usr.bin/make/nonints.h Mon Jul 20 19:53:40 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: nonints.h,v 1.81 2020/07/20 18:12:48 sjg Exp $ */ +/* $NetBSD: nonints.h,v 1.82 2020/07/20 19:53:40 rillig Exp $ */ /*- * Copyright (c) 1988, 1989, 1990, 1993 @@ -179,9 +179,14 @@ void Targ_Propagate_Wait(void); /* var.c */ typedef enum { - VARE_UNDEFERR = 1, - VARE_WANTRES = 2, - VARE_ASSIGN = 4 +/* Treat undefined variables as errors. */ +VARE_UNDEFERR = 0x01, +/* Actually evaluate the text, fully expanding variables. + * Without this flag, the text is only parsed but not evaluated. */ +VARE_WANTRES = 0x02, +VARE_ASSIGN = 0x04, +/* Return the literal text, without expanding variables. */ +VARE_NOSUBST = 0x08 } VarEvalFlags; void Var_Delete(const char *, GNode *); Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.286 src/usr.bin/make/var.c:1.287 --- src/usr.bin/make/var.c:1.286 Mon Jul 20 18:12:48 2020 +++ src/usr.bin/make/var.c Mon Jul 20 19:53:40 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.286 2020/07/20 18:12:48 sjg Exp $ */ +/* $NetBSD: var.c,v 1.287 2020/07/20 19:53:40 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.286 2020/07/20 18:12:48 sjg Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.287 2020/07/20 19:53:40 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.286 2020/07/20 18:12:48 sjg Exp $"); +__RCSID("$NetBSD: var.c,v 1.287 2020/07/20 19:53:40 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -241,11 +241,7 @@ typedef enum { VARP_SUB_ONE = 0x02, /* Apply substitution to one word */ VARP_SUB_MATCHED = 0x04, /* There was a match */ VARP_MATCH_START = 0x08, /* Match at start of word */ -VARP_MATCH_END = 0x10, /* Match at end of word */ - -/* FIXME: This constant doesn't belong here. - * It is not related to pattern matching. */ -VAR_NOSUBST = 0x20 /* don't expand vars in ParseModifierPart */ +VARP_MATCH_END = 0x10 /* Match at end of word */ } VarPatternFlags; typedef enum { @@ -1879,7 +1875,7 @@ VarRange(const char *str, int ac) /*- * Parse a text part of a modifier such as the "from" and "to" in :S/from/to/ * or the :@ modifier. Nested variables in the text are expanded unless - * VAR_NOSUBST is set. + * VARE_NOSUBST is set. * * The text part is parsed until the next delimiter. To escape the delimiter, * a backslash or a dollar, put a backslash before it. @@ -1930,8 +1926,7 @@ ParseModifierPart(GNode *ctxt, const cha */ *mpflags |= VARP_MATCH_END; } else { - /* FIXME: mismatch between mpflags and VAR_NOSUBST */ - if (mpflags == NULL || !(*mpflags & VAR_NOSUBST)) { + if (!(eflags & VARE_NOSUBST)) { char *cp2; int len; void *freeIt; @@ -2166,17 +2161,16 @@ typedef struct { static Boolean ApplyModifier_At(ApplyModifiersState *st) { VarLoop loop; -VarPatternFlags pflags = VAR_NOSUBST; /* FIXME: mismatch between pflags and VAR_NOSUBST */ st->cp = ++st->tstr; st->delim = '@'; loop.tvar = ParseModifierPart( - st->ctxt, >cp, st->delim, st->eflags, , NULL, NULL); + st->ctxt, >cp, st->delim, st->eflags | VARE_NOSUBST, NULL, NULL, NULL); if (loop.tvar == NULL) return FALSE; loop.str = ParseModifierPart( - st->ctxt, >cp, st->delim, st->eflags, , NULL, NULL); + st->ctxt, >cp, st->delim, st->eflags | VARE_NOSUBST, NULL, NULL, NULL); if (loop.str == NULL) return FALSE; @@ -2942,8 +2936,6 @@ ApplyModifier_Assign(ApplyModifiersState return 'd'; /* "::" */ GNode *v_ctxt; /* context where v belongs */ -VarPatternFlags pflags; -/* FIXME: Assign has nothing to do with VarPatternFlags */ if (st->v->name[0] == 0) return 'b'; @@ -2977,9 +2969,9 @@
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Mon Jul 20 19:03:26 UTC 2020 Modified Files: src/usr.bin/make/unit-tests: modmisc.exp modmisc.mk Log Message: make(1): add test for nested assignments This test demonstrates that in ApplyModifier_Assign, the call to ParseModifierPart must get its pflags. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/usr.bin/make/unit-tests/modmisc.exp cvs rdiff -u -r1.17 -r1.18 src/usr.bin/make/unit-tests/modmisc.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Mon Jul 20 19:03:26 UTC 2020 Modified Files: src/usr.bin/make/unit-tests: modmisc.exp modmisc.mk Log Message: make(1): add test for nested assignments This test demonstrates that in ApplyModifier_Assign, the call to ParseModifierPart must get its pflags. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/usr.bin/make/unit-tests/modmisc.exp cvs rdiff -u -r1.17 -r1.18 src/usr.bin/make/unit-tests/modmisc.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/unit-tests/modmisc.exp diff -u src/usr.bin/make/unit-tests/modmisc.exp:1.21 src/usr.bin/make/unit-tests/modmisc.exp:1.22 --- src/usr.bin/make/unit-tests/modmisc.exp:1.21 Mon Jul 20 16:12:02 2020 +++ src/usr.bin/make/unit-tests/modmisc.exp Mon Jul 20 19:03:25 2020 @@ -78,5 +78,9 @@ mod-assign: appended=1 2 3. 3 mod-assign: ran:3. mod-assign: global: 1, 3, 1 2 3, 3. +mod-assign-nested: then1t1 +mod-assign-nested: else2e2 +mod-assign-nested: then3t3 +mod-assign-nested: else4e4 mod-tu-space: A B exit status 0 Index: src/usr.bin/make/unit-tests/modmisc.mk diff -u src/usr.bin/make/unit-tests/modmisc.mk:1.17 src/usr.bin/make/unit-tests/modmisc.mk:1.18 --- src/usr.bin/make/unit-tests/modmisc.mk:1.17 Mon Jul 20 16:12:02 2020 +++ src/usr.bin/make/unit-tests/modmisc.mk Mon Jul 20 19:03:25 2020 @@ -1,4 +1,4 @@ -# $Id: modmisc.mk,v 1.17 2020/07/20 16:12:02 rillig Exp $ +# $Id: modmisc.mk,v 1.18 2020/07/20 19:03:25 rillig Exp $ # # miscellaneous modifier tests @@ -20,6 +20,7 @@ all: mod-S mod-C mod-at-varname mod-at-r all: mod-subst-dollar mod-loop-dollar all: mod-C-limits all: mod-assign +all: mod-assign-nested all: mod-tu-space modsysv: @@ -158,6 +159,14 @@ mod-assign: # preserved even after the shell command has been run. @echo $@: global: ${FIRST:Q}, ${LAST:Q}, ${APPENDED:Q}, ${RAN:Q}. +mod-assign-nested: + @echo $@: ${1:?${THEN1::=then1${IT1::=t1}}:${ELSE1::=else1${IE1::=e1}}}${THEN1}${ELSE1}${IT1}${IE1} + @echo $@: ${0:?${THEN2::=then2${IT2::=t2}}:${ELSE2::=else2${IE2::=e2}}}${THEN2}${ELSE2}${IT2}${IE2} + @echo $@: ${SINK3:Q} + @echo $@: ${SINK4:Q} +SINK3:= ${1:?${THEN3::=then3${IT3::=t3}}:${ELSE3::=else3${IE3::=e3}}}${THEN3}${ELSE3}${IT3}${IE3} +SINK4:= ${0:?${THEN4::=then4${IT4::=t4}}:${ELSE4::=else4${IE4::=e4}}}${THEN4}${ELSE4}${IT4}${IE4} + mod-tu-space: # The :tu and :tl modifiers operate on the variable value # as a single string, not as a list of words. Therefore,
CVS commit: [netbsd-8] src/doc
Module Name:src Committed By: martin Date: Mon Jul 20 19:02:43 UTC 2020 Modified Files: src/doc [netbsd-8]: CHANGES-8.3 Log Message: Tickets #1577 - #1581 To generate a diff of this commit: cvs rdiff -u -r1.1.2.22 -r1.1.2.23 src/doc/CHANGES-8.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/doc
Module Name:src Committed By: martin Date: Mon Jul 20 19:02:43 UTC 2020 Modified Files: src/doc [netbsd-8]: CHANGES-8.3 Log Message: Tickets #1577 - #1581 To generate a diff of this commit: cvs rdiff -u -r1.1.2.22 -r1.1.2.23 src/doc/CHANGES-8.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES-8.3 diff -u src/doc/CHANGES-8.3:1.1.2.22 src/doc/CHANGES-8.3:1.1.2.23 --- src/doc/CHANGES-8.3:1.1.2.22 Fri Jul 17 15:29:12 2020 +++ src/doc/CHANGES-8.3 Mon Jul 20 19:02:43 2020 @@ -1,4 +1,4 @@ -# $NetBSD: CHANGES-8.3,v 1.1.2.22 2020/07/17 15:29:12 martin Exp $ +# $NetBSD: CHANGES-8.3,v 1.1.2.23 2020/07/20 19:02:43 martin Exp $ A complete list of changes from the NetBSD 8.2 release to the NetBSD 8.3 release: @@ -299,3 +299,61 @@ sys/net/if.c 1.479 ioctl(SIOCGIFCONF): do not accept negative buffer length values. [msaitoh, ticket #1576] +sys/dev/mii/miidevs1.168 +sys/dev/mii/miidevs.h(regen) +sys/dev/mii/miidevs_data.h (regen) + + Add some Microsemi (Vitesse) devices. + [msaitoh, ticket #1577] + +sys/arch/x86/pci/rdcpcib.c 1.3 +sys/dev/pci/pcidevs1.1404,1.1405 +sys/dev/pci/pcidevs.h(regen) +sys/dev/pci/pcidevs_data.h (regen) + + Add more RDC products. + [msaitoh, ticket #1578] + +sys/dev/pci/pcidevs1.1392-1.1403, 1.1406-1.1419 +sys/dev/pci/pcidevs.h(regen) +sys/dev/pci/pcidevs_data.h (regen) + + - Add Intel Xeon D-1500 NTB-secondary and Xeon D NS QuickData DMA + channel 0-7. + - Add Intel I219 LM10-LM15 and V10-V14. + - Add AMD Family14h PCIe. + - Add Realtek Killer E3000. + - Add Aquantia AQC 10G network adapters. + - Add Radeon HD4290 + - Add Farallon PN9000SX Ethernet. + - NVIDIA 0x036[0-7] are nForce MCP55 LPC Bridge. + - Add VIA VX900 chipset. + - Add some NVIDIA devices. + - Add some Intel UHD Graphics devices. + - Add Intel Comet Lake, Whiskey Lake U and Amber Lake Y devices. + - Modify description of Intel 0x591e from HD Graphics to UHD Graphics. + - Add Intel XMM 7360 LTE Modem. + - Add Western Digital WD Blue SN550 NVMe SSD. + - Add ATI Radeon R5/R6/R7 Graphics. + - Add IDs for Ampere eMAG PCIe Root Ports. + - Add RTL8192EE Wireless LAN 802.11n PCI-E NIC. + - Add ASIX AX99100 Multi I/O (Serial,Parallel,I2C,SPI,LocalBus,GPIO) + Controller. + - Add a couple of additional device IDs for the AMD Cryptographic + Coprocessor. + - Remove duplicated entries. + [msaitoh, ticket #1579] + +sys/dev/i2c/sdtemp.c 1.35, 1.37-1.39 + + - Check the return value of iic_acquire_bus() because this function + may fail. + - Fix typo in comment. + - KNF. + [msaitoh, ticket #1580] + +sys/arch/x86/x86/procfs_machdep.c 1.37,1.38 + + Add AMD protected processor identification number (ppin). + [msaitoh, ticket #1581] +
CVS commit: [netbsd-8] src/sys/dev/i2c
Module Name:src Committed By: martin Date: Mon Jul 20 19:00:40 UTC 2020 Modified Files: src/sys/dev/i2c [netbsd-8]: sdtemp.c Log Message: Pull up the following revisions, requested by msaitoh in ticket #1580: sys/dev/i2c/sdtemp.c1.35, 1.37-1.39 - Check the return value of iic_acquire_bus() because this function may fail. - Fix typo in comment. - KNF. To generate a diff of this commit: cvs rdiff -u -r1.32.8.1 -r1.32.8.2 src/sys/dev/i2c/sdtemp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/i2c/sdtemp.c diff -u src/sys/dev/i2c/sdtemp.c:1.32.8.1 src/sys/dev/i2c/sdtemp.c:1.32.8.2 --- src/sys/dev/i2c/sdtemp.c:1.32.8.1 Thu Mar 8 14:29:12 2018 +++ src/sys/dev/i2c/sdtemp.c Mon Jul 20 19:00:40 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: sdtemp.c,v 1.32.8.1 2018/03/08 14:29:12 martin Exp $*/ +/* $NetBSD: sdtemp.c,v 1.32.8.2 2020/07/20 19:00:40 martin Exp $*/ /* * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sdtemp.c,v 1.32.8.1 2018/03/08 14:29:12 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sdtemp.c,v 1.32.8.2 2020/07/20 19:00:40 martin Exp $"); #include #include @@ -214,8 +214,13 @@ sdtemp_match(device_t parent, cfdata_t c if ((ia->ia_addr & SDTEMP_ADDRMASK) != SDTEMP_ADDR) return 0; - /* Verify that we can read the manufacturer ID, Device ID and the capability */ - iic_acquire_bus(sc.sc_tag, 0); + /* + * Verify that we can read the manufacturer ID, Device ID and the + * capability + */ + error = iic_acquire_bus(sc.sc_tag, 0); + if (error) + return 0; error = sdtemp_read_16(, SDTEMP_REG_MFG_ID, ) | sdtemp_read_16(, SDTEMP_REG_DEV_REV, ) | sdtemp_read_16(, SDTEMP_REG_CAPABILITY, ); @@ -234,8 +239,8 @@ sdtemp_match(device_t parent, cfdata_t c } /* - * Check by SDTEMP_IS_TSE2004AV() might not be enough, so check the alarm - * capability, too. + * Check by SDTEMP_IS_TSE2004AV() might not be enough, so check the + * alarm capability, too. */ if ((cap & SDTEMP_CAP_HAS_ALARM) == 0) return 0; @@ -255,7 +260,10 @@ sdtemp_attach(device_t parent, device_t sc->sc_address = ia->ia_addr; sc->sc_dev = self; - iic_acquire_bus(sc->sc_tag, 0); + error = iic_acquire_bus(sc->sc_tag, 0); + if (error) + return; + if ((error = sdtemp_read_16(sc, SDTEMP_REG_MFG_ID, )) != 0 || (error = sdtemp_read_16(sc, SDTEMP_REG_DEV_REV, )) != 0) { iic_release_bus(sc->sc_tag, 0); @@ -297,7 +305,7 @@ sdtemp_attach(device_t parent, device_t * IDT's devices and some Microchip's devices have the resolution * register in the vendor specific registers area. The devices' * resolution bits in the capability register are not the maximum - * resolution but the current vaule of the setting. + * resolution but the current value of the setting. */ if (sdtemp_dev_table[i].sdtemp_config != NULL) sdtemp_dev_table[i].sdtemp_config(sc); @@ -428,7 +436,9 @@ sdtemp_get_limits(struct sysmon_envsys * uint16_t lim; *props = 0; - iic_acquire_bus(sc->sc_tag, 0); + if (iic_acquire_bus(sc->sc_tag, 0) != 0) + return; + if (sdtemp_read_16(sc, SDTEMP_REG_LOWER_LIM, ) == 0 && lim != 0) { limits->sel_warnmin = sdtemp_decode_temp(sc, lim); *props |= PROP_WARNMIN; @@ -458,7 +468,9 @@ sdtemp_set_limits(struct sysmon_envsys * limits = >sc_deflims; props = >sc_defprops; } - iic_acquire_bus(sc->sc_tag, 0); + if (iic_acquire_bus(sc->sc_tag, 0) != 0) + return; + if (*props & PROP_WARNMIN) { val = __UK2C(limits->sel_warnmin); (void)sdtemp_write_16(sc, SDTEMP_REG_LOWER_LIM, @@ -570,7 +582,12 @@ sdtemp_refresh(struct sysmon_envsys *sme uint16_t val; int error; - iic_acquire_bus(sc->sc_tag, 0); + error = iic_acquire_bus(sc->sc_tag, 0); + if (error) { + edata->state = ENVSYS_SINVALID; + return; + } + error = sdtemp_read_16(sc, SDTEMP_REG_AMBIENT_TEMP, ); iic_release_bus(sc->sc_tag, 0); @@ -598,7 +615,7 @@ sdtemp_refresh(struct sysmon_envsys *sme } /* - * power management functions + * Power management functions * * We go into "shutdown" mode at suspend time, and return to normal * mode upon resume. This reduces power consumption by disabling @@ -612,7 +629,10 @@ sdtemp_pmf_suspend(device_t dev, const p int error; uint16_t config; - iic_acquire_bus(sc->sc_tag, 0); + error = iic_acquire_bus(sc->sc_tag, 0); + if (error != 0) + return false; + error = sdtemp_read_16(sc, SDTEMP_REG_CONFIG, ); if (error == 0) { config |= SDTEMP_CONFIG_SHUTDOWN_MODE; @@ -629,7 +649,10 @@ sdtemp_pmf_resume(device_t dev, const pm int error; uint16_t config; - iic_acquire_bus(sc->sc_tag, 0); + error = iic_acquire_bus(sc->sc_tag, 0); + if (error != 0) + return false; + error = sdtemp_read_16(sc, SDTEMP_REG_CONFIG, ); if (error == 0) { config &= ~SDTEMP_CONFIG_SHUTDOWN_MODE;
CVS commit: [netbsd-8] src/sys/dev/i2c
Module Name:src Committed By: martin Date: Mon Jul 20 19:00:40 UTC 2020 Modified Files: src/sys/dev/i2c [netbsd-8]: sdtemp.c Log Message: Pull up the following revisions, requested by msaitoh in ticket #1580: sys/dev/i2c/sdtemp.c1.35, 1.37-1.39 - Check the return value of iic_acquire_bus() because this function may fail. - Fix typo in comment. - KNF. To generate a diff of this commit: cvs rdiff -u -r1.32.8.1 -r1.32.8.2 src/sys/dev/i2c/sdtemp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Jul 20 18:53:56 UTC 2020 Modified Files: src/sys/dev/pci [netbsd-8]: pcidevs Log Message: Pull up the following revisions, requested by msaitoh in ticket #1579: sys/dev/pci/pcidevs 1.1392-1.1403, 1.1406-1.1419 - Add Intel Xeon D-1500 NTB-secondary and Xeon D NS QuickData DMA channel 0-7. - Add Intel I219 LM10-LM15 and V10-V14. - Add AMD Family14h PCIe. - Add Realtek Killer E3000. - Add Aquantia AQC 10G network adapters. - Add Radeon HD4290 - Add Farallon PN9000SX Ethernet. - NVIDIA 0x036[0-7] are nForce MCP55 LPC Bridge. - Add VIA VX900 chipset. - Add some NVIDIA devices. - Add some Intel UHD Graphics devices. - Add Intel Comet Lake, Whiskey Lake U and Amber Lake Y devices. - Modify description of Intel 0x591e from HD Graphics to UHD Graphics. - Add Intel XMM 7360 LTE Modem. - Add Western Digital WD Blue SN550 NVMe SSD. - Add ATI Radeon R5/R6/R7 Graphics. - Add IDs for Ampere eMAG PCIe Root Ports. - Add RTL8192EE Wireless LAN 802.11n PCI-E NIC. - Add ASIX AX99100 Multi I/O (Serial,Parallel,I2C,SPI,LocalBus,GPIO) Controller. - Add a couple of additional device IDs for the AMD Cryptographic Coprocessor. - Remove duplicated entries. To generate a diff of this commit: cvs rdiff -u -r1.1289.2.18 -r1.1289.2.19 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1289.2.18 src/sys/dev/pci/pcidevs:1.1289.2.19 --- src/sys/dev/pci/pcidevs:1.1289.2.18 Mon Jul 20 18:47:16 2020 +++ src/sys/dev/pci/pcidevs Mon Jul 20 18:53:56 2020 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1289.2.18 2020/07/20 18:47:16 martin Exp $ +$NetBSD: pcidevs,v 1.1289.2.19 2020/07/20 18:53:56 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -651,8 +651,10 @@ vendor SYMPHONY2 0x1c1c Symphony Labs (2 vendor HGST 0x1c58 HGST, Inc. vendor BEIJING_MEMBLAZE 0x1c5f Beijing Memblaze Technology Co. Ltd. vendor AMAZON 0x1d0f Amazon.com, Inc. +vendor AQUANTIA 0x1d6a Aquantia vendor ROCKCHIP 0x1d87 Rockchip vendor TEKRAM2 0x1de1 Tekram Technology (2nd PCI Vendor ID) +vendor AMPERE 0x1def Ampere Computing vendor SUNIX2 0x1fd4 SUNIX Co vendor HINT 0x3388 HiNT vendor 3DLABS 0x3d3d 3D Labs @@ -1023,13 +1025,20 @@ product AMD F17_DF_5 0x1464 Family17h D product AMD F17_DF_6 0x1465 Family17h Data Fabric product AMD F17_DF_7 0x1466 Family17h Data Fabric product AMD F17_DF_8 0x1467 Family17h Data Fabric +product AMD F17_CCP_2 0x1468 Family17h Crypto product AMD F17_PCIE_4 0x1470 Family17h PCIe product AMD F17_PCIE_5 0x1471 Family17h PCIe product AMD F17_7X_RC 0x1480 Family17h/7xh Root Complex product AMD F17_7X_IOMMU 0x1481 Family17h/7xh IOMMU product AMD F17_7X_RESV_SPP 0x1485 Family17h/7xh Reserved SPP +product AMD F17_7X_CCP 0x1486 Family17h/7xh Crypto product AMD F17_7X_USB3 0x149c Family17h/7xh USB 3.0 Host Controller product AMD F14_RC 0x1510 Family14h Root Complex +product AMD F14_PCIE_1 0x1512 Family14h PCIe +product AMD F14_PCIE_2 0x1513 Family14h PCIe +product AMD F14_PCIE_3 0x1514 Family14h PCIe +product AMD F14_PCIE_4 0x1515 Family14h PCIe +product AMD F14_PCIE_5 0x1516 Family14h PCIe product AMD F16_HT 0x1530 Family16h HyperTransport Configuration product AMD F16_ADDR 0x1531 Family16h Address Map Configuration product AMD F16_DRAM 0x1532 Family16h DRAM Configuration @@ -1103,7 +1112,7 @@ product AMD PCSCSI_PCI 0x2020 PCscsi-PC product AMD GEODELX_PCHB 0x2080 Geode LX Host-PCI Bridge product AMD GEODELX_VGA 0x2081 Geode LX VGA Controller product AMD GEODELX_AES 0x2082 Geode LX AES Security Block -product AMD CS5536_PCISB 0x208f CS5536 GeodeLink PCI South Bridge +product AMD CS5536_PCISB 0x208f CS5536 GeodeLink PCI South Bridge product AMD CS5536_PCIB 0x2090 CS5536 PCI-ISA Bridge product AMD CS5536_FLASH 0x2091 CS5536 Flash product AMD CS5536_AUDIO 0x2093 CS5536 Audio @@ -1213,6 +1222,16 @@ product AMI MEGARAID3 0x1960 MegaRAID 3 product AMI MEGARAID 0x9010 MegaRAID product AMI MEGARAID2 0x9060 MegaRAID 2 +/* Ampere Computing products */ +product AMPERE EMAG_PCIE_0 0xe005 eMAG PCIe Root Port 0 +product AMPERE EMAG_PCIE_1 0xe006 eMAG PCIe Root Port 1 +product AMPERE EMAG_PCIE_2 0xe007 eMAG PCIe Root Port 2 +product AMPERE EMAG_PCIE_3 0xe008 eMAG PCIe Root Port 3 +product AMPERE EMAG_PCIE_4 0xe009 eMAG PCIe Root Port 4 +product AMPERE EMAG_PCIE_5 0xe00a eMAG PCIe Root Port 5 +product AMPERE EMAG_PCIE_6 0xe00b eMAG PCIe Root Port 6 +product AMPERE EMAG_PCIE_7 0xe00c eMAG PCIe Root Port 7 + /* Analog Devices products */ product ANALOG AD1889 0x1889 AD1889 PCI SoundMAX Controller product ANALOG SAFENET 0x2f44 SafeNet Crypto Accelerator ADSP-2141 @@ -1282,6 +1301,24 @@ product APPLE INTREPID2_FW 0x006a Intrep product APPLE INTREPID2_GMAC 0x006b Intrepid 2 GMAC product APPLE BCM5701 0x1645 BCM5701
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Jul 20 18:55:52 UTC 2020 Modified Files: src/sys/dev/pci [netbsd-8]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #1579 To generate a diff of this commit: cvs rdiff -u -r1.1281.2.18 -r1.1281.2.19 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1280.2.18 -r1.1280.2.19 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Jul 20 18:53:56 UTC 2020 Modified Files: src/sys/dev/pci [netbsd-8]: pcidevs Log Message: Pull up the following revisions, requested by msaitoh in ticket #1579: sys/dev/pci/pcidevs 1.1392-1.1403, 1.1406-1.1419 - Add Intel Xeon D-1500 NTB-secondary and Xeon D NS QuickData DMA channel 0-7. - Add Intel I219 LM10-LM15 and V10-V14. - Add AMD Family14h PCIe. - Add Realtek Killer E3000. - Add Aquantia AQC 10G network adapters. - Add Radeon HD4290 - Add Farallon PN9000SX Ethernet. - NVIDIA 0x036[0-7] are nForce MCP55 LPC Bridge. - Add VIA VX900 chipset. - Add some NVIDIA devices. - Add some Intel UHD Graphics devices. - Add Intel Comet Lake, Whiskey Lake U and Amber Lake Y devices. - Modify description of Intel 0x591e from HD Graphics to UHD Graphics. - Add Intel XMM 7360 LTE Modem. - Add Western Digital WD Blue SN550 NVMe SSD. - Add ATI Radeon R5/R6/R7 Graphics. - Add IDs for Ampere eMAG PCIe Root Ports. - Add RTL8192EE Wireless LAN 802.11n PCI-E NIC. - Add ASIX AX99100 Multi I/O (Serial,Parallel,I2C,SPI,LocalBus,GPIO) Controller. - Add a couple of additional device IDs for the AMD Cryptographic Coprocessor. - Remove duplicated entries. To generate a diff of this commit: cvs rdiff -u -r1.1289.2.18 -r1.1289.2.19 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Jul 20 18:55:52 UTC 2020 Modified Files: src/sys/dev/pci [netbsd-8]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #1579 To generate a diff of this commit: cvs rdiff -u -r1.1281.2.18 -r1.1281.2.19 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1280.2.18 -r1.1280.2.19 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Jul 20 18:49:17 UTC 2020 Modified Files: src/sys/dev/pci [netbsd-8]: pcidevs.h pcidevs_data.h Log Message: regen for ticket #1578 To generate a diff of this commit: cvs rdiff -u -r1.1281.2.17 -r1.1281.2.18 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1280.2.17 -r1.1280.2.18 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys
Module Name:src Committed By: martin Date: Mon Jul 20 18:47:16 UTC 2020 Modified Files: src/sys/arch/x86/pci [netbsd-8]: rdcpcib.c src/sys/dev/pci [netbsd-8]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1578): sys/dev/pci/pcidevs: revision 1.1404 sys/dev/pci/pcidevs: revision 1.1405 sys/arch/x86/pci/rdcpcib.c: revision 1.3 Add more RDC products (Andrius V) Recognize more rdc devices (Andrius V.) Fix typo To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.2.46.1 src/sys/arch/x86/pci/rdcpcib.c cvs rdiff -u -r1.1289.2.17 -r1.1289.2.18 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/pci/rdcpcib.c diff -u src/sys/arch/x86/pci/rdcpcib.c:1.2 src/sys/arch/x86/pci/rdcpcib.c:1.2.46.1 --- src/sys/arch/x86/pci/rdcpcib.c:1.2 Fri Jul 1 18:22:08 2011 +++ src/sys/arch/x86/pci/rdcpcib.c Mon Jul 20 18:47:16 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: rdcpcib.c,v 1.2 2011/07/01 18:22:08 dyoung Exp $ */ +/* $NetBSD: rdcpcib.c,v 1.2.46.1 2020/07/20 18:47:16 martin Exp $ */ /* * Copyright (c) 2011 Manuel Bouyer. @@ -31,7 +31,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: rdcpcib.c,v 1.2 2011/07/01 18:22:08 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rdcpcib.c,v 1.2.46.1 2020/07/20 18:47:16 martin Exp $"); #include #include @@ -88,6 +88,17 @@ CFATTACH_DECL2_NEW(rdcpcib, sizeof(struc rdcpcibmatch, rdcpcibattach, rdcpcibdetach, NULL, pcibrescan, pcibchilddet); + +static const struct rdcpcib_device { + pcireg_t vendor, product; +} rdcpcib_devices[] = { + { PCI_VENDOR_RDC, PCI_PRODUCT_RDC_R6011_PCIB}, + { PCI_VENDOR_RDC, PCI_PRODUCT_RDC_R6013_PCIB}, + { PCI_VENDOR_RDC, PCI_PRODUCT_RDC_R6031_PCIB}, + { PCI_VENDOR_RDC, PCI_PRODUCT_RDC_R6035_PCIB}, + { PCI_VENDOR_RDC, PCI_PRODUCT_RDC_R6036_PCIB}, +}; + static int rdcpcibmatch(device_t parent, cfdata_t match, void *aux) { @@ -97,9 +108,11 @@ rdcpcibmatch(device_t parent, cfdata_t m PCI_SUBCLASS(pa->pa_class) != PCI_SUBCLASS_BRIDGE_ISA) return 0; - if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_RDC && - PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_RDC_PCIB) + for (size_t i = 0; i < __arraycount(rdcpcib_devices); i++) { + if (PCI_VENDOR(pa->pa_id) == rdcpcib_devices[i].vendor && + PCI_PRODUCT(pa->pa_id) == rdcpcib_devices[i].product) return 10; + } return 0; } Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1289.2.17 src/sys/dev/pci/pcidevs:1.1289.2.18 --- src/sys/dev/pci/pcidevs:1.1289.2.17 Tue Nov 19 10:36:47 2019 +++ src/sys/dev/pci/pcidevs Mon Jul 20 18:47:16 2020 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1289.2.17 2019/11/19 10:36:47 martin Exp $ +$NetBSD: pcidevs,v 1.1289.2.18 2020/07/20 18:47:16 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -7015,13 +7015,28 @@ product RALINK RT5390_5 0x539f RT5390 product RATOC REXPCI31 0x0853 REX PCI-31/33 SCSI /* RDC Semiconductor products */ -product RDC R1010_IDE 0x1010 R1010 IDE controller -product RDC R1011_IDE 0x1011 R1011 IDE controller -product RDC R1012_IDE 0x1012 R1012 IDE controller +product RDC R1010_IDE 0x1010 R1010 IDE Controller +product RDC R1011_IDE 0x1011 R1011 IDE Controller +product RDC R1012_IDE 0x1012 R1012 IDE Controller +product RDC R1031_PPB 0x1031 R1031 PCI-PCIE Bridge +product RDC R1060_USBD 0x1060 R1060 USB Device +product RDC R1061_USBD 0x1061 R1061 USB Device +product RDC R1070_CAN 0x1070 R1070 CANbus +product RDC R1331_MC 0x1331 R1331 Motion Control +product RDC R1710_SPI 0x1710 R1710 SPI +product RDC R1930_HBRD 0x1930 R1930 Hybrid Function Control Register +product RDC R2010_VGA 0x2010 R2010 VGA Controller +product RDC R2012_VGA 0x2012 R2012 VGA Controller +product RDC R2015_VGA 0x2015 R2015 VGA Controller +product RDC R6011_PCIB 0x6011 R6011 PCI-ISA bridge +product RDC R6013_PCIB 0x6013 R6013 PCI-ISA bridge product RDC R6021_HB 0x6021 R6021 Host +product RDC R6023_HB 0x6023 R6023 Host product RDC R6025_HB 0x6025 R6025 Host -product RDC R6031_ISA 0x6031 R6031 PCI-ISA bridge -product RDC PCIB 0x6036 R6036 PCI-ISA bridge +product RDC R6026_HB 0x6026 R6026 Host +product RDC R6031_PCIB 0x6031 R6031 PCI-ISA bridge +product RDC R6035_PCIB 0x6035 R6035 PCI-ISA bridge +product RDC R6036_PCIB 0x6036 R6036 PCI-ISA bridge product RDC R6040 0x6040 R6040 10/100 Ethernet product RDC R6060_OHCI 0x6060 R6060 USB OHCI product RDC R6061_EHCI 0x6061 R6061 USB EHCI
CVS commit: [netbsd-8] src/sys
Module Name:src Committed By: martin Date: Mon Jul 20 18:47:16 UTC 2020 Modified Files: src/sys/arch/x86/pci [netbsd-8]: rdcpcib.c src/sys/dev/pci [netbsd-8]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1578): sys/dev/pci/pcidevs: revision 1.1404 sys/dev/pci/pcidevs: revision 1.1405 sys/arch/x86/pci/rdcpcib.c: revision 1.3 Add more RDC products (Andrius V) Recognize more rdc devices (Andrius V.) Fix typo To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.2.46.1 src/sys/arch/x86/pci/rdcpcib.c cvs rdiff -u -r1.1289.2.17 -r1.1289.2.18 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/dev/mii
Module Name:src Committed By: martin Date: Mon Jul 20 18:43:25 UTC 2020 Modified Files: src/sys/dev/mii [netbsd-8]: miidevs.h miidevs_data.h Log Message: regen for ticket #1577 To generate a diff of this commit: cvs rdiff -u -r1.128.6.9 -r1.128.6.10 src/sys/dev/mii/miidevs.h cvs rdiff -u -r1.116.6.9 -r1.116.6.10 src/sys/dev/mii/miidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/mii/miidevs.h diff -u src/sys/dev/mii/miidevs.h:1.128.6.9 src/sys/dev/mii/miidevs.h:1.128.6.10 --- src/sys/dev/mii/miidevs.h:1.128.6.9 Tue Apr 14 18:11:35 2020 +++ src/sys/dev/mii/miidevs.h Mon Jul 20 18:43:25 2020 @@ -1,10 +1,10 @@ -/* $NetBSD: miidevs.h,v 1.128.6.9 2020/04/14 18:11:35 martin Exp $ */ +/* $NetBSD: miidevs.h,v 1.128.6.10 2020/07/20 18:43:25 martin Exp $ */ /* * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: miidevs,v 1.125.6.9 2020/04/14 17:57:17 martin Exp + * NetBSD: miidevs,v 1.125.6.10 2020/07/20 18:42:47 martin Exp */ /*- @@ -616,8 +616,28 @@ #define MII_STR_xxVITESSE_VSC8601 "VSC8601 10/100/1000 PHY" #define MII_MODEL_xxVITESSE_VSC8641 0x0003 #define MII_STR_xxVITESSE_VSC8641 "Vitesse VSC8641 10/100/1000TX PHY" +#define MII_MODEL_xxVITESSE_VSC8504 0x000c +#define MII_STR_xxVITESSE_VSC8504 "Vitesse VSC8504 quad 10/100/1000TX PHY" +#define MII_MODEL_xxVITESSE_VSC8552 0x000e +#define MII_STR_xxVITESSE_VSC8552 "Vitesse VSC8552 dual 10/100/1000TX PHY" +#define MII_MODEL_xxVITESSE_VSC8502 0x0012 +#define MII_STR_xxVITESSE_VSC8502 "Vitesse VSC8502 dual 10/100/1000TX PHY" #define MII_MODEL_xxVITESSE_VSC8501 0x0013 #define MII_STR_xxVITESSE_VSC8501 "Vitesse VSC8501 10/100/1000TX PHY" +#define MII_MODEL_xxVITESSE_VSC8531 0x0017 +#define MII_STR_xxVITESSE_VSC8531 "Vitesse VSC8531 10/100/1000TX PHY" +#define MII_MODEL_xxVITESSE_VSC8662 0x0026 +#define MII_STR_xxVITESSE_VSC8662 "Vitesse VSC866[24] dual/quad 1000T 100FX 1000X PHY" +#define MII_MODEL_xxVITESSE_VSC8514 0x0027 +#define MII_STR_xxVITESSE_VSC8514 "Vitesse VSC8514 quad 1000T PHY" +#define MII_MODEL_xxVITESSE_VSC8512 0x002e +#define MII_STR_xxVITESSE_VSC8512 "Vitesse VSC8512 12port 1000T PHY" +#define MII_MODEL_xxVITESSE_VSC8522 0x002f +#define MII_STR_xxVITESSE_VSC8522 "Vitesse VSC8522 12port 1000T PHY" +#define MII_MODEL_xxVITESSE_VSC8658 0x0035 +#define MII_STR_xxVITESSE_VSC8658 "Vitesse VSC8658 octal 1000T 100FX 1000X PHY" +#define MII_MODEL_xxVITESSE_VSC8541 0x0037 +#define MII_STR_xxVITESSE_VSC8541 "Vitesse VSC8541 1000T PHY" /* XaQti Corp. PHYs */ #define MII_MODEL_xxXAQTI_XMACII 0x Index: src/sys/dev/mii/miidevs_data.h diff -u src/sys/dev/mii/miidevs_data.h:1.116.6.9 src/sys/dev/mii/miidevs_data.h:1.116.6.10 --- src/sys/dev/mii/miidevs_data.h:1.116.6.9 Tue Apr 14 18:11:35 2020 +++ src/sys/dev/mii/miidevs_data.h Mon Jul 20 18:43:25 2020 @@ -1,10 +1,10 @@ -/* $NetBSD: miidevs_data.h,v 1.116.6.9 2020/04/14 18:11:35 martin Exp $ */ +/* $NetBSD: miidevs_data.h,v 1.116.6.10 2020/07/20 18:43:25 martin Exp $ */ /* * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: miidevs,v 1.125.6.9 2020/04/14 17:57:17 martin Exp + * NetBSD: miidevs,v 1.125.6.10 2020/07/20 18:42:47 martin Exp */ /*- @@ -246,7 +246,17 @@ struct mii_knowndev mii_knowndevs[] = { { MII_OUI_xxVIA, MII_MODEL_xxVIA_VT6103_2, MII_STR_xxVIA_VT6103_2 }, { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8601, MII_STR_xxVITESSE_VSC8601 }, { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8641, MII_STR_xxVITESSE_VSC8641 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8504, MII_STR_xxVITESSE_VSC8504 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8552, MII_STR_xxVITESSE_VSC8552 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8502, MII_STR_xxVITESSE_VSC8502 }, { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8501, MII_STR_xxVITESSE_VSC8501 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8531, MII_STR_xxVITESSE_VSC8531 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8662, MII_STR_xxVITESSE_VSC8662 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8514, MII_STR_xxVITESSE_VSC8514 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8512, MII_STR_xxVITESSE_VSC8512 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8522, MII_STR_xxVITESSE_VSC8522 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8658, MII_STR_xxVITESSE_VSC8658 }, + { MII_OUI_xxVITESSE, MII_MODEL_xxVITESSE_VSC8541, MII_STR_xxVITESSE_VSC8541 }, { MII_OUI_xxXAQTI, MII_MODEL_xxXAQTI_XMACII, MII_STR_xxXAQTI_XMACII }, { 0, 0, NULL } };
CVS commit: [netbsd-8] src/sys/dev/mii
Module Name:src Committed By: martin Date: Mon Jul 20 18:43:25 UTC 2020 Modified Files: src/sys/dev/mii [netbsd-8]: miidevs.h miidevs_data.h Log Message: regen for ticket #1577 To generate a diff of this commit: cvs rdiff -u -r1.128.6.9 -r1.128.6.10 src/sys/dev/mii/miidevs.h cvs rdiff -u -r1.116.6.9 -r1.116.6.10 src/sys/dev/mii/miidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/dev/mii
Module Name:src Committed By: martin Date: Mon Jul 20 18:42:47 UTC 2020 Modified Files: src/sys/dev/mii [netbsd-8]: miidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1577): sys/dev/mii/miidevs: revision 1.168 Add some Microsemi (Vitesse) devices. To generate a diff of this commit: cvs rdiff -u -r1.125.6.9 -r1.125.6.10 src/sys/dev/mii/miidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/mii/miidevs diff -u src/sys/dev/mii/miidevs:1.125.6.9 src/sys/dev/mii/miidevs:1.125.6.10 --- src/sys/dev/mii/miidevs:1.125.6.9 Tue Apr 14 17:57:17 2020 +++ src/sys/dev/mii/miidevs Mon Jul 20 18:42:47 2020 @@ -1,4 +1,4 @@ -$NetBSD: miidevs,v 1.125.6.9 2020/04/14 17:57:17 martin Exp $ +$NetBSD: miidevs,v 1.125.6.10 2020/07/20 18:42:47 martin Exp $ /*- * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. @@ -400,7 +400,17 @@ model xxVIA VT6103_2 0x0034 VT6103 10/1 /* Vitesse PHYs (Now Microsemi) */ model xxVITESSE VSC8601 0x0002 VSC8601 10/100/1000 PHY model xxVITESSE VSC8641 0x0003 Vitesse VSC8641 10/100/1000TX PHY +model xxVITESSE VSC8504 0x000c Vitesse VSC8504 quad 10/100/1000TX PHY +model xxVITESSE VSC8552 0x000e Vitesse VSC8552 dual 10/100/1000TX PHY +model xxVITESSE VSC8502 0x0012 Vitesse VSC8502 dual 10/100/1000TX PHY model xxVITESSE VSC8501 0x0013 Vitesse VSC8501 10/100/1000TX PHY +model xxVITESSE VSC8531 0x0017 Vitesse VSC8531 10/100/1000TX PHY +model xxVITESSE VSC8662 0x0026 Vitesse VSC866[24] dual/quad 1000T 100FX 1000X PHY +model xxVITESSE VSC8514 0x0027 Vitesse VSC8514 quad 1000T PHY +model xxVITESSE VSC8512 0x002e Vitesse VSC8512 12port 1000T PHY +model xxVITESSE VSC8522 0x002f Vitesse VSC8522 12port 1000T PHY +model xxVITESSE VSC8658 0x0035 Vitesse VSC8658 octal 1000T 100FX 1000X PHY +model xxVITESSE VSC8541 0x0037 Vitesse VSC8541 1000T PHY /* XaQti Corp. PHYs */ model xxXAQTI XMACII 0x XaQti Corp. XMAC II gigabit interface
CVS commit: [netbsd-8] src/sys/dev/mii
Module Name:src Committed By: martin Date: Mon Jul 20 18:42:47 UTC 2020 Modified Files: src/sys/dev/mii [netbsd-8]: miidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1577): sys/dev/mii/miidevs: revision 1.168 Add some Microsemi (Vitesse) devices. To generate a diff of this commit: cvs rdiff -u -r1.125.6.9 -r1.125.6.10 src/sys/dev/mii/miidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/arch/x86/x86
Module Name:src Committed By: martin Date: Mon Jul 20 18:40:09 UTC 2020 Modified Files: src/sys/arch/x86/x86 [netbsd-8]: procfs_machdep.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1581): sys/arch/x86/x86/procfs_machdep.c: revision 1.37 sys/arch/x86/x86/procfs_machdep.c: revision 1.38 Add AMD protected processor identification number (PPIN). Lowercase ppin. To generate a diff of this commit: cvs rdiff -u -r1.15.2.10 -r1.15.2.11 src/sys/arch/x86/x86/procfs_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-8] src/sys/arch/x86/x86
Module Name:src Committed By: martin Date: Mon Jul 20 18:40:09 UTC 2020 Modified Files: src/sys/arch/x86/x86 [netbsd-8]: procfs_machdep.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1581): sys/arch/x86/x86/procfs_machdep.c: revision 1.37 sys/arch/x86/x86/procfs_machdep.c: revision 1.38 Add AMD protected processor identification number (PPIN). Lowercase ppin. To generate a diff of this commit: cvs rdiff -u -r1.15.2.10 -r1.15.2.11 src/sys/arch/x86/x86/procfs_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/procfs_machdep.c diff -u src/sys/arch/x86/x86/procfs_machdep.c:1.15.2.10 src/sys/arch/x86/x86/procfs_machdep.c:1.15.2.11 --- src/sys/arch/x86/x86/procfs_machdep.c:1.15.2.10 Wed Apr 15 14:25:09 2020 +++ src/sys/arch/x86/x86/procfs_machdep.c Mon Jul 20 18:40:08 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_machdep.c,v 1.15.2.10 2020/04/15 14:25:09 martin Exp $ */ +/* $NetBSD: procfs_machdep.c,v 1.15.2.11 2020/07/20 18:40:08 martin Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -42,7 +42,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: procfs_machdep.c,v 1.15.2.10 2020/04/15 14:25:09 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_machdep.c,v 1.15.2.11 2020/07/20 18:40:08 martin Exp $"); #include #include @@ -155,7 +155,7 @@ static const char * const x86_features[] { /* (13) AMD 0x8008 ebx */ "clzero", "irperf", "xsaveerptr", NULL, "rdpru", NULL, NULL, NULL, NULL, "wbnoinvd", NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "ppin", NULL, "virt_ssbd", NULL, NULL, NULL, NULL, NULL, NULL}, { /* (14) 0x0006 eax */
CVS commit: [netbsd-9] src/doc
Module Name:src Committed By: martin Date: Mon Jul 20 18:35:18 UTC 2020 Modified Files: src/doc [netbsd-9]: CHANGES-9.1 Log Message: Tickets #1021 and #1022 To generate a diff of this commit: cvs rdiff -u -r1.1.2.82 -r1.1.2.83 src/doc/CHANGES-9.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES-9.1 diff -u src/doc/CHANGES-9.1:1.1.2.82 src/doc/CHANGES-9.1:1.1.2.83 --- src/doc/CHANGES-9.1:1.1.2.82 Sat Jul 18 15:10:21 2020 +++ src/doc/CHANGES-9.1 Mon Jul 20 18:35:18 2020 @@ -1,4 +1,4 @@ -# $NetBSD: CHANGES-9.1,v 1.1.2.82 2020/07/18 15:10:21 martin Exp $ +# $NetBSD: CHANGES-9.1,v 1.1.2.83 2020/07/20 18:35:18 martin Exp $ A complete list of changes from the NetBSD 9.0 release to the NetBSD 9.1 release: @@ -3488,3 +3488,19 @@ sys/dev/usb/usbdi.c1.203 states. [mrg, ticket #1020] +sys/dev/sdmmc/sdhc.c1.107 +sys/dev/sdmmc/sdhcreg.h1.21 + + Identify SDHC 4.1 and 4.2. + [msaitoh, ticket #1021] + +distrib/notes/evbarm/Makefile 1.3 +distrib/notes/evbarm/contents 1.9,1.10 +distrib/notes/evbarm/hardware 1.11-1.14 +distrib/notes/evbarm/install 1.11-1.14 +distrib/notes/evbarm/prep 1.12 +distrib/notes/evbarm/xfer 1.3,1.4 + + Modernize evbarm install instructions. + [nia, ticket #1022] +
CVS commit: [netbsd-9] src/doc
Module Name:src Committed By: martin Date: Mon Jul 20 18:35:18 UTC 2020 Modified Files: src/doc [netbsd-9]: CHANGES-9.1 Log Message: Tickets #1021 and #1022 To generate a diff of this commit: cvs rdiff -u -r1.1.2.82 -r1.1.2.83 src/doc/CHANGES-9.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/distrib/notes/evbarm
Module Name:src Committed By: martin Date: Mon Jul 20 18:32:55 UTC 2020 Modified Files: src/distrib/notes/evbarm [netbsd-9]: Makefile contents hardware install prep xfer Log Message: Pull up following revision(s) (requested by nia in ticket #1022): distrib/notes/evbarm/install: revision 1.14 distrib/notes/evbarm/hardware: revision 1.11 distrib/notes/evbarm/hardware: revision 1.12 distrib/notes/evbarm/hardware: revision 1.13 distrib/notes/evbarm/hardware: revision 1.14 distrib/notes/evbarm/Makefile: revision 1.3 distrib/notes/evbarm/xfer: revision 1.3 distrib/notes/evbarm/xfer: revision 1.4 distrib/notes/evbarm/prep: revision 1.12 distrib/notes/evbarm/contents: revision 1.9 distrib/notes/evbarm/contents: revision 1.10 distrib/notes/evbarm/install: revision 1.11 distrib/notes/evbarm/install: revision 1.12 distrib/notes/evbarm/install: revision 1.13 First attempt at modernising the evbarm install guide and hardware lists - Install instructions mostly based on wiki pages - Supported hardware lists mostly based on GENERIC and GENERIC64 kernels s/boards/devices/ Briefly explain how to pkgsrc u-boot. Pointed out by maya. more modernization of evbarm install instructions safe estimation of required storage more contents more hardware missing e.g. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.2.102.1 src/distrib/notes/evbarm/Makefile cvs rdiff -u -r1.4.4.2 -r1.4.4.3 src/distrib/notes/evbarm/contents cvs rdiff -u -r1.10 -r1.10.66.1 src/distrib/notes/evbarm/hardware cvs rdiff -u -r1.9.64.1 -r1.9.64.2 src/distrib/notes/evbarm/install cvs rdiff -u -r1.11 -r1.11.34.1 src/distrib/notes/evbarm/prep cvs rdiff -u -r1.2 -r1.2.48.1 src/distrib/notes/evbarm/xfer Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/notes/evbarm/Makefile diff -u src/distrib/notes/evbarm/Makefile:1.2 src/distrib/notes/evbarm/Makefile:1.2.102.1 --- src/distrib/notes/evbarm/Makefile:1.2 Sun Jul 21 08:14:48 2002 +++ src/distrib/notes/evbarm/Makefile Mon Jul 20 18:32:55 2020 @@ -1,5 +1,3 @@ -# $NetBSD: Makefile,v 1.2 2002/07/21 08:14:48 lukem Exp $ - -MERGED_SRCS+= ${COMMON}/xfer +# $NetBSD: Makefile,v 1.2.102.1 2020/07/20 18:32:55 martin Exp $ .include Index: src/distrib/notes/evbarm/contents diff -u src/distrib/notes/evbarm/contents:1.4.4.2 src/distrib/notes/evbarm/contents:1.4.4.3 --- src/distrib/notes/evbarm/contents:1.4.4.2 Mon Nov 25 05:50:20 2019 +++ src/distrib/notes/evbarm/contents Mon Jul 20 18:32:55 2020 @@ -1,6 +1,6 @@ -.\" $NetBSD: contents,v 1.4.4.2 2019/11/25 05:50:20 msaitoh Exp $ +.\" $NetBSD: contents,v 1.4.4.3 2020/07/20 18:32:55 martin Exp $ .\" -.\" Copyright (c) 1999-2005 The NetBSD Foundation, Inc. +.\" Copyright (c) 1999-2020 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -45,66 +45,81 @@ The file contains underlined text using the .Xr more 1 conventions for indicating italic and bold display. -. -.\" MD binary and installation directories --- -. . It Pa binary/ -. . (tag kernel/ -compact \" binary/ -. +. It Pa gzimg/ +. (tag armv7.img.gz -compact \" binary/gzimg +. It Pa armv7.img.gz +A gzipped writable image containing the complete +.Nx +operating system for a range of 32-bit devices (includes a GENERIC kernel). +. It Pa arm64.img.gz +A gzipped writable image containing the complete +.Nx +operating system for a range of 64-bit devices (includes a GENERIC64 kernel). +. It Pa rpi.img.gz +A gzipped writable image containing the complete 32-bit +.Nx +operating system for Raspberry Pi variants only (includes RPI kernels). +. It Pa *.dtb.gz +Gzipped board-specific device trees. +. tag) \" binary/gzimg/ . It Pa kernel/ -. . (tag netbsd.gz -compact \" binary/kernel . It Pa netbsd-GENERIC.gz -A gzipped -.Nx -kernel containing code for everything supported in this release. -. +A gzipped ARMv7 kernel which supports a range of 32-bit devices that +do not need board-specific kernels. +. It Pa netbsd-GENERIC64.gz +A gzipped AArch64 kernel which supports a range of 64-bit devices that +do not need board-specific kernels. +. It Pa netbsd-RPI.gz +A gzipped ARMv6 kernel which supports the Raspberry Pi 1 only. +. It Pa netbsd-RPI2.gz +A gzipped ARMv6 kernel which supports the Raspberry Pi 2 only. . tag) \" binary/kernel/ . . It Pa sets/ -. \*M binary distribution sets; see below. . . tag) \" binary/ -. . It Pa installation/ . . (tag miniroot/ -compact \" installation/ . -. It Pa misc/ +. It Pa miniroot/ +. +\*M kernel modules providing memory disk +root file systems for expert usage. . -Miscellaneous \*M installation utilities; see -installation section below. +. It Pa misc/ +. (tag bootaa64.efi -compact \"
CVS commit: [netbsd-9] src/distrib/notes/evbarm
Module Name:src Committed By: martin Date: Mon Jul 20 18:32:55 UTC 2020 Modified Files: src/distrib/notes/evbarm [netbsd-9]: Makefile contents hardware install prep xfer Log Message: Pull up following revision(s) (requested by nia in ticket #1022): distrib/notes/evbarm/install: revision 1.14 distrib/notes/evbarm/hardware: revision 1.11 distrib/notes/evbarm/hardware: revision 1.12 distrib/notes/evbarm/hardware: revision 1.13 distrib/notes/evbarm/hardware: revision 1.14 distrib/notes/evbarm/Makefile: revision 1.3 distrib/notes/evbarm/xfer: revision 1.3 distrib/notes/evbarm/xfer: revision 1.4 distrib/notes/evbarm/prep: revision 1.12 distrib/notes/evbarm/contents: revision 1.9 distrib/notes/evbarm/contents: revision 1.10 distrib/notes/evbarm/install: revision 1.11 distrib/notes/evbarm/install: revision 1.12 distrib/notes/evbarm/install: revision 1.13 First attempt at modernising the evbarm install guide and hardware lists - Install instructions mostly based on wiki pages - Supported hardware lists mostly based on GENERIC and GENERIC64 kernels s/boards/devices/ Briefly explain how to pkgsrc u-boot. Pointed out by maya. more modernization of evbarm install instructions safe estimation of required storage more contents more hardware missing e.g. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.2.102.1 src/distrib/notes/evbarm/Makefile cvs rdiff -u -r1.4.4.2 -r1.4.4.3 src/distrib/notes/evbarm/contents cvs rdiff -u -r1.10 -r1.10.66.1 src/distrib/notes/evbarm/hardware cvs rdiff -u -r1.9.64.1 -r1.9.64.2 src/distrib/notes/evbarm/install cvs rdiff -u -r1.11 -r1.11.34.1 src/distrib/notes/evbarm/prep cvs rdiff -u -r1.2 -r1.2.48.1 src/distrib/notes/evbarm/xfer Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/sys/dev/sdmmc
Module Name:src Committed By: martin Date: Mon Jul 20 18:15:43 UTC 2020 Modified Files: src/sys/dev/sdmmc [netbsd-9]: sdhc.c sdhcreg.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1021): sys/dev/sdmmc/sdhc.c: revision 1.107 sys/dev/sdmmc/sdhcreg.h: revision 1.21 Identify SDHC 4.1 and 4.2. From {DragonFly,Free}BSD. To generate a diff of this commit: cvs rdiff -u -r1.103.2.1 -r1.103.2.2 src/sys/dev/sdmmc/sdhc.c cvs rdiff -u -r1.19 -r1.19.12.1 src/sys/dev/sdmmc/sdhcreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/sdmmc/sdhc.c diff -u src/sys/dev/sdmmc/sdhc.c:1.103.2.1 src/sys/dev/sdmmc/sdhc.c:1.103.2.2 --- src/sys/dev/sdmmc/sdhc.c:1.103.2.1 Tue Feb 25 18:40:43 2020 +++ src/sys/dev/sdmmc/sdhc.c Mon Jul 20 18:15:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: sdhc.c,v 1.103.2.1 2020/02/25 18:40:43 martin Exp $ */ +/* $NetBSD: sdhc.c,v 1.103.2.2 2020/07/20 18:15:43 martin Exp $ */ /* $OpenBSD: sdhc.c,v 1.25 2009/01/13 19:44:20 grange Exp $ */ /* @@ -23,7 +23,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.103.2.1 2020/02/25 18:40:43 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.103.2.2 2020/07/20 18:15:43 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_sdmmc.h" @@ -324,6 +324,12 @@ sdhc_host_found(struct sdhc_softc *sc, b case SDHC_SPEC_VERS_400: aprint_normal("4.0"); break; + case SDHC_SPEC_VERS_410: + aprint_normal("4.1"); + break; + case SDHC_SPEC_VERS_420: + aprint_normal("4.2"); + break; case SDHC_SPEC_NOVERS: hp->specver = -1; aprint_normal("NO-VERS"); Index: src/sys/dev/sdmmc/sdhcreg.h diff -u src/sys/dev/sdmmc/sdhcreg.h:1.19 src/sys/dev/sdmmc/sdhcreg.h:1.19.12.1 --- src/sys/dev/sdmmc/sdhcreg.h:1.19 Fri Jun 23 08:43:59 2017 +++ src/sys/dev/sdmmc/sdhcreg.h Mon Jul 20 18:15:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: sdhcreg.h,v 1.19 2017/06/23 08:43:59 ryo Exp $ */ +/* $NetBSD: sdhcreg.h,v 1.19.12.1 2020/07/20 18:15:43 martin Exp $ */ /* $OpenBSD: sdhcreg.h,v 1.4 2006/07/30 17:20:40 fgsch Exp $ */ /* @@ -246,6 +246,8 @@ #define SDHC_SPEC_VERS_200 0x01 #define SDHC_SPEC_VERS_300 0x02 #define SDHC_SPEC_VERS_400 0x03 +#define SDHC_SPEC_VERS_410 0x04 +#define SDHC_SPEC_VERS_420 0x05 #define SDHC_SPEC_NOVERS 0xff /* dummy */ /* SDHC_CAPABILITIES decoding */
CVS commit: [netbsd-9] src/sys/dev/sdmmc
Module Name:src Committed By: martin Date: Mon Jul 20 18:15:43 UTC 2020 Modified Files: src/sys/dev/sdmmc [netbsd-9]: sdhc.c sdhcreg.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1021): sys/dev/sdmmc/sdhc.c: revision 1.107 sys/dev/sdmmc/sdhcreg.h: revision 1.21 Identify SDHC 4.1 and 4.2. From {DragonFly,Free}BSD. To generate a diff of this commit: cvs rdiff -u -r1.103.2.1 -r1.103.2.2 src/sys/dev/sdmmc/sdhc.c cvs rdiff -u -r1.19 -r1.19.12.1 src/sys/dev/sdmmc/sdhcreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: sjg Date: Mon Jul 20 18:12:48 UTC 2020 Modified Files: src/usr.bin/make: hash.c hash.h main.c nonints.h targ.c var.c Log Message: Make DEBUG_HASH less of a fire-hose. Reporting keys on every lookup is overkill unless playing with a new HASH, so wrap in #ifdef DEBUG_HASH_LOOKUP Also add some stats at the end so we can see final size and max chain length - maxchain is a better variable name than maxlen. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/usr.bin/make/hash.c cvs rdiff -u -r1.14 -r1.15 src/usr.bin/make/hash.h cvs rdiff -u -r1.282 -r1.283 src/usr.bin/make/main.c cvs rdiff -u -r1.80 -r1.81 src/usr.bin/make/nonints.h cvs rdiff -u -r1.63 -r1.64 src/usr.bin/make/targ.c cvs rdiff -u -r1.285 -r1.286 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: sjg Date: Mon Jul 20 18:12:48 UTC 2020 Modified Files: src/usr.bin/make: hash.c hash.h main.c nonints.h targ.c var.c Log Message: Make DEBUG_HASH less of a fire-hose. Reporting keys on every lookup is overkill unless playing with a new HASH, so wrap in #ifdef DEBUG_HASH_LOOKUP Also add some stats at the end so we can see final size and max chain length - maxchain is a better variable name than maxlen. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/usr.bin/make/hash.c cvs rdiff -u -r1.14 -r1.15 src/usr.bin/make/hash.h cvs rdiff -u -r1.282 -r1.283 src/usr.bin/make/main.c cvs rdiff -u -r1.80 -r1.81 src/usr.bin/make/nonints.h cvs rdiff -u -r1.63 -r1.64 src/usr.bin/make/targ.c cvs rdiff -u -r1.285 -r1.286 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/hash.c diff -u src/usr.bin/make/hash.c:1.24 src/usr.bin/make/hash.c:1.25 --- src/usr.bin/make/hash.c:1.24 Sun Jul 19 15:42:25 2020 +++ src/usr.bin/make/hash.c Mon Jul 20 18:12:48 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: hash.c,v 1.24 2020/07/19 15:42:25 riastradh Exp $ */ +/* $NetBSD: hash.c,v 1.25 2020/07/20 18:12:48 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: hash.c,v 1.24 2020/07/19 15:42:25 riastradh Exp $"; +static char rcsid[] = "$NetBSD: hash.c,v 1.25 2020/07/20 18:12:48 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)hash.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: hash.c,v 1.24 2020/07/19 15:42:25 riastradh Exp $"); +__RCSID("$NetBSD: hash.c,v 1.25 2020/07/20 18:12:48 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -108,12 +108,15 @@ static void RebuildTable(Hash_Table *); #define rebuildLimit 3 /* The hash function(s) */ -/* This one matches Gosling's emacs */ + +#ifndef HASH +/* The default: this one matches Gosling's emacs */ #define HASH(h, key, p) do { \ for (h = 0, p = key; *p;) \ h = (h << 5) - h + *p++; \ } while (0) +#endif /* *- @@ -154,7 +157,7 @@ Hash_InitTable(Hash_Table *t, int numBuc continue; } t->numEntries = 0; - t->maxlen = 0; + t->maxchain = 0; t->size = i; t->mask = i - 1; t->bucketPtr = hp = bmake_malloc(sizeof(*hp) * i); @@ -236,17 +239,19 @@ Hash_FindEntry(Hash_Table *t, const char } HASH(h, key, p); p = key; + chainlen = 0; +#ifdef DEBUG_HASH_LOOKUP if (DEBUG(HASH)) fprintf(debug_file, "%s: %p h=%x key=%s\n", __func__, t, h, key); - chainlen = 0; +#endif for (e = t->bucketPtr[h & t->mask]; e != NULL; e = e->next) { chainlen++; if (e->namehash == h && strcmp(e->name, p) == 0) break; } - if (chainlen > t->maxlen) - t->maxlen = chainlen; + if (chainlen > t->maxchain) + t->maxchain = chainlen; return e; } @@ -292,10 +297,12 @@ Hash_CreateEntry(Hash_Table *t, const ch HASH(h, key, p); keylen = p - key; p = key; + chainlen = 0; +#ifdef DEBUG_HASH_LOOKUP if (DEBUG(HASH)) fprintf(debug_file, "%s: %p h=%x key=%s\n", __func__, t, h, key); - chainlen = 0; +#endif for (e = t->bucketPtr[h & t->mask]; e != NULL; e = e->next) { chainlen++; if (e->namehash == h && strcmp(e->name, p) == 0) { @@ -304,8 +311,8 @@ Hash_CreateEntry(Hash_Table *t, const ch break; } } - if (chainlen > t->maxlen) - t->maxlen = chainlen; + if (chainlen > t->maxchain) + t->maxchain = chainlen; if (e) return e; @@ -490,9 +497,9 @@ RebuildTable(Hash_Table *t) } free(oldhp); if (DEBUG(HASH)) - fprintf(debug_file, "%s: %p size=%d entries=%d maxlen=%d\n", - __func__, t, t->size, t->numEntries, t->maxlen); - t->maxlen = 0; + fprintf(debug_file, "%s: %p size=%d entries=%d maxchain=%d\n", + __func__, t, t->size, t->numEntries, t->maxchain); + t->maxchain = 0; } void Hash_ForEach(Hash_Table *t, void (*action)(void *, void *), void *data) @@ -505,3 +512,11 @@ void Hash_ForEach(Hash_Table *t, void (* e = Hash_EnumNext()) action(Hash_GetValue(e), data); } + +void +Hash_DebugStats(Hash_Table *t, const char *name) +{ +if (DEBUG(HASH)) + fprintf(debug_file, "Hash_Table %s: size=%d numEntries=%d maxchain=%d\n", + name, t->size, t->numEntries, t->maxchain); +} Index: src/usr.bin/make/hash.h diff -u src/usr.bin/make/hash.h:1.14 src/usr.bin/make/hash.h:1.15 --- src/usr.bin/make/hash.h:1.14 Sat Jul 18 21:37:38 2020 +++ src/usr.bin/make/hash.h Mon Jul 20 18:12:48 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: hash.h,v 1.14 2020/07/18 21:37:38 sjg Exp $ */ +/* $NetBSD: hash.h,v 1.15 2020/07/20 18:12:48 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -100,7 +100,7 @@ typedef struct Hash_Table { int size; /* Actual size of array. */ int numEntries; /* Number
CVS commit: src/sys/arch/mips/cavium/dev
Module Name:src Committed By: jmcneill Date: Mon Jul 20 17:56:13 UTC 2020 Modified Files: src/sys/arch/mips/cavium/dev: octeon_ciureg.h Log Message: Fix coreX/IP4 summary register offsets To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/mips/cavium/dev/octeon_ciureg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mips/cavium/dev/octeon_ciureg.h diff -u src/sys/arch/mips/cavium/dev/octeon_ciureg.h:1.10 src/sys/arch/mips/cavium/dev/octeon_ciureg.h:1.11 --- src/sys/arch/mips/cavium/dev/octeon_ciureg.h:1.10 Fri Jul 17 21:59:30 2020 +++ src/sys/arch/mips/cavium/dev/octeon_ciureg.h Mon Jul 20 17:56:13 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: octeon_ciureg.h,v 1.10 2020/07/17 21:59:30 jmcneill Exp $ */ +/* $NetBSD: octeon_ciureg.h,v 1.11 2020/07/20 17:56:13 jmcneill Exp $ */ /* * Copyright (c) 2007 Internet Initiative Japan, Inc. @@ -85,7 +85,7 @@ #define CIU_PCI_INTAUINT64_C(0x000107000750) #define CIU_INT4_SUM0UINT64_C(0x000107000c00) #define CIU_INT4_SUM1UINT64_C(0x000107000c08) -#define CIU_IP4_SUM0(n)(CIU_INT4_SUM0 + 0x10 * (n)) +#define CIU_IP4_SUM0(n)(CIU_INT4_SUM0 + 0x8 * (n)) #define CIU_INT4_EN00UINT64_C(0x000107000c80) #define CIU_INT4_EN01UINT64_C(0x000107000c88) #define CIU_INT4_EN10UINT64_C(0x000107000c90)
CVS commit: src/sys/arch/mips/cavium/dev
Module Name:src Committed By: jmcneill Date: Mon Jul 20 17:56:13 UTC 2020 Modified Files: src/sys/arch/mips/cavium/dev: octeon_ciureg.h Log Message: Fix coreX/IP4 summary register offsets To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/mips/cavium/dev/octeon_ciureg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 16:55:10 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): make conditions work without pattern flags The "pattern flag" VARP_NOSUBST was used to prevent evaluating irrelevant conditions. Omitting the evaluation flag VARE_WANTRES has the same effect. To generate a diff of this commit: cvs rdiff -u -r1.284 -r1.285 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 16:55:10 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): make conditions work without pattern flags The "pattern flag" VARP_NOSUBST was used to prevent evaluating irrelevant conditions. Omitting the evaluation flag VARE_WANTRES has the same effect. To generate a diff of this commit: cvs rdiff -u -r1.284 -r1.285 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.284 src/usr.bin/make/var.c:1.285 --- src/usr.bin/make/var.c:1.284 Mon Jul 20 16:32:14 2020 +++ src/usr.bin/make/var.c Mon Jul 20 16:55:10 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.284 2020/07/20 16:32:14 rillig Exp $ */ +/* $NetBSD: var.c,v 1.285 2020/07/20 16:55:10 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.284 2020/07/20 16:32:14 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.285 2020/07/20 16:55:10 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.284 2020/07/20 16:32:14 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.285 2020/07/20 16:55:10 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -2865,32 +2865,29 @@ ApplyModifier_Order(ApplyModifiersState static Boolean ApplyModifier_IfElse(ApplyModifiersState *st) { -Boolean value; -int cond_rc; -VarPatternFlags then_flags, else_flags; -/* FIXME: IfElse has nothing to do with VarPatternFlags */ +Boolean value = FALSE; +int cond_rc = 0; +VarEvalFlags then_eflags = st->eflags & ~VARE_WANTRES; +VarEvalFlags else_eflags = st->eflags & ~VARE_WANTRES; -/* find ':', and then substitute accordingly */ if (st->eflags & VARE_WANTRES) { cond_rc = Cond_EvalExpression(NULL, st->v->name, , 0, FALSE); - then_flags = cond_rc != COND_INVALID && value ? 0 : VAR_NOSUBST; - else_flags = cond_rc != COND_INVALID && !value ? 0 : VAR_NOSUBST; -} else { - /* we are just consuming and discarding */ - cond_rc = value = 0; - then_flags = else_flags = VAR_NOSUBST; + if (cond_rc != COND_INVALID && value) + then_eflags |= VARE_WANTRES; + if (cond_rc != COND_INVALID && !value) + else_eflags |= VARE_WANTRES; } st->cp = ++st->tstr; st->delim = ':'; char *then_expr = ParseModifierPart( - st->ctxt, >cp, st->delim, st->eflags, _flags, NULL, NULL); + st->ctxt, >cp, st->delim, then_eflags, NULL, NULL, NULL); if (then_expr == NULL) return FALSE; st->delim = st->endc; /* BRCLOSE or PRCLOSE */ char *else_expr = ParseModifierPart( - st->ctxt, >cp, st->delim, st->eflags, _flags, NULL, NULL); + st->ctxt, >cp, st->delim, else_eflags, NULL, NULL, NULL); if (else_expr == NULL) return FALSE;
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:45:41 UTC 2020 Modified Files: src/sys/arch/x86/x86: identcpu.c Log Message: Revert 1.112 "Disable x86 in-kernel AES temporarily." The bug in fpu_kern_enter motivating this appears to have been fixed. To generate a diff of this commit: cvs rdiff -u -r1.112 -r1.113 src/sys/arch/x86/x86/identcpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/identcpu.c diff -u src/sys/arch/x86/x86/identcpu.c:1.112 src/sys/arch/x86/x86/identcpu.c:1.113 --- src/sys/arch/x86/x86/identcpu.c:1.112 Mon Jul 20 15:11:29 2020 +++ src/sys/arch/x86/x86/identcpu.c Mon Jul 20 16:45:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: identcpu.c,v 1.112 2020/07/20 15:11:29 riastradh Exp $ */ +/* $NetBSD: identcpu.c,v 1.113 2020/07/20 16:45:41 riastradh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: identcpu.c,v 1.112 2020/07/20 15:11:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: identcpu.c,v 1.113 2020/07/20 16:45:41 riastradh Exp $"); #include "opt_xen.h" @@ -1007,17 +1007,17 @@ cpu_probe(struct cpu_info *ci) * disabled temporarily while we diagnose the bug. */ #ifdef __x86_64__ /* not yet implemented on i386 */ - if (0 & cpu_feature[1] & CPUID2_AES) + if (cpu_feature[1] & CPUID2_AES) aes_md_init(_ni_impl); else #endif - if (0 & cpu_feature[4] & CPUID_VIA_HAS_ACE) + if (cpu_feature[4] & CPUID_VIA_HAS_ACE) aes_md_init(_via_impl); - else if (0 & i386_has_sse && i386_has_sse2 && + else if (i386_has_sse && i386_has_sse2 && (cpu_feature[1] & CPUID2_SSE3) && (cpu_feature[1] & CPUID2_SSSE3)) aes_md_init(_ssse3_impl); - else if (0 & i386_has_sse && i386_has_sse2) + else if (i386_has_sse && i386_has_sse2) aes_md_init(_sse2_impl); } else { /*
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:45:41 UTC 2020 Modified Files: src/sys/arch/x86/x86: identcpu.c Log Message: Revert 1.112 "Disable x86 in-kernel AES temporarily." The bug in fpu_kern_enter motivating this appears to have been fixed. To generate a diff of this commit: cvs rdiff -u -r1.112 -r1.113 src/sys/arch/x86/x86/identcpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:43:03 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Fix fpu_kern_enter in a softint that interrupted a softint. We need to find the lwp that was originally interrupted to save its fpu state. With this, fpu-heavy programs (like firefox) are once again stable, at least under modest stress testing, on systems configured to use wifi with WPA2 and CCMP. To generate a diff of this commit: cvs rdiff -u -r1.71 -r1.72 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:43:03 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Fix fpu_kern_enter in a softint that interrupted a softint. We need to find the lwp that was originally interrupted to save its fpu state. With this, fpu-heavy programs (like firefox) are once again stable, at least under modest stress testing, on systems configured to use wifi with WPA2 and CCMP. To generate a diff of this commit: cvs rdiff -u -r1.71 -r1.72 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/fpu.c diff -u src/sys/arch/x86/x86/fpu.c:1.71 src/sys/arch/x86/x86/fpu.c:1.72 --- src/sys/arch/x86/x86/fpu.c:1.71 Mon Jul 20 16:41:18 2020 +++ src/sys/arch/x86/x86/fpu.c Mon Jul 20 16:43:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu.c,v 1.71 2020/07/20 16:41:18 riastradh Exp $ */ +/* $NetBSD: fpu.c,v 1.72 2020/07/20 16:43:03 riastradh Exp $ */ /* * Copyright (c) 2008, 2019 The NetBSD Foundation, Inc. All @@ -96,7 +96,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.71 2020/07/20 16:41:18 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.72 2020/07/20 16:43:03 riastradh Exp $"); #include "opt_multiprocessor.h" @@ -380,11 +380,9 @@ fpu_kern_enter(void) * If we are in a softint and have a pinned lwp, the fpu state is that * of the pinned lwp, so save it there. */ - if ((l->l_pflag & LP_INTR) && (l->l_switchto != NULL)) { - fpu_save_lwp(l->l_switchto); - } else { - fpu_save_lwp(l); - } + while ((l->l_pflag & LP_INTR) && (l->l_switchto != NULL)) + l = l->l_switchto; + fpu_save_lwp(l); /* * Clear CR0_TS, which fpu_save_lwp set if it saved anything --
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:41:18 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Save fpu state at IPL_VM to exclude fpu_kern_enter/leave. This way fpu_kern_enter/leave cannot interrupt the transition, so the transition from state-on-CPU to state-in-memory (with TS set) is atomic whether in an interrupt or not. (I am not 100% convinced that this is necessary, but it makes reasoning about the transition simpler.) To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/fpu.c diff -u src/sys/arch/x86/x86/fpu.c:1.70 src/sys/arch/x86/x86/fpu.c:1.71 --- src/sys/arch/x86/x86/fpu.c:1.70 Mon Jul 20 16:38:47 2020 +++ src/sys/arch/x86/x86/fpu.c Mon Jul 20 16:41:18 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu.c,v 1.70 2020/07/20 16:38:47 riastradh Exp $ */ +/* $NetBSD: fpu.c,v 1.71 2020/07/20 16:41:18 riastradh Exp $ */ /* * Copyright (c) 2008, 2019 The NetBSD Foundation, Inc. All @@ -96,7 +96,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.70 2020/07/20 16:38:47 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.71 2020/07/20 16:41:18 riastradh Exp $"); #include "opt_multiprocessor.h" @@ -151,14 +151,15 @@ fpu_save_lwp(struct lwp *l) { struct pcb *pcb = lwp_getpcb(l); union savefpu *area = >pcb_savefpu; + int s; - kpreempt_disable(); + s = splvm(); if (l->l_md.md_flags & MDL_FPU_IN_CPU) { KASSERT((l->l_flag & LW_SYSTEM) == 0); fpu_area_save(area, x86_xsave_features); l->l_md.md_flags &= ~MDL_FPU_IN_CPU; } - kpreempt_enable(); + splx(s); } /* @@ -299,8 +300,12 @@ fpu_handle_deferred(void) void fpu_switch(struct lwp *oldlwp, struct lwp *newlwp) { + struct cpu_info *ci __diagused = curcpu(); struct pcb *pcb; + KASSERTMSG(ci->ci_ilevel >= IPL_SCHED, "cpu%d ilevel=%d", + cpu_index(ci), ci->ci_ilevel); + if (oldlwp->l_md.md_flags & MDL_FPU_IN_CPU) { KASSERT(!(oldlwp->l_flag & LW_SYSTEM)); pcb = lwp_getpcb(oldlwp); @@ -334,11 +339,13 @@ fpu_lwp_fork(struct lwp *l1, struct lwp void fpu_lwp_abandon(struct lwp *l) { + int s; + KASSERT(l == curlwp); - kpreempt_disable(); + s = splvm(); l->l_md.md_flags &= ~MDL_FPU_IN_CPU; stts(); - kpreempt_enable(); + splx(s); } /* -- */
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:41:18 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Save fpu state at IPL_VM to exclude fpu_kern_enter/leave. This way fpu_kern_enter/leave cannot interrupt the transition, so the transition from state-on-CPU to state-in-memory (with TS set) is atomic whether in an interrupt or not. (I am not 100% convinced that this is necessary, but it makes reasoning about the transition simpler.) To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:38:47 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Revert 1.66 "Fix race in fpu save with fpu_kern_enter in softint." This only fixed part of the race, and we can do it more simply. To generate a diff of this commit: cvs rdiff -u -r1.69 -r1.70 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:38:47 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Revert 1.66 "Fix race in fpu save with fpu_kern_enter in softint." This only fixed part of the race, and we can do it more simply. To generate a diff of this commit: cvs rdiff -u -r1.69 -r1.70 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/fpu.c diff -u src/sys/arch/x86/x86/fpu.c:1.69 src/sys/arch/x86/x86/fpu.c:1.70 --- src/sys/arch/x86/x86/fpu.c:1.69 Mon Jul 20 16:37:34 2020 +++ src/sys/arch/x86/x86/fpu.c Mon Jul 20 16:38:47 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu.c,v 1.69 2020/07/20 16:37:34 riastradh Exp $ */ +/* $NetBSD: fpu.c,v 1.70 2020/07/20 16:38:47 riastradh Exp $ */ /* * Copyright (c) 2008, 2019 The NetBSD Foundation, Inc. All @@ -96,7 +96,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.69 2020/07/20 16:37:34 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.70 2020/07/20 16:38:47 riastradh Exp $"); #include "opt_multiprocessor.h" @@ -126,8 +126,6 @@ __KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.69 #define stts() HYPERVISOR_fpu_taskswitch(1) #endif -static void fpu_area_do_save(void *, uint64_t); - void fpu_handle_deferred(void); void fpu_switch(struct lwp *, struct lwp *); @@ -157,24 +155,8 @@ fpu_save_lwp(struct lwp *l) kpreempt_disable(); if (l->l_md.md_flags & MDL_FPU_IN_CPU) { KASSERT((l->l_flag & LW_SYSTEM) == 0); - - /* - * Order is important, in case we are interrupted and - * the interrupt calls fpu_kern_enter, triggering - * reentry of fpu_save_lwp: - * - * 1. Save FPU state. - * 2. Note FPU state has been saved. - * 3. Disable FPU access so the kernel doesn't - *accidentally use it. - * - * Steps (1) and (2) are both idempotent until step - * (3), after which point attempting to save the FPU - * state will trigger #NM/fpudna fault. - */ - fpu_area_do_save(area, x86_xsave_features); + fpu_area_save(area, x86_xsave_features); l->l_md.md_flags &= ~MDL_FPU_IN_CPU; - stts(); } kpreempt_enable(); } @@ -263,8 +245,8 @@ fpu_errata_amd(void) fldummy(); } -static void -fpu_area_do_save(void *area, uint64_t xsave_features) +void +fpu_area_save(void *area, uint64_t xsave_features) { switch (x86_fpu_save) { case FPU_SAVE_FSAVE: @@ -280,13 +262,7 @@ fpu_area_do_save(void *area, uint64_t xs xsaveopt(area, xsave_features); break; } -} - -void -fpu_area_save(void *area, uint64_t xsave_features) -{ - fpu_area_do_save(area, xsave_features); stts(); }
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:37:35 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Revert 1.67 "Restore the lwp's fpu state, not zeros, and leave with fpu enabled." This didn't actually avoid double-restore, and it doesn't solve the problem anyway, and made it harder to detect in-kernel fpu abuse. To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 16:37:35 UTC 2020 Modified Files: src/sys/arch/x86/x86: fpu.c Log Message: Revert 1.67 "Restore the lwp's fpu state, not zeros, and leave with fpu enabled." This didn't actually avoid double-restore, and it doesn't solve the problem anyway, and made it harder to detect in-kernel fpu abuse. To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/fpu.c diff -u src/sys/arch/x86/x86/fpu.c:1.68 src/sys/arch/x86/x86/fpu.c:1.69 --- src/sys/arch/x86/x86/fpu.c:1.68 Mon Jul 13 16:51:51 2020 +++ src/sys/arch/x86/x86/fpu.c Mon Jul 20 16:37:34 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu.c,v 1.68 2020/07/13 16:51:51 riastradh Exp $ */ +/* $NetBSD: fpu.c,v 1.69 2020/07/20 16:37:34 riastradh Exp $ */ /* * Copyright (c) 2008, 2019 The NetBSD Foundation, Inc. All @@ -96,7 +96,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.68 2020/07/13 16:51:51 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.69 2020/07/20 16:37:34 riastradh Exp $"); #include "opt_multiprocessor.h" @@ -421,9 +421,6 @@ void fpu_kern_leave(void) { static const union savefpu zero_fpu __aligned(64); - const union savefpu *savefpu; - struct lwp *l = curlwp; - struct pcb *pcb; struct cpu_info *ci = curcpu(); int s; @@ -431,18 +428,17 @@ fpu_kern_leave(void) KASSERT(ci->ci_kfpu_spl != -1); /* - * Restore the FPU state immediately to avoid leaking any - * kernel secrets, or zero it if this is a kthread. + * Zero the fpu registers; otherwise we might leak secrets + * through Spectre-class attacks to userland, even if there are + * no bugs in fpu state management. */ - if ((l->l_pflag & LP_INTR) && (l->l_switchto != NULL)) - l = l->l_switchto; - if (l->l_flag & LW_SYSTEM) { - savefpu = _fpu; - } else { - pcb = lwp_getpcb(l); - savefpu = >pcb_savefpu; - } - fpu_area_restore(savefpu, x86_xsave_features); + fpu_area_restore(_fpu, x86_xsave_features); + + /* + * Set CR0_TS again so that the kernel can't accidentally use + * the FPU. + */ + stts(); s = ci->ci_kfpu_spl; ci->ci_kfpu_spl = -1;
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 16:32:14 UTC 2020 Modified Files: src/usr.bin/make: var.c src/usr.bin/make/unit-tests: sysv.exp Log Message: make(1): fix obscure edge case for ${VAR:e$=x} The characters "$=" do not occur in either src or pkgsrc, therefore this case is unlikely to occur in practice. To generate a diff of this commit: cvs rdiff -u -r1.283 -r1.284 src/usr.bin/make/var.c cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/unit-tests/sysv.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.283 src/usr.bin/make/var.c:1.284 --- src/usr.bin/make/var.c:1.283 Mon Jul 20 16:12:52 2020 +++ src/usr.bin/make/var.c Mon Jul 20 16:32:14 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.283 2020/07/20 16:12:52 rillig Exp $ */ +/* $NetBSD: var.c,v 1.284 2020/07/20 16:32:14 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.283 2020/07/20 16:12:52 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.284 2020/07/20 16:32:14 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.283 2020/07/20 16:12:52 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.284 2020/07/20 16:32:14 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -3080,12 +3080,8 @@ ApplyModifier_SysV(ApplyModifiersState * st->delim = '='; st->cp = st->tstr; -VarPatternFlags pflags = 0; -/* FIXME: There's no point in having a single $ at the end of a - * SysV substitution since that will not be interpreted as an - * anchor anyway. */ char *lhs = ParseModifierPart(st->ctxt, >cp, st->delim, st->eflags, - , NULL, NULL); + NULL, NULL, NULL); if (lhs == NULL) return 'c'; Index: src/usr.bin/make/unit-tests/sysv.exp diff -u src/usr.bin/make/unit-tests/sysv.exp:1.7 src/usr.bin/make/unit-tests/sysv.exp:1.8 --- src/usr.bin/make/unit-tests/sysv.exp:1.7 Mon Jul 20 16:27:55 2020 +++ src/usr.bin/make/unit-tests/sysv.exp Mon Jul 20 16:32:14 2020 @@ -15,6 +15,6 @@ a.c.c ax:Q b c d eb bcd.e & -anchor-dollar: valux +anchor-dollar: value anchor-dollar: valux exit status 0
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 16:32:14 UTC 2020 Modified Files: src/usr.bin/make: var.c src/usr.bin/make/unit-tests: sysv.exp Log Message: make(1): fix obscure edge case for ${VAR:e$=x} The characters "$=" do not occur in either src or pkgsrc, therefore this case is unlikely to occur in practice. To generate a diff of this commit: cvs rdiff -u -r1.283 -r1.284 src/usr.bin/make/var.c cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/unit-tests/sysv.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Mon Jul 20 16:27:55 UTC 2020 Modified Files: src/usr.bin/make/unit-tests: sysv.exp sysv.mk Log Message: make(1): demonstrate obscure edge case in SysV modifier To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/sysv.exp cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/unit-tests/sysv.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/unit-tests/sysv.exp diff -u src/usr.bin/make/unit-tests/sysv.exp:1.6 src/usr.bin/make/unit-tests/sysv.exp:1.7 --- src/usr.bin/make/unit-tests/sysv.exp:1.6 Sun Jul 19 22:04:27 2020 +++ src/usr.bin/make/unit-tests/sysv.exp Mon Jul 20 16:27:55 2020 @@ -15,4 +15,6 @@ a.c.c ax:Q b c d eb bcd.e & +anchor-dollar: valux +anchor-dollar: valux exit status 0 Index: src/usr.bin/make/unit-tests/sysv.mk diff -u src/usr.bin/make/unit-tests/sysv.mk:1.7 src/usr.bin/make/unit-tests/sysv.mk:1.8 --- src/usr.bin/make/unit-tests/sysv.mk:1.7 Sun Jul 19 22:04:27 2020 +++ src/usr.bin/make/unit-tests/sysv.mk Mon Jul 20 16:27:55 2020 @@ -1,6 +1,6 @@ -# $Id: sysv.mk,v 1.7 2020/07/19 22:04:27 rillig Exp $ +# $Id: sysv.mk,v 1.8 2020/07/20 16:27:55 rillig Exp $ -all: foo fun sam bla words ampersand +all: foo fun sam bla words ampersand anchor-dollar FOO ?= FOOBAR = ${FOO:=bar} @@ -54,3 +54,10 @@ words: ampersand: @echo ${:U${a.bcd.e:L:a.%=%}:Q} @echo ${:U${a.bcd.e:L:a.%=&}:Q} + +# Before 2020-07-20, when a SysV modifier was parsed, a single dollar +# before the '=' was interpreted as an anchor, which doesn't make sense +# since the anchor was discarded immediately. +anchor-dollar: + @echo $@: ${:U${value:L:e$=x}:Q} + @echo $@: ${:U${value:L:e=x}:Q}
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Mon Jul 20 16:27:55 UTC 2020 Modified Files: src/usr.bin/make/unit-tests: sysv.exp sysv.mk Log Message: make(1): demonstrate obscure edge case in SysV modifier To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/sysv.exp cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/unit-tests/sysv.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Mon Jul 20 16:12:02 UTC 2020 Modified Files: src/usr.bin/make/unit-tests: modmisc.exp modmisc.mk Log Message: make(1): add test for :tu modifier with spaces To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/usr.bin/make/unit-tests/modmisc.exp cvs rdiff -u -r1.16 -r1.17 src/usr.bin/make/unit-tests/modmisc.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Mon Jul 20 16:12:02 UTC 2020 Modified Files: src/usr.bin/make/unit-tests: modmisc.exp modmisc.mk Log Message: make(1): add test for :tu modifier with spaces To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/usr.bin/make/unit-tests/modmisc.exp cvs rdiff -u -r1.16 -r1.17 src/usr.bin/make/unit-tests/modmisc.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/unit-tests/modmisc.exp diff -u src/usr.bin/make/unit-tests/modmisc.exp:1.20 src/usr.bin/make/unit-tests/modmisc.exp:1.21 --- src/usr.bin/make/unit-tests/modmisc.exp:1.20 Mon Jul 20 14:50:41 2020 +++ src/usr.bin/make/unit-tests/modmisc.exp Mon Jul 20 16:12:02 2020 @@ -78,4 +78,5 @@ mod-assign: appended=1 2 3. 3 mod-assign: ran:3. mod-assign: global: 1, 3, 1 2 3, 3. +mod-tu-space: A B exit status 0 Index: src/usr.bin/make/unit-tests/modmisc.mk diff -u src/usr.bin/make/unit-tests/modmisc.mk:1.16 src/usr.bin/make/unit-tests/modmisc.mk:1.17 --- src/usr.bin/make/unit-tests/modmisc.mk:1.16 Sun Jul 19 20:49:44 2020 +++ src/usr.bin/make/unit-tests/modmisc.mk Mon Jul 20 16:12:02 2020 @@ -1,4 +1,4 @@ -# $Id: modmisc.mk,v 1.16 2020/07/19 20:49:44 rillig Exp $ +# $Id: modmisc.mk,v 1.17 2020/07/20 16:12:02 rillig Exp $ # # miscellaneous modifier tests @@ -20,6 +20,7 @@ all: mod-S mod-C mod-at-varname mod-at-r all: mod-subst-dollar mod-loop-dollar all: mod-C-limits all: mod-assign +all: mod-tu-space modsysv: @echo "The answer is ${libfoo.a:L:libfoo.a=42}" @@ -156,3 +157,9 @@ mod-assign: # The assignments happen in the global scope and thus are # preserved even after the shell command has been run. @echo $@: global: ${FIRST:Q}, ${LAST:Q}, ${APPENDED:Q}, ${RAN:Q}. + +mod-tu-space: + # The :tu and :tl modifiers operate on the variable value + # as a single string, not as a list of words. Therefore, + # the adjacent spaces are preserved. + @echo $@: ${a b:L:tu:Q}
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 16:12:52 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): move documentation for assignment modifiers To generate a diff of this commit: cvs rdiff -u -r1.282 -r1.283 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 16:12:52 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): move documentation for assignment modifiers To generate a diff of this commit: cvs rdiff -u -r1.282 -r1.283 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.282 src/usr.bin/make/var.c:1.283 --- src/usr.bin/make/var.c:1.282 Mon Jul 20 15:48:50 2020 +++ src/usr.bin/make/var.c Mon Jul 20 16:12:52 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.282 2020/07/20 15:48:50 rillig Exp $ */ +/* $NetBSD: var.c,v 1.283 2020/07/20 16:12:52 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.282 2020/07/20 15:48:50 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.283 2020/07/20 16:12:52 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.282 2020/07/20 15:48:50 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.283 2020/07/20 16:12:52 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -2914,7 +2914,27 @@ ApplyModifier_IfElse(ApplyModifiersState return TRUE; } -/* "::=", "::!=", "::+=", or "::?=" */ +/* + * The ::= modifiers actually assign a value to the variable. + * Their main purpose is in supporting modifiers of .for loop + * iterators and other obscure uses. They always expand to + * nothing. In a target rule that would otherwise expand to an + * empty line they can be preceded with @: to keep make happy. + * Eg. + * + * foo: .USE + * .for i in ${.TARGET} ${.TARGET:R}.gz + * @: ${t::=$i} + * @echo blah ${t:T} + * .endfor + * + * ::= Assigns as the new value of variable. + * ::?= Assigns as value of variable if + * it was not already set. + * ::+= Appends to variable. + * ::!= Assigns output of as the new value of + * variable. + */ static int ApplyModifier_Assign(ApplyModifiersState *st) { @@ -3158,25 +3178,7 @@ ApplyModifier_SysV(ApplyModifiersState * * the form '${x:P}'. * :!! Run cmd much the same as :sh run's the * current value of the variable. - * The ::= modifiers, actually assign a value to the variable. - * Their main purpose is in supporting modifiers of .for loop - * iterators and other obscure uses. They always expand to - * nothing. In a target rule that would otherwise expand to an - * empty line they can be preceded with @: to keep make happy. - * Eg. - * - * foo: .USE - * .for i in ${.TARGET} ${.TARGET:R}.gz - * @: ${t::=$i} - * @echo blah ${t:T} - * .endfor - * - * ::= Assigns as the new value of variable. - * ::?= Assigns as value of variable if - * it was not already set. - * ::+= Appends to variable. - * ::!= Assigns output of as the new value of - * variable. + * Assignment operators (see ApplyModifier_Assign). */ static char * ApplyModifiers(char *nstr, const char *tstr,
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:48:50 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): prefer memcmp over strncmp To generate a diff of this commit: cvs rdiff -u -r1.281 -r1.282 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.281 src/usr.bin/make/var.c:1.282 --- src/usr.bin/make/var.c:1.281 Mon Jul 20 15:44:12 2020 +++ src/usr.bin/make/var.c Mon Jul 20 15:48:50 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.281 2020/07/20 15:44:12 rillig Exp $ */ +/* $NetBSD: var.c,v 1.282 2020/07/20 15:48:50 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.281 2020/07/20 15:44:12 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.282 2020/07/20 15:48:50 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.281 2020/07/20 15:44:12 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.282 2020/07/20 15:48:50 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1359,7 +1359,8 @@ VarSubstitute(GNode *ctx MAKE_ATTR_UNUSE goto nosub; if (args->pflags & VARP_MATCH_START) { - if (strncmp(word, args->lhs, args->lhsLen) != 0) + if (wordLen < args->lhsLen || + memcmp(word, args->lhs, args->lhsLen) != 0) goto nosub; if (args->pflags & VARP_MATCH_END) {
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:48:50 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): prefer memcmp over strncmp To generate a diff of this commit: cvs rdiff -u -r1.281 -r1.282 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:44:12 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): fix type of VarPattern.lhsLen and rhsLen String length is measured in size_t, not int. To generate a diff of this commit: cvs rdiff -u -r1.280 -r1.281 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.280 src/usr.bin/make/var.c:1.281 --- src/usr.bin/make/var.c:1.280 Mon Jul 20 15:15:32 2020 +++ src/usr.bin/make/var.c Mon Jul 20 15:44:12 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.280 2020/07/20 15:15:32 rillig Exp $ */ +/* $NetBSD: var.c,v 1.281 2020/07/20 15:44:12 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.280 2020/07/20 15:15:32 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.281 2020/07/20 15:44:12 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.280 2020/07/20 15:15:32 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.281 2020/07/20 15:44:12 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -266,15 +266,14 @@ typedef struct { * several space-separated words). */ } Var_Parse_State; -/* struct passed as 'void *' to VarSubstitute() for ":S/lhs/rhs/", - * to VarSYSVMatch() for ":lhs=rhs". */ +/* struct passed as 'void *' to VarSubstitute() for ":S/lhs/rhs/" */ typedef struct { -const char *lhs; /* String to match */ -int leftLen; /* Length of string */ -const char *rhs; /* Replacement string (w/ &'s removed) */ -int rightLen; /* Length of replacement */ +const char *lhs; +size_t lhsLen; +const char *rhs; +size_t rhsLen; VarPatternFlags pflags; -} VarPattern; +} VarSubstituteArgs; /* struct passed as 'void *' to VarLoopExpand() for ":@tvar@str@" */ typedef struct { @@ -1352,55 +1351,54 @@ VarSubstitute(GNode *ctx MAKE_ATTR_UNUSE void *data) { size_t wordLen = strlen(word); -VarPattern *pattern = data; -const VarPatternFlags pflags = pattern->pflags; +VarSubstituteArgs *args = data; +const VarPatternFlags pflags = args->pflags; if ((pflags & (VARP_SUB_ONE | VARP_SUB_MATCHED)) == (VARP_SUB_ONE | VARP_SUB_MATCHED)) goto nosub; -if (pattern->pflags & VARP_MATCH_START) { - if (strncmp(word, pattern->lhs, pattern->leftLen) != 0) +if (args->pflags & VARP_MATCH_START) { + if (strncmp(word, args->lhs, args->lhsLen) != 0) goto nosub; - if (pattern->pflags & VARP_MATCH_END) { - if (wordLen != (size_t)pattern->leftLen) + if (args->pflags & VARP_MATCH_END) { + if (wordLen != args->lhsLen) goto nosub; - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - pattern->pflags |= VARP_SUB_MATCHED; + SepBuf_AddBytes(buf, args->rhs, args->rhsLen); + args->pflags |= VARP_SUB_MATCHED; } else { - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - SepBuf_AddBytes(buf, word + pattern->leftLen, - wordLen - pattern->leftLen); - pattern->pflags |= VARP_SUB_MATCHED; + SepBuf_AddBytes(buf, args->rhs, args->rhsLen); + SepBuf_AddBytes(buf, word + args->lhsLen, wordLen - args->lhsLen); + args->pflags |= VARP_SUB_MATCHED; } return; } -if (pattern->pflags & VARP_MATCH_END) { - if (wordLen < (size_t)pattern->leftLen) +if (args->pflags & VARP_MATCH_END) { + if (wordLen < args->lhsLen) goto nosub; - const char *start = word + (wordLen - pattern->leftLen); - if (memcmp(start, pattern->lhs, pattern->leftLen) != 0) + const char *start = word + (wordLen - args->lhsLen); + if (memcmp(start, args->lhs, args->lhsLen) != 0) goto nosub; SepBuf_AddBytes(buf, word, start - word); - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - pattern->pflags |= VARP_SUB_MATCHED; + SepBuf_AddBytes(buf, args->rhs, args->rhsLen); + args->pflags |= VARP_SUB_MATCHED; return; } /* unanchored */ const char *cp; -while ((cp = Str_FindSubstring(word, pattern->lhs)) != NULL) { +while ((cp = Str_FindSubstring(word, args->lhs)) != NULL) { SepBuf_AddBytes(buf, word, cp - word); - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - wordLen -= (cp - word) + pattern->leftLen; - word = cp + pattern->leftLen; - if (wordLen == 0 || !(pattern->pflags & VARP_SUB_GLOBAL)) + SepBuf_AddBytes(buf, args->rhs, args->rhsLen); + wordLen -= (cp - word) + args->lhsLen; + word = cp + args->lhsLen; + if (wordLen == 0 || !(args->pflags & VARP_SUB_GLOBAL)) break; - pattern->pflags |= VARP_SUB_MATCHED; + args->pflags |= VARP_SUB_MATCHED; } nosub: SepBuf_AddBytes(buf, word, wordLen); @@ -1896,12 +1894,12 @@ VarRange(const char *str, int ac) static char * ParseModifierPart(GNode
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:44:12 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): fix type of VarPattern.lhsLen and rhsLen String length is measured in size_t, not int. To generate a diff of this commit: cvs rdiff -u -r1.280 -r1.281 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:15:32 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): fix undefined behavior in :S modifier The expression word + wordLen - leftLen had resulted in an out-of-bounds pointer before. Luckily the heap addresses were high enough in typical applications to prevent a wrap-around. To generate a diff of this commit: cvs rdiff -u -r1.279 -r1.280 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.279 src/usr.bin/make/var.c:1.280 --- src/usr.bin/make/var.c:1.279 Mon Jul 20 15:10:35 2020 +++ src/usr.bin/make/var.c Mon Jul 20 15:15:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.279 2020/07/20 15:10:35 rillig Exp $ */ +/* $NetBSD: var.c,v 1.280 2020/07/20 15:15:32 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.279 2020/07/20 15:10:35 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.280 2020/07/20 15:15:32 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.279 2020/07/20 15:10:35 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.280 2020/07/20 15:15:32 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1379,11 +1379,13 @@ VarSubstitute(GNode *ctx MAKE_ATTR_UNUSE } if (pattern->pflags & VARP_MATCH_END) { - const char *cp = word + (wordLen - pattern->leftLen); - if (cp < word || strncmp(cp, pattern->lhs, pattern->leftLen) != 0) + if (wordLen < (size_t)pattern->leftLen) + goto nosub; + const char *start = word + (wordLen - pattern->leftLen); + if (memcmp(start, pattern->lhs, pattern->leftLen) != 0) goto nosub; - SepBuf_AddBytes(buf, word, cp - word); + SepBuf_AddBytes(buf, word, start - word); SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); pattern->pflags |= VARP_SUB_MATCHED; return;
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:15:32 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): fix undefined behavior in :S modifier The expression word + wordLen - leftLen had resulted in an out-of-bounds pointer before. Luckily the heap addresses were high enough in typical applications to prevent a wrap-around. To generate a diff of this commit: cvs rdiff -u -r1.279 -r1.280 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 15:11:29 UTC 2020 Modified Files: src/sys/arch/x86/x86: identcpu.c Log Message: Disable x86 in-kernel AES temporarily. There's a bug in the FPU state handling that it triggers -- likely limited to the softint path since I've only ever seen it on a system using wifi configured with WPA2 and CCMP, which uses AES heavily in softint. This is to be reverted once we diagnose the bug. (There is also a performance regression on wifi with WPA2 and CCMP, which I plan to fix too once we figure out the FPU state handling bug.) To generate a diff of this commit: cvs rdiff -u -r1.111 -r1.112 src/sys/arch/x86/x86/identcpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: riastradh Date: Mon Jul 20 15:11:29 UTC 2020 Modified Files: src/sys/arch/x86/x86: identcpu.c Log Message: Disable x86 in-kernel AES temporarily. There's a bug in the FPU state handling that it triggers -- likely limited to the softint path since I've only ever seen it on a system using wifi configured with WPA2 and CCMP, which uses AES heavily in softint. This is to be reverted once we diagnose the bug. (There is also a performance regression on wifi with WPA2 and CCMP, which I plan to fix too once we figure out the FPU state handling bug.) To generate a diff of this commit: cvs rdiff -u -r1.111 -r1.112 src/sys/arch/x86/x86/identcpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/identcpu.c diff -u src/sys/arch/x86/x86/identcpu.c:1.111 src/sys/arch/x86/x86/identcpu.c:1.112 --- src/sys/arch/x86/x86/identcpu.c:1.111 Mon Jun 29 23:51:35 2020 +++ src/sys/arch/x86/x86/identcpu.c Mon Jul 20 15:11:29 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: identcpu.c,v 1.111 2020/06/29 23:51:35 riastradh Exp $ */ +/* $NetBSD: identcpu.c,v 1.112 2020/07/20 15:11:29 riastradh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: identcpu.c,v 1.111 2020/06/29 23:51:35 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: identcpu.c,v 1.112 2020/07/20 15:11:29 riastradh Exp $"); #include "opt_xen.h" @@ -1000,18 +1000,24 @@ cpu_probe(struct cpu_info *ci) /* Early patch of text segment. */ x86_patch(true); #endif + /* + * XXX There is a bug with FPU in kernel that we + * haven't been able to track down yet, and all of the + * accelerated AES code relies on that, so it is + * disabled temporarily while we diagnose the bug. + */ #ifdef __x86_64__ /* not yet implemented on i386 */ - if (cpu_feature[1] & CPUID2_AES) + if (0 & cpu_feature[1] & CPUID2_AES) aes_md_init(_ni_impl); else #endif - if (cpu_feature[4] & CPUID_VIA_HAS_ACE) + if (0 & cpu_feature[4] & CPUID_VIA_HAS_ACE) aes_md_init(_via_impl); - else if (i386_has_sse && i386_has_sse2 && + else if (0 & i386_has_sse && i386_has_sse2 && (cpu_feature[1] & CPUID2_SSE3) && (cpu_feature[1] & CPUID2_SSSE3)) aes_md_init(_ssse3_impl); - else if (i386_has_sse && i386_has_sse2) + else if (0 & i386_has_sse && i386_has_sse2) aes_md_init(_sse2_impl); } else { /*
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:10:35 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): make implementation of the :S modifier simpler To generate a diff of this commit: cvs rdiff -u -r1.278 -r1.279 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 15:10:35 UTC 2020 Modified Files: src/usr.bin/make: var.c Log Message: make(1): make implementation of the :S modifier simpler To generate a diff of this commit: cvs rdiff -u -r1.278 -r1.279 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.278 src/usr.bin/make/var.c:1.279 --- src/usr.bin/make/var.c:1.278 Mon Jul 20 14:50:41 2020 +++ src/usr.bin/make/var.c Mon Jul 20 15:10:35 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.278 2020/07/20 14:50:41 rillig Exp $ */ +/* $NetBSD: var.c,v 1.279 2020/07/20 15:10:35 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.278 2020/07/20 14:50:41 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.279 2020/07/20 15:10:35 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.278 2020/07/20 14:50:41 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.279 2020/07/20 15:10:35 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1351,96 +1351,55 @@ static void VarSubstitute(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf, void *data) { -int wordLen = strlen(word); -const char *cp; /* General pointer */ +size_t wordLen = strlen(word); VarPattern *pattern = data; +const VarPatternFlags pflags = pattern->pflags; -if ((pattern->pflags & (VARP_SUB_ONE | VARP_SUB_MATCHED)) != - (VARP_SUB_ONE | VARP_SUB_MATCHED)) { - /* - * Still substituting -- break it down into simple anchored cases - * and if none of them fits, perform the general substitution case. - */ - if ((pattern->pflags & VARP_MATCH_START) && - (strncmp(word, pattern->lhs, pattern->leftLen) == 0)) { - /* - * Anchored at start and beginning of word matches pattern - */ - if ((pattern->pflags & VARP_MATCH_END) && - (wordLen == pattern->leftLen)) { - /* - * Also anchored at end and matches to the end (word - * is same length as pattern). - */ - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - pattern->pflags |= VARP_SUB_MATCHED; - } else if (pattern->pflags & VARP_MATCH_END) { - /* - * Doesn't match to end -- copy word wholesale - */ - goto nosub; - } else { - /* - * Matches at start but need to copy in trailing characters - */ - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - SepBuf_AddBytes(buf, word + pattern->leftLen, - wordLen - pattern->leftLen); - pattern->pflags |= VARP_SUB_MATCHED; - } - } else if (pattern->pflags & VARP_MATCH_START) { - /* - * Had to match at start of word and didn't -- copy whole word. - */ +if ((pflags & (VARP_SUB_ONE | VARP_SUB_MATCHED)) == + (VARP_SUB_ONE | VARP_SUB_MATCHED)) + goto nosub; + +if (pattern->pflags & VARP_MATCH_START) { + if (strncmp(word, pattern->lhs, pattern->leftLen) != 0) goto nosub; - } else if (pattern->pflags & VARP_MATCH_END) { - /* - * Anchored at end, Find only place match could occur (leftLen - * characters from the end of the word) and see if it does. Note - * that because the $ will be left at the end of the lhs, we have - * to use strncmp. - */ - cp = word + (wordLen - pattern->leftLen); - if (cp >= word && - strncmp(cp, pattern->lhs, pattern->leftLen) == 0) { - /* - * Match found. Stuff in the initial, unmatched part of the - * word followed by the right-hand-side. - */ - SepBuf_AddBytes(buf, word, cp - word); - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - pattern->pflags |= VARP_SUB_MATCHED; - } else { - /* - * Had to match at end and didn't. Copy entire word. - */ + + if (pattern->pflags & VARP_MATCH_END) { + if (wordLen != (size_t)pattern->leftLen) goto nosub; - } + + SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); + pattern->pflags |= VARP_SUB_MATCHED; } else { - /* - * Pattern is unanchored: search for the pattern in the word using - * String_FindSubstring, copying unmatched portions and the - * right-hand-side for each match found, handling non-global - * substitutions correctly, etc. When the loop is done, any - * remaining part of the word (word and wordLen are adjusted - * accordingly through the loop) is copied straight into the - * buffer. - */ - while ((cp = Str_FindSubstring(word, pattern->lhs)) != NULL) { - SepBuf_AddBytes(buf, word, cp - word); - SepBuf_AddBytes(buf, pattern->rhs, pattern->rightLen); - wordLen -= (cp - word) + pattern->leftLen; - word = cp + pattern->leftLen; - if (wordLen == 0) - break; - if ((pattern->pflags & VARP_SUB_GLOBAL) == 0) - break; - pattern->pflags |=
CVS commit: src/sys/arch/mips/mips
Module Name:src Committed By: jmcneill Date: Mon Jul 20 14:59:57 UTC 2020 Modified Files: src/sys/arch/mips/mips: cpu_subr.c Log Message: No need for cpu_hatch_lock after all since we hatch secondaries one at a time To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.55 src/sys/arch/mips/mips/cpu_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mips/mips/cpu_subr.c diff -u src/sys/arch/mips/mips/cpu_subr.c:1.54 src/sys/arch/mips/mips/cpu_subr.c:1.55 --- src/sys/arch/mips/mips/cpu_subr.c:1.54 Mon Jul 20 14:38:38 2020 +++ src/sys/arch/mips/mips/cpu_subr.c Mon Jul 20 14:59:57 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_subr.c,v 1.54 2020/07/20 14:38:38 skrll Exp $ */ +/* $NetBSD: cpu_subr.c,v 1.55 2020/07/20 14:59:57 jmcneill Exp $ */ /*- * Copyright (c) 2010, 2019 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.54 2020/07/20 14:38:38 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.55 2020/07/20 14:59:57 jmcneill Exp $"); #include "opt_cputype.h" #include "opt_ddb.h" @@ -106,8 +106,6 @@ const pcu_ops_t * const pcu_ops_md_defs[ }; #ifdef MULTIPROCESSOR -static kmutex_t cpu_hatch_lock; - struct cpu_info * cpuid_infos[MAXCPUS] = { [0] = _info_store, }; @@ -951,9 +949,7 @@ cpu_hatch(struct cpu_info *ci) * Let this CPU do its own post-running initialization * (for things that have to be done on the local CPU). */ - mutex_enter(_hatch_lock); (*mips_locoresw.lsw_cpu_run)(ci); - mutex_exit(_hatch_lock); /* * Now turn on interrupts (and verify they are on). @@ -977,8 +973,6 @@ cpu_boot_secondary_processors(void) CPU_INFO_ITERATOR cii; struct cpu_info *ci; - mutex_init(_hatch_lock, MUTEX_DEFAULT, IPL_HIGH); - for (CPU_INFO_FOREACH(cii, ci)) { if (CPU_IS_PRIMARY(ci)) continue;
CVS commit: src/sys/arch/mips/mips
Module Name:src Committed By: jmcneill Date: Mon Jul 20 14:59:57 UTC 2020 Modified Files: src/sys/arch/mips/mips: cpu_subr.c Log Message: No need for cpu_hatch_lock after all since we hatch secondaries one at a time To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.55 src/sys/arch/mips/mips/cpu_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 14:50:41 UTC 2020 Modified Files: src/usr.bin/make: parse.c var.c src/usr.bin/make/unit-tests: modmisc.exp Log Message: make(1): make modifier handling simpler Implementing a modifier such as :S or :M should not be concerned with separating the words of the resulting string. Ideally this should be done in the same way by all modifiers. Before, the :R (filename root) modifier added a separator even if the resulting filename root was an empty string. The chances that this change in behavior breaks anything are epsilon. The :@ modifier, if it appeared after a :ts modifier, did not use the word separator from the :ts modifier (which all other modifiers do) but always added a space. This behavior has been preserved for now. It's an unnecessary inconsistency though. In contrast to Buffer, the newly added SepBuf uses size_t for memory sizes and also uses the conventional parameter order (mem, memsize) instead of the unusual (memsize, mem). To generate a diff of this commit: cvs rdiff -u -r1.237 -r1.238 src/usr.bin/make/parse.c cvs rdiff -u -r1.277 -r1.278 src/usr.bin/make/var.c cvs rdiff -u -r1.19 -r1.20 src/usr.bin/make/unit-tests/modmisc.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Jul 20 14:50:41 UTC 2020 Modified Files: src/usr.bin/make: parse.c var.c src/usr.bin/make/unit-tests: modmisc.exp Log Message: make(1): make modifier handling simpler Implementing a modifier such as :S or :M should not be concerned with separating the words of the resulting string. Ideally this should be done in the same way by all modifiers. Before, the :R (filename root) modifier added a separator even if the resulting filename root was an empty string. The chances that this change in behavior breaks anything are epsilon. The :@ modifier, if it appeared after a :ts modifier, did not use the word separator from the :ts modifier (which all other modifiers do) but always added a space. This behavior has been preserved for now. It's an unnecessary inconsistency though. In contrast to Buffer, the newly added SepBuf uses size_t for memory sizes and also uses the conventional parameter order (mem, memsize) instead of the unusual (memsize, mem). To generate a diff of this commit: cvs rdiff -u -r1.237 -r1.238 src/usr.bin/make/parse.c cvs rdiff -u -r1.277 -r1.278 src/usr.bin/make/var.c cvs rdiff -u -r1.19 -r1.20 src/usr.bin/make/unit-tests/modmisc.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/parse.c diff -u src/usr.bin/make/parse.c:1.237 src/usr.bin/make/parse.c:1.238 --- src/usr.bin/make/parse.c:1.237 Sun Jul 19 12:26:17 2020 +++ src/usr.bin/make/parse.c Mon Jul 20 14:50:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.237 2020/07/19 12:26:17 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.238 2020/07/20 14:50:41 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: parse.c,v 1.237 2020/07/19 12:26:17 rillig Exp $"; +static char rcsid[] = "$NetBSD: parse.c,v 1.238 2020/07/20 14:50:41 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)parse.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: parse.c,v 1.237 2020/07/19 12:26:17 rillig Exp $"); +__RCSID("$NetBSD: parse.c,v 1.238 2020/07/20 14:50:41 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1938,9 +1938,8 @@ Parse_DoVar(char *line, GNode *ctxt) break; } -while (isspace ((unsigned char)*cp)) { +while (isspace((unsigned char)*cp)) cp++; -} if (type == VAR_APPEND) { Var_Append(line, cp, ctxt); @@ -1980,7 +1979,7 @@ Parse_DoVar(char *line, GNode *ctxt) /* * There's a dollar sign in the command, so perform variable * expansion on the whole thing. The resulting string will need - * freeing when we're done, so set freeCmd to TRUE. + * freeing when we're done. */ cp = Var_Subst(NULL, cp, VAR_CMD, VARE_UNDEFERR|VARE_WANTRES); freeCp = TRUE; Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.277 src/usr.bin/make/var.c:1.278 --- src/usr.bin/make/var.c:1.277 Sun Jul 19 22:22:01 2020 +++ src/usr.bin/make/var.c Mon Jul 20 14:50:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.277 2020/07/19 22:22:01 rillig Exp $ */ +/* $NetBSD: var.c,v 1.278 2020/07/20 14:50:41 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.277 2020/07/19 22:22:01 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.278 2020/07/20 14:50:41 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.277 2020/07/19 22:22:01 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.278 2020/07/20 14:50:41 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1106,103 +1106,110 @@ Var_Value(const char *name, GNode *ctxt, } +/* SepBuf is a string being built from "words", interleaved with separators. */ +typedef struct { +Buffer buf; +Boolean needSep; +char sep; +} SepBuf; + +static void +SepBuf_Init(SepBuf *buf, char sep) +{ +Buf_Init(>buf, 32 /* bytes */); +buf->needSep = FALSE; +buf->sep = sep; +} + +static void +SepBuf_Sep(SepBuf *buf) +{ +buf->needSep = TRUE; +} + +static void +SepBuf_AddBytes(SepBuf *buf, const void *mem, size_t mem_size) +{ +if (mem_size == 0) + return; +if (buf->needSep && buf->sep != '\0') { + Buf_AddByte(>buf, buf->sep); + buf->needSep = FALSE; +} +Buf_AddBytes(>buf, mem_size, mem); +} + +static char * +SepBuf_Destroy(SepBuf *buf, Boolean free_buf) +{ +return Buf_Destroy(>buf, free_buf); +} + + /* This callback for VarModify gets a single word from an expression and * typically adds a modification of this word to the buffer. It may also do - * nothing or add several words. - * - * If addSpaces is TRUE, it must add a space before adding anything else to - * the buffer. - * - * It returns the addSpace value for the next
CVS commit: src/sys/arch/mips/mips
Module Name:src Committed By: skrll Date: Mon Jul 20 14:38:38 UTC 2020 Modified Files: src/sys/arch/mips/mips: cpu_subr.c Log Message: Fix non-MULTIPROCESSOR build To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/sys/arch/mips/mips/cpu_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mips/mips/cpu_subr.c diff -u src/sys/arch/mips/mips/cpu_subr.c:1.53 src/sys/arch/mips/mips/cpu_subr.c:1.54 --- src/sys/arch/mips/mips/cpu_subr.c:1.53 Mon Jul 20 14:19:41 2020 +++ src/sys/arch/mips/mips/cpu_subr.c Mon Jul 20 14:38:38 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_subr.c,v 1.53 2020/07/20 14:19:41 jmcneill Exp $ */ +/* $NetBSD: cpu_subr.c,v 1.54 2020/07/20 14:38:38 skrll Exp $ */ /*- * Copyright (c) 2010, 2019 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.53 2020/07/20 14:19:41 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.54 2020/07/20 14:38:38 skrll Exp $"); #include "opt_cputype.h" #include "opt_ddb.h" @@ -75,8 +75,6 @@ __KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v extern struct cpu_softc octeon_cpu_softc[]; #endif -static kmutex_t cpu_hatch_lock; - struct cpu_info cpu_info_store #if defined(MULTIPROCESSOR) && !defined(MIPS64_OCTEON) __section(".data1") @@ -108,6 +106,8 @@ const pcu_ops_t * const pcu_ops_md_defs[ }; #ifdef MULTIPROCESSOR +static kmutex_t cpu_hatch_lock; + struct cpu_info * cpuid_infos[MAXCPUS] = { [0] = _info_store, };
CVS commit: src/sys/arch/mips/mips
Module Name:src Committed By: skrll Date: Mon Jul 20 14:38:38 UTC 2020 Modified Files: src/sys/arch/mips/mips: cpu_subr.c Log Message: Fix non-MULTIPROCESSOR build To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/sys/arch/mips/mips/cpu_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/share/mk
Module Name:src Committed By: tsutsui Date: Mon Jul 20 14:24:13 UTC 2020 Modified Files: src/share/mk: bsd.own.mk Log Message: Switch ports using MI wsfb drivers to HAVE_XORG_SERVER_VER=120. Xorg wsfb servers from 1.20 for dreamcast (16bpp), hp300 (8bpp), and luna68k (1bpp) work fine even on NetBSD 9.0, and zaurus is also confirmed working. Discussed with mrg@ and macallan@ on tech-x11: https://mail-index.netbsd.org/tech-x11/2020/07/thread1.html#002098 To generate a diff of this commit: cvs rdiff -u -r1.1200 -r1.1201 src/share/mk/bsd.own.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/mk/bsd.own.mk diff -u src/share/mk/bsd.own.mk:1.1200 src/share/mk/bsd.own.mk:1.1201 --- src/share/mk/bsd.own.mk:1.1200 Sat Jul 4 21:02:16 2020 +++ src/share/mk/bsd.own.mk Mon Jul 20 14:24:13 2020 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.own.mk,v 1.1200 2020/07/04 21:02:16 chs Exp $ +# $NetBSD: bsd.own.mk,v 1.1201 2020/07/20 14:24:13 tsutsui Exp $ # This needs to be before bsd.init.mk .if defined(BSD_MK_COMPAT_FILE) @@ -1517,17 +1517,11 @@ X11SRCDIR.${_proto}proto?= ${X11SRCDIRM .if \ ${MACHINE} == "alpha" || \ ${MACHINE} == "amiga" || \ -${MACHINE} == "ews4800mips" || \ -${MACHINE} == "hpcarm" || \ -${MACHINE} == "hpcmips" || \ -${MACHINE} == "hpcsh" || \ ${MACHINE} == "mac68k" || \ ${MACHINE} == "netwinder" || \ -${MACHINE} == "newsmips" || \ ${MACHINE} == "sgimips" || \ ${MACHINE} == "vax" || \ -${MACHINE} == "x68k" || \ -${MACHINE} == "zaurus" +${MACHINE} == "x68k" HAVE_XORG_SERVER_VER?=110 .else HAVE_XORG_SERVER_VER?=120
CVS commit: src/share/mk
Module Name:src Committed By: tsutsui Date: Mon Jul 20 14:24:13 UTC 2020 Modified Files: src/share/mk: bsd.own.mk Log Message: Switch ports using MI wsfb drivers to HAVE_XORG_SERVER_VER=120. Xorg wsfb servers from 1.20 for dreamcast (16bpp), hp300 (8bpp), and luna68k (1bpp) work fine even on NetBSD 9.0, and zaurus is also confirmed working. Discussed with mrg@ and macallan@ on tech-x11: https://mail-index.netbsd.org/tech-x11/2020/07/thread1.html#002098 To generate a diff of this commit: cvs rdiff -u -r1.1200 -r1.1201 src/share/mk/bsd.own.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/mips/mips
Module Name:src Committed By: jmcneill Date: Mon Jul 20 14:19:41 UTC 2020 Modified Files: src/sys/arch/mips/mips: cpu_subr.c Log Message: Serialize CPU hatch annoucement printfs and wait for CPUs to start before returning from cpu_boot_secondary_processors. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/sys/arch/mips/mips/cpu_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/mips/mips
Module Name:src Committed By: jmcneill Date: Mon Jul 20 14:19:41 UTC 2020 Modified Files: src/sys/arch/mips/mips: cpu_subr.c Log Message: Serialize CPU hatch annoucement printfs and wait for CPUs to start before returning from cpu_boot_secondary_processors. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/sys/arch/mips/mips/cpu_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mips/mips/cpu_subr.c diff -u src/sys/arch/mips/mips/cpu_subr.c:1.52 src/sys/arch/mips/mips/cpu_subr.c:1.53 --- src/sys/arch/mips/mips/cpu_subr.c:1.52 Mon Jul 20 10:53:47 2020 +++ src/sys/arch/mips/mips/cpu_subr.c Mon Jul 20 14:19:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_subr.c,v 1.52 2020/07/20 10:53:47 skrll Exp $ */ +/* $NetBSD: cpu_subr.c,v 1.53 2020/07/20 14:19:41 jmcneill Exp $ */ /*- * Copyright (c) 2010, 2019 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.52 2020/07/20 10:53:47 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.53 2020/07/20 14:19:41 jmcneill Exp $"); #include "opt_cputype.h" #include "opt_ddb.h" @@ -75,6 +75,8 @@ __KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v extern struct cpu_softc octeon_cpu_softc[]; #endif +static kmutex_t cpu_hatch_lock; + struct cpu_info cpu_info_store #if defined(MULTIPROCESSOR) && !defined(MIPS64_OCTEON) __section(".data1") @@ -949,7 +951,9 @@ cpu_hatch(struct cpu_info *ci) * Let this CPU do its own post-running initialization * (for things that have to be done on the local CPU). */ + mutex_enter(_hatch_lock); (*mips_locoresw.lsw_cpu_run)(ci); + mutex_exit(_hatch_lock); /* * Now turn on interrupts (and verify they are on). @@ -973,6 +977,8 @@ cpu_boot_secondary_processors(void) CPU_INFO_ITERATOR cii; struct cpu_info *ci; + mutex_init(_hatch_lock, MUTEX_DEFAULT, IPL_HIGH); + for (CPU_INFO_FOREACH(cii, ci)) { if (CPU_IS_PRIMARY(ci)) continue; @@ -988,8 +994,8 @@ cpu_boot_secondary_processors(void) atomic_or_ulong(>ci_flags, CPUF_RUNNING); kcpuset_set(cpus_running, cpu_index(ci)); // Spin until the cpu calls idle_loop - for (u_int i = 0; i < 100; i++) { - if (kcpuset_isset(cpus_running, cpu_index(ci))) + for (u_int i = 0; i < 1; i++) { + if (kcpuset_isset(kcpuset_running, cpu_index(ci))) break; delay(1000); }
CVS commit: src/sys/arch/mips/cavium
Module Name:src Committed By: jmcneill Date: Mon Jul 20 14:05:51 UTC 2020 Modified Files: src/sys/arch/mips/cavium: octeon_intr.c Log Message: Simplify IPI handling even more for now and run everything at IPL_HIGH. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/arch/mips/cavium/octeon_intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mips/cavium/octeon_intr.c diff -u src/sys/arch/mips/cavium/octeon_intr.c:1.19 src/sys/arch/mips/cavium/octeon_intr.c:1.20 --- src/sys/arch/mips/cavium/octeon_intr.c:1.19 Mon Jul 20 13:30:41 2020 +++ src/sys/arch/mips/cavium/octeon_intr.c Mon Jul 20 14:05:51 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: octeon_intr.c,v 1.19 2020/07/20 13:30:41 jmcneill Exp $ */ +/* $NetBSD: octeon_intr.c,v 1.20 2020/07/20 14:05:51 jmcneill Exp $ */ /* * Copyright 2001, 2002 Wasabi Systems, Inc. * All rights reserved. @@ -44,7 +44,7 @@ #define __INTR_PRIVATE #include -__KERNEL_RCSID(0, "$NetBSD: octeon_intr.c,v 1.19 2020/07/20 13:30:41 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: octeon_intr.c,v 1.20 2020/07/20 14:05:51 jmcneill Exp $"); #include #include @@ -158,42 +158,19 @@ struct octeon_intrhand { static int octeon_send_ipi(struct cpu_info *, int); static int octeon_ipi_intr(void *); -struct octeon_intrhand ipi_intrhands[2] = { +struct octeon_intrhand ipi_intrhands[1] = { [0] = { .ih_func = octeon_ipi_intr, .ih_arg = (void *)(uintptr_t)__BITS(15,0), .ih_irq = CIU_INT_MBOX_15_0, - .ih_ipl = IPL_SCHED, - }, - [1] = { - .ih_func = octeon_ipi_intr, - .ih_arg = (void *)(uintptr_t)__BITS(31,16), - .ih_irq = CIU_INT_MBOX_31_16, .ih_ipl = IPL_HIGH, }, }; - -#define OCTEON_IPI_SCHED(n) __BIT((n) + 0) -#define OCTEON_IPI_HIGH(n) __BIT((n) + 16) - -static uint32_t octeon_ipi_mbox_mask[NIPIS] = { - [IPI_NOP] = OCTEON_IPI_SCHED(IPI_NOP), - [IPI_AST] = OCTEON_IPI_SCHED(IPI_AST), - [IPI_SHOOTDOWN] = OCTEON_IPI_SCHED(IPI_SHOOTDOWN), - [IPI_SYNCICACHE] = OCTEON_IPI_SCHED(IPI_SYNCICACHE), - [IPI_KPREEMPT] = OCTEON_IPI_SCHED(IPI_KPREEMPT), - [IPI_SUSPEND] = OCTEON_IPI_HIGH(IPI_SUSPEND), - [IPI_HALT] = OCTEON_IPI_HIGH(IPI_HALT), - [IPI_XCALL] = OCTEON_IPI_HIGH(IPI_XCALL), - [IPI_GENERIC] = OCTEON_IPI_HIGH(IPI_GENERIC), - [IPI_WDOG] = OCTEON_IPI_HIGH(IPI_WDOG), -}; #endif struct octeon_intrhand *octciu_intrs[NIRQS] = { #ifdef MULTIPROCESSOR [CIU_INT_MBOX_15_0] = _intrhands[0], - [CIU_INT_MBOX_31_16] = _intrhands[1], #endif }; @@ -270,8 +247,7 @@ octeon_intr_init(struct cpu_info *ci) #ifdef MULTIPROCESSOR // Enable the IPIs - cpu->cpu_ip3_enable[0] |= __BIT(CIU_INT_MBOX_15_0); - cpu->cpu_ip4_enable[0] |= __BIT(CIU_INT_MBOX_31_16); + cpu->cpu_ip4_enable[0] |= __BIT(CIU_INT_MBOX_15_0); #endif if (ci->ci_dev) { @@ -516,21 +492,16 @@ octeon_ipi_intr(void *arg) { struct cpu_info * const ci = curcpu(); struct cpu_softc * const cpu = ci->ci_softc; - uint32_t mbox_mask = (uintptr_t) arg; - uint32_t ipi_mask; + uint32_t ipi_mask = (uintptr_t) arg; - KASSERTMSG((mbox_mask & __BITS(31,16)) == 0 || ci->ci_cpl >= IPL_SCHED, - "mbox_mask %#"PRIx32" cpl %d", mbox_mask, ci->ci_cpl); + KASSERTMSG(ci->ci_cpl == IPL_HIGH, + "ipi_mask %#"PRIx32" cpl %d", ipi_mask, ci->ci_cpl); - mbox_mask &= mips3_ld(cpu->cpu_mbox_set); - if (mbox_mask == 0) + ipi_mask &= mips3_ld(cpu->cpu_mbox_set); + if (ipi_mask == 0) return 0; - mips3_sd(cpu->cpu_mbox_clr, mbox_mask); - - ipi_mask = mbox_mask; - if (ci->ci_cpl >= IPL_SCHED) - ipi_mask >>= 16; + mips3_sd(cpu->cpu_mbox_clr, ipi_mask); KASSERT(ipi_mask < __BIT(NIPIS)); @@ -578,12 +549,11 @@ octeon_send_ipi(struct cpu_info *ci, int return -1; struct cpu_softc * const cpu = ci->ci_softc; - const uint32_t mbox_mask = octeon_ipi_mbox_mask[req]; const uint32_t ipi_mask = __BIT(req); atomic_or_64(>ci_request_ipis, ipi_mask); - mips3_sd(cpu->cpu_mbox_set, mbox_mask); + mips3_sd(cpu->cpu_mbox_set, ipi_mask); return 0; }
CVS commit: src/sys/arch/mips/cavium
Module Name:src Committed By: jmcneill Date: Mon Jul 20 14:05:51 UTC 2020 Modified Files: src/sys/arch/mips/cavium: octeon_intr.c Log Message: Simplify IPI handling even more for now and run everything at IPL_HIGH. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/arch/mips/cavium/octeon_intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/mit/xorg/server
Module Name:src Committed By: tsutsui Date: Mon Jul 20 13:59:57 UTC 2020 Modified Files: src/external/mit/xorg/server/xorg-server.old/hw/xnest: Makefile src/external/mit/xorg/server/xorg-server/hw/xnest: Makefile Log Message: Remove extra "-I" for ${X11INCS.DIX} macro. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/mit/xorg/server/xorg-server.old/hw/xnest/Makefile cvs rdiff -u -r1.21 -r1.22 \ src/external/mit/xorg/server/xorg-server/hw/xnest/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/mit/xorg/server/xorg-server.old/hw/xnest/Makefile diff -u src/external/mit/xorg/server/xorg-server.old/hw/xnest/Makefile:1.3 src/external/mit/xorg/server/xorg-server.old/hw/xnest/Makefile:1.4 --- src/external/mit/xorg/server/xorg-server.old/hw/xnest/Makefile:1.3 Sun May 21 15:28:40 2017 +++ src/external/mit/xorg/server/xorg-server.old/hw/xnest/Makefile Mon Jul 20 13:59:57 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2017/05/21 15:28:40 riastradh Exp $ +# $NetBSD: Makefile,v 1.4 2020/07/20 13:59:57 tsutsui Exp $ .include @@ -28,7 +28,7 @@ CPPFLAGS+= -I${X11SRCDIR.xorg-server}/hw -I${DESTDIR}${X11INCDIR}/X11/extensions \ -I${DESTDIR}${X11INCDIR}/pixman-1 \ -I${X11SRCDIR.xorg-server}/../include \ - -I${X11INCS.DIX} + ${X11INCS.DIX} CPPFLAGS+= ${X11FLAGS.OS_DEFINES} \ ${X11FLAGS.EXTENSION} \ Index: src/external/mit/xorg/server/xorg-server/hw/xnest/Makefile diff -u src/external/mit/xorg/server/xorg-server/hw/xnest/Makefile:1.21 src/external/mit/xorg/server/xorg-server/hw/xnest/Makefile:1.22 --- src/external/mit/xorg/server/xorg-server/hw/xnest/Makefile:1.21 Mon Dec 31 11:14:06 2018 +++ src/external/mit/xorg/server/xorg-server/hw/xnest/Makefile Mon Jul 20 13:59:57 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.21 2018/12/31 11:14:06 mrg Exp $ +# $NetBSD: Makefile,v 1.22 2020/07/20 13:59:57 tsutsui Exp $ .include @@ -30,7 +30,7 @@ CPPFLAGS+= -I${X11SRCDIR.xorg-server}/hw -I${DESTDIR}${X11INCDIR}/X11/extensions \ -I${DESTDIR}${X11INCDIR}/pixman-1 \ -I${X11SRCDIR.xorg-server}/../include \ - -I${X11INCS.DIX} + ${X11INCS.DIX} CPPFLAGS+= ${X11FLAGS.OS_DEFINES} \ ${X11FLAGS.EXTENSION} \
CVS commit: src/external/mit/xorg/server
Module Name:src Committed By: tsutsui Date: Mon Jul 20 13:59:57 UTC 2020 Modified Files: src/external/mit/xorg/server/xorg-server.old/hw/xnest: Makefile src/external/mit/xorg/server/xorg-server/hw/xnest: Makefile Log Message: Remove extra "-I" for ${X11INCS.DIX} macro. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/mit/xorg/server/xorg-server.old/hw/xnest/Makefile cvs rdiff -u -r1.21 -r1.22 \ src/external/mit/xorg/server/xorg-server/hw/xnest/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/share/wscons/fonts
Module Name:src Committed By: fcambus Date: Mon Jul 20 13:58:52 UTC 2020 Modified Files: src/share/wscons/fonts: spleen-12x24.fnt.uue spleen-16x32.fnt.uue spleen-32x64.fnt.uue spleen-5x8.fnt.uue spleen-6x12.fnt.uue spleen-8x16.fnt.uue Log Message: Update Spleen wscons fonts to version 1.8.1, bringing the following improvements: - Center tilde vertically for all sizes, as modern fonts do To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/share/wscons/fonts/spleen-12x24.fnt.uue \ src/share/wscons/fonts/spleen-16x32.fnt.uue \ src/share/wscons/fonts/spleen-32x64.fnt.uue \ src/share/wscons/fonts/spleen-6x12.fnt.uue \ src/share/wscons/fonts/spleen-8x16.fnt.uue cvs rdiff -u -r1.2 -r1.3 src/share/wscons/fonts/spleen-5x8.fnt.uue Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/wscons/fonts/spleen-12x24.fnt.uue diff -u src/share/wscons/fonts/spleen-12x24.fnt.uue:1.1 src/share/wscons/fonts/spleen-12x24.fnt.uue:1.2 --- src/share/wscons/fonts/spleen-12x24.fnt.uue:1.1 Sun Jun 28 14:26:18 2020 +++ src/share/wscons/fonts/spleen-12x24.fnt.uue Mon Jul 20 13:58:52 2020 @@ -133,8 +133,8 @@ M`&``P'^``'_@`&``P`& M```!X`,`!@`&``8`!@`&``8`!@`,`#@`.``,``8`!@`&``8` M!@`&``8``P`!X```!@`&``8`!@`&``8`!@`&``8`!@`&``8`!@`& M``8`!@`&``8\``8``P`#``,``P`#``,``P`!@`#@`.`!@`,` -M`P`#``,``P`#``,`!@`\.&!L8,;`PX`` -M +M`P`#``,``P`#``,`!@`\```X8@QL## +M@``` M M M Index: src/share/wscons/fonts/spleen-16x32.fnt.uue diff -u src/share/wscons/fonts/spleen-16x32.fnt.uue:1.1 src/share/wscons/fonts/spleen-16x32.fnt.uue:1.2 --- src/share/wscons/fonts/spleen-16x32.fnt.uue:1.1 Sun Jun 28 14:26:18 2020 +++ src/share/wscons/fonts/spleen-16x32.fnt.uue Mon Jul 20 13:58:52 2020 @@ -178,8 +178,8 @@ M``#\`?P#@`,``P`#``,``P`#``,``P`'`#X`/`` M`P`#``,``X`!_`#\`8`!@`&``8`!@`&``8`!@`&``8`! M@`&``8`!@`&``8`!@`&``8`!@`&``8`!@`&`/P`_@`'` M`,``P`#``,``P`#``,``P`#@`'P`/``\`'P`X`#``,``P`#``,``P`#``,`! -MP#^`/P`.#!\,.YPQ^##P -M +MP#^`/PX,'PP[G#'X +M,/`` M M M Index: src/share/wscons/fonts/spleen-32x64.fnt.uue diff -u src/share/wscons/fonts/spleen-32x64.fnt.uue:1.1 src/share/wscons/fonts/spleen-32x64.fnt.uue:1.2 --- src/share/wscons/fonts/spleen-32x64.fnt.uue:1.1 Sun Jun 28 14:26:18 2020 +++ src/share/wscons/fonts/spleen-32x64.fnt.uue Mon Jul 20 13:58:52 2020 @@ -716,10 +716,10 @@ M`/#P\/#X_'X M#__P```?\```/_```'X```#\^/#P\/#P M\/#P\/#P\/#P\?`` M``/@``__X``/_\``#_^```_^ -M>`#P`?X`\`/_`/`'_X#P#\_!\`^' -MX_`/`__@#P'_P`\`_X`/`#X` M M +M``!X`/`!_@#P`_\`\`?_@/`/S\'P#X?C\`\#_^`/`?_` +M#P#_@`\`/@`` M M M Index: src/share/wscons/fonts/spleen-6x12.fnt.uue diff -u src/share/wscons/fonts/spleen-6x12.fnt.uue:1.1 src/share/wscons/fonts/spleen-6x12.fnt.uue:1.2 --- src/share/wscons/fonts/spleen-6x12.fnt.uue:1.1 Wed Jul 8 11:24:49 2020 +++ src/share/wscons/fonts/spleen-6x12.fnt.uue Mon Jul 20 13:58:52 2020 @@ -32,7 +32,7 @@ M\*BHJ(B(\(B(B(B(``` MB(CP@("`>(B(B(AX"`@(>(B`@("`>(!P"`CP`$!` MX$!`0$`PB(B(B(AXB(B(B%`@B(BH^-B( MB(AP<(B(B(B(B(AX"`CP^`@0($#X`!@@(&!@("`8 -M`"`@("`@("`@`&`0$!@8$!!@`$BP +M`"`@("`@("`@`&`0$!@8$!!@``!(L``` M M M Index: src/share/wscons/fonts/spleen-8x16.fnt.uue diff -u
CVS commit: src/share/wscons/fonts
Module Name:src Committed By: fcambus Date: Mon Jul 20 13:58:52 UTC 2020 Modified Files: src/share/wscons/fonts: spleen-12x24.fnt.uue spleen-16x32.fnt.uue spleen-32x64.fnt.uue spleen-5x8.fnt.uue spleen-6x12.fnt.uue spleen-8x16.fnt.uue Log Message: Update Spleen wscons fonts to version 1.8.1, bringing the following improvements: - Center tilde vertically for all sizes, as modern fonts do To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/share/wscons/fonts/spleen-12x24.fnt.uue \ src/share/wscons/fonts/spleen-16x32.fnt.uue \ src/share/wscons/fonts/spleen-32x64.fnt.uue \ src/share/wscons/fonts/spleen-6x12.fnt.uue \ src/share/wscons/fonts/spleen-8x16.fnt.uue cvs rdiff -u -r1.2 -r1.3 src/share/wscons/fonts/spleen-5x8.fnt.uue Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/share/mk
Module Name:src Committed By: tsutsui Date: Mon Jul 20 13:55:08 UTC 2020 Modified Files: src/share/mk: bsd.x11.mk Log Message: Fix typos in ${X11INCS.DIX} include paths. PR/55500 To generate a diff of this commit: cvs rdiff -u -r1.134 -r1.135 src/share/mk/bsd.x11.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/mk/bsd.x11.mk diff -u src/share/mk/bsd.x11.mk:1.134 src/share/mk/bsd.x11.mk:1.135 --- src/share/mk/bsd.x11.mk:1.134 Sun Feb 23 10:28:16 2020 +++ src/share/mk/bsd.x11.mk Mon Jul 20 13:55:08 2020 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.x11.mk,v 1.134 2020/02/23 10:28:16 mrg Exp $ +# $NetBSD: bsd.x11.mk,v 1.135 2020/07/20 13:55:08 tsutsui Exp $ .include @@ -46,8 +46,8 @@ X11FLAGS.EXTENSION= ${X11FLAGS.BASE_EXTE X11FLAGS.DIX= -DHAVE_DIX_CONFIG_H -D_BSD_SOURCE -DHAS_FCHOWN \ -DHAS_STICKY_DIR_BIT -D_POSIX_THREAD_SAFE_FUNCTIONS=200112L \ -DHAVE_XORG_CONFIG_H -X11INCS.DIX= -I${X11INCSDIR}/freetype2 \ - -I${X11INCSDIR}/pixman-1 \ +X11INCS.DIX= -I${X11INCDIR}/freetype2 \ + -I${X11INCDIR}/pixman-1 \ -I$(X11SRCDIR.xorg-server)/include \ -I$(X11SRCDIR.xorg-server)/Xext \ -I$(X11SRCDIR.xorg-server)/composite \
CVS commit: src/share/mk
Module Name:src Committed By: tsutsui Date: Mon Jul 20 13:55:08 UTC 2020 Modified Files: src/share/mk: bsd.x11.mk Log Message: Fix typos in ${X11INCS.DIX} include paths. PR/55500 To generate a diff of this commit: cvs rdiff -u -r1.134 -r1.135 src/share/mk/bsd.x11.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/wsfont
Module Name:src Committed By: fcambus Date: Mon Jul 20 13:41:16 UTC 2020 Modified Files: src/sys/dev/wsfont: spleen12x24.h spleen16x32.h spleen32x64.h spleen5x8.h spleen6x12.h spleen8x16.h Log Message: Update Spleen kernel fonts to version 1.8.1, bringing the following improvements: - Center tilde vertically for all sizes, as modern fonts do To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/dev/wsfont/spleen12x24.h \ src/sys/dev/wsfont/spleen32x64.h src/sys/dev/wsfont/spleen5x8.h cvs rdiff -u -r1.5 -r1.6 src/sys/dev/wsfont/spleen16x32.h cvs rdiff -u -r1.1 -r1.2 src/sys/dev/wsfont/spleen6x12.h cvs rdiff -u -r1.4 -r1.5 src/sys/dev/wsfont/spleen8x16.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/wsfont
Module Name:src Committed By: fcambus Date: Mon Jul 20 13:41:16 UTC 2020 Modified Files: src/sys/dev/wsfont: spleen12x24.h spleen16x32.h spleen32x64.h spleen5x8.h spleen6x12.h spleen8x16.h Log Message: Update Spleen kernel fonts to version 1.8.1, bringing the following improvements: - Center tilde vertically for all sizes, as modern fonts do To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/dev/wsfont/spleen12x24.h \ src/sys/dev/wsfont/spleen32x64.h src/sys/dev/wsfont/spleen5x8.h cvs rdiff -u -r1.5 -r1.6 src/sys/dev/wsfont/spleen16x32.h cvs rdiff -u -r1.1 -r1.2 src/sys/dev/wsfont/spleen6x12.h cvs rdiff -u -r1.4 -r1.5 src/sys/dev/wsfont/spleen8x16.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/wsfont/spleen12x24.h diff -u src/sys/dev/wsfont/spleen12x24.h:1.6 src/sys/dev/wsfont/spleen12x24.h:1.7 --- src/sys/dev/wsfont/spleen12x24.h:1.6 Mon Jul 6 20:19:14 2020 +++ src/sys/dev/wsfont/spleen12x24.h Mon Jul 20 13:41:16 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: spleen12x24.h,v 1.6 2020/07/06 20:19:14 fcambus Exp $ */ +/* $NetBSD: spleen12x24.h,v 1.7 2020/07/20 13:41:16 fcambus Exp $ */ /* $OpenBSD: spleen12x24.h,v 1.2 2019/03/08 10:53:59 fcambus Exp $ */ /* @@ -2396,10 +2396,6 @@ static u_char spleen12x24_data[] = { 0x00, 0x00, /* */ 0x00, 0x00, /* */ 0x00, 0x00, /* */ - 0x38, 0x60, /* ..*****. */ - 0x6c, 0x60, /* .**.**...**. */ - 0xc6, 0xc0, /* **...**.**.. */ - 0xc3, 0x80, /* *****... */ 0x00, 0x00, /* */ 0x00, 0x00, /* */ 0x00, 0x00, /* */ @@ -2407,6 +2403,10 @@ static u_char spleen12x24_data[] = { 0x00, 0x00, /* */ 0x00, 0x00, /* */ 0x00, 0x00, /* */ + 0x38, 0x60, /* ..*****. */ + 0x6c, 0x60, /* .**.**...**. */ + 0xc6, 0xc0, /* **...**.**.. */ + 0xc3, 0x80, /* *****... */ 0x00, 0x00, /* */ 0x00, 0x00, /* */ 0x00, 0x00, /* */ Index: src/sys/dev/wsfont/spleen32x64.h diff -u src/sys/dev/wsfont/spleen32x64.h:1.6 src/sys/dev/wsfont/spleen32x64.h:1.7 --- src/sys/dev/wsfont/spleen32x64.h:1.6 Mon Jul 6 20:19:14 2020 +++ src/sys/dev/wsfont/spleen32x64.h Mon Jul 20 13:41:16 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: spleen32x64.h,v 1.6 2020/07/06 20:19:14 fcambus Exp $ */ +/* $NetBSD: spleen32x64.h,v 1.7 2020/07/20 13:41:16 fcambus Exp $ */ /* $OpenBSD: spleen32x64.h,v 1.2 2019/03/08 10:53:59 fcambus Exp $ */ /* @@ -6161,16 +6161,6 @@ static u_char spleen32x64_data[] = { 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ - 0x00, 0x78, 0x00, 0xf0, /* .... */ - 0x01, 0xfe, 0x00, 0xf0, /* .... */ - 0x03, 0xff, 0x00, 0xf0, /* ..** */ - 0x07, 0xff, 0x80, 0xf0, /* .... */ - 0x0f, 0xcf, 0xc1, 0xf0, /* **..**.* */ - 0x0f, 0x87, 0xe3, 0xf0, /* ***...** */ - 0x0f, 0x03, 0xff, 0xe0, /* ..*. */ - 0x0f, 0x01, 0xff, 0xc0, /* ...***.. */ - 0x0f, 0x00, 0xff, 0x80, /* *... */ - 0x0f, 0x00, 0x3e, 0x00, /* ..*. */ 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ @@ -6191,6 +6181,16 @@ static u_char spleen32x64_data[] = { 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ + 0x00, 0x78, 0x00, 0xf0, /* .... */ + 0x01, 0xfe, 0x00, 0xf0, /* .... */ + 0x03, 0xff, 0x00, 0xf0, /* ..** */ + 0x07, 0xff, 0x80, 0xf0, /* .... */ + 0x0f, 0xcf, 0xc1, 0xf0, /* **..**.* */ + 0x0f, 0x87, 0xe3, 0xf0, /* ***...** */ + 0x0f, 0x03, 0xff, 0xe0, /* ..*. */ + 0x0f, 0x01, 0xff, 0xc0, /* ...***.. */ + 0x0f, 0x00, 0xff, 0x80, /* *... */ + 0x0f, 0x00, 0x3e, 0x00, /* ..*. */ 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ 0x00, 0x00, 0x00, 0x00, /* */ Index: src/sys/dev/wsfont/spleen5x8.h diff -u
CVS commit: src/sys/arch/mips/cavium
Module Name:src Committed By: jmcneill Date: Mon Jul 20 13:30:41 UTC 2020 Modified Files: src/sys/arch/mips/cavium: octeon_intr.c Log Message: Fix confusion between ipi bitmask and mbox register bit assignments. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/sys/arch/mips/cavium/octeon_intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.