CVS commit: src/sys/dev/usb
Module Name:src Committed By: riastradh Date: Sat Oct 28 21:18:32 UTC 2023 Modified Files: src/sys/dev/usb: ehci.c Log Message: ehci(4): Fix bug causing missed wakeups since ehci.c 1.308. For reasons beyond me now, I used cv_signal on the same cv that is used to wait for the doorbell to be available _and_ to wait for the host controller to acknowledge the doorbell. Which means when the host controller acknowledges the doorbell, we might wake some thread waiting for the doorbell to be available -- and leave the thread waiting for the doorbell acknowledgment hanging indefinitely. PR port-i386/57662 XXX pullup-10 To generate a diff of this commit: cvs rdiff -u -r1.318 -r1.319 src/sys/dev/usb/ehci.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/usb/ehci.c diff -u src/sys/dev/usb/ehci.c:1.318 src/sys/dev/usb/ehci.c:1.319 --- src/sys/dev/usb/ehci.c:1.318 Sat Oct 28 21:18:15 2023 +++ src/sys/dev/usb/ehci.c Sat Oct 28 21:18:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ehci.c,v 1.318 2023/10/28 21:18:15 riastradh Exp $ */ +/* $NetBSD: ehci.c,v 1.319 2023/10/28 21:18:31 riastradh Exp $ */ /* * Copyright (c) 2004-2012,2016,2020 The NetBSD Foundation, Inc. @@ -54,7 +54,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.318 2023/10/28 21:18:15 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.319 2023/10/28 21:18:31 riastradh Exp $"); #include "ohci.h" #include "uhci.h" @@ -826,7 +826,7 @@ ehci_doorbell(void *addr) if (sc->sc_doorbelllwp == NULL) DPRINTF("spurious doorbell interrupt", 0, 0, 0, 0); sc->sc_doorbelllwp = NULL; - cv_signal(>sc_doorbell); + cv_broadcast(>sc_doorbell); mutex_exit(>sc_lock); } @@ -2279,7 +2279,7 @@ ehci_sync_hc(ehci_softc_t *sc) now = getticks(); if (now - starttime >= delta) { sc->sc_doorbelllwp = NULL; - cv_signal(>sc_doorbell); + cv_broadcast(>sc_doorbell); DPRINTF("doorbell timeout", 0, 0, 0, 0); #ifdef DIAGNOSTIC /* XXX DIAGNOSTIC abuse, do this differently */ printf("ehci_sync_hc: timed out\n");
CVS commit: src/sys/dev/usb
Module Name:src Committed By: riastradh Date: Sat Oct 28 21:18:32 UTC 2023 Modified Files: src/sys/dev/usb: ehci.c Log Message: ehci(4): Fix bug causing missed wakeups since ehci.c 1.308. For reasons beyond me now, I used cv_signal on the same cv that is used to wait for the doorbell to be available _and_ to wait for the host controller to acknowledge the doorbell. Which means when the host controller acknowledges the doorbell, we might wake some thread waiting for the doorbell to be available -- and leave the thread waiting for the doorbell acknowledgment hanging indefinitely. PR port-i386/57662 XXX pullup-10 To generate a diff of this commit: cvs rdiff -u -r1.318 -r1.319 src/sys/dev/usb/ehci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/usb
Module Name:src Committed By: riastradh Date: Sat Oct 28 21:18:15 UTC 2023 Modified Files: src/sys/dev/usb: ehci.c Log Message: ehci(4): Fix cv_timedwait loop in ehci_sync_hc. Stop when now - starttime >= delta, i.e., when at least delta ticks have elapsed since the start, not when endtime - now > delta, i.e., more than delta ticks _remain_ to sleep, which is never going to happen (except on arithmetic overflow). As is, what will happen in the case that should time out is that we wake up after delta ticks, and find now = getticks() is exactly endtime, so we retry cv_timedwait with timo=(endtime - now)=0 which means sleep indefinitely with no timeout as if with cv_wait. PR port-i386/57662 XXX pullup-10 To generate a diff of this commit: cvs rdiff -u -r1.317 -r1.318 src/sys/dev/usb/ehci.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/usb/ehci.c diff -u src/sys/dev/usb/ehci.c:1.317 src/sys/dev/usb/ehci.c:1.318 --- src/sys/dev/usb/ehci.c:1.317 Sun Jul 30 12:17:02 2023 +++ src/sys/dev/usb/ehci.c Sat Oct 28 21:18:15 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ehci.c,v 1.317 2023/07/30 12:17:02 skrll Exp $ */ +/* $NetBSD: ehci.c,v 1.318 2023/10/28 21:18:15 riastradh Exp $ */ /* * Copyright (c) 2004-2012,2016,2020 The NetBSD Foundation, Inc. @@ -54,7 +54,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.317 2023/07/30 12:17:02 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.318 2023/10/28 21:18:15 riastradh Exp $"); #include "ohci.h" #include "uhci.h" @@ -2277,7 +2277,7 @@ ehci_sync_hc(ehci_softc_t *sc) */ while (sc->sc_doorbelllwp == curlwp) { now = getticks(); - if (endtime - now > delta) { + if (now - starttime >= delta) { sc->sc_doorbelllwp = NULL; cv_signal(>sc_doorbell); DPRINTF("doorbell timeout", 0, 0, 0, 0);
CVS commit: src/sys/dev/usb
Module Name:src Committed By: riastradh Date: Sat Oct 28 21:18:15 UTC 2023 Modified Files: src/sys/dev/usb: ehci.c Log Message: ehci(4): Fix cv_timedwait loop in ehci_sync_hc. Stop when now - starttime >= delta, i.e., when at least delta ticks have elapsed since the start, not when endtime - now > delta, i.e., more than delta ticks _remain_ to sleep, which is never going to happen (except on arithmetic overflow). As is, what will happen in the case that should time out is that we wake up after delta ticks, and find now = getticks() is exactly endtime, so we retry cv_timedwait with timo=(endtime - now)=0 which means sleep indefinitely with no timeout as if with cv_wait. PR port-i386/57662 XXX pullup-10 To generate a diff of this commit: cvs rdiff -u -r1.317 -r1.318 src/sys/dev/usb/ehci.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/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 21:06:05 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Remove trailing spaces and tab. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/newsmips/dev/fb.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/newsmips/dev/fb.c diff -u src/sys/arch/newsmips/dev/fb.c:1.32 src/sys/arch/newsmips/dev/fb.c:1.33 --- src/sys/arch/newsmips/dev/fb.c:1.32 Sat Oct 28 20:05:45 2023 +++ src/sys/arch/newsmips/dev/fb.c Sat Oct 28 21:06:05 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: fb.c,v 1.32 2023/10/28 20:05:45 tsutsui Exp $ */ +/* $NetBSD: fb.c,v 1.33 2023/10/28 21:06:05 tsutsui Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.32 2023/10/28 20:05:45 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.33 2023/10/28 21:06:05 tsutsui Exp $"); #include #include @@ -220,7 +220,7 @@ fb_common_init(struct fb_devconfig *dc) ri->ri_bits = dc->dc_fbbase + xoff + ri->ri_stride * yoff; fb_stdscreen.nrows = ri->ri_rows; - fb_stdscreen.ncols = ri->ri_cols; + fb_stdscreen.ncols = ri->ri_cols; fb_stdscreen.textops = >ri_ops; fb_stdscreen.capabilities = ri->ri_caps; @@ -472,7 +472,7 @@ initfont(struct rasops_info *ri) x = ((c & 0x1f) | ((c & 0xe0) << 2)) << 7; memcpy(fontarea16 + c, (uint8_t *)0xb8e0 + x + 96, 32); memcpy(fontarea24 + c, (uint8_t *)0xb8e0 + x, 96); - } + } newsrom8x16.name = "rom8x16"; newsrom8x16.firstchar = 32;
CVS commit: src/sys/arch/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 21:06:05 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Remove trailing spaces and tab. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/newsmips/dev/fb.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/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 20:05:45 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Use C99 designated struct initializers. To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/sys/arch/newsmips/dev/fb.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/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 20:05:45 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Use C99 designated struct initializers. To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/sys/arch/newsmips/dev/fb.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/newsmips/dev/fb.c diff -u src/sys/arch/newsmips/dev/fb.c:1.31 src/sys/arch/newsmips/dev/fb.c:1.32 --- src/sys/arch/newsmips/dev/fb.c:1.31 Sat Oct 28 20:00:04 2023 +++ src/sys/arch/newsmips/dev/fb.c Sat Oct 28 20:05:45 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: fb.c,v 1.31 2023/10/28 20:00:04 tsutsui Exp $ */ +/* $NetBSD: fb.c,v 1.32 2023/10/28 20:05:45 tsutsui Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.31 2023/10/28 20:00:04 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.32 2023/10/28 20:05:45 tsutsui Exp $"); #include #include @@ -80,20 +80,22 @@ CFATTACH_DECL_NEW(fb, sizeof(struct fb_s static struct fb_devconfig fb_console_dc; static struct wsdisplay_accessops fb_accessops = { - fb_ioctl, - fb_mmap, - fb_alloc_screen, - fb_free_screen, - fb_show_screen, - NULL /* load_font */ + .ioctl= fb_ioctl, + .mmap = fb_mmap, + .alloc_screen = fb_alloc_screen, + .free_screen = fb_free_screen, + .show_screen = fb_show_screen, + .load_font= NULL }; static struct wsscreen_descr fb_stdscreen = { - "std", - 0, 0, - 0, - 0, 0, - WSSCREEN_REVERSE + .name = "std", + .ncols = 0, + .nrows = 0, + .textops = NULL, + .fontwidth = 0, + .fontheight = 0, + .capabilities = WSSCREEN_REVERSE }; static const struct wsscreen_descr *fb_scrlist[] = { @@ -101,7 +103,8 @@ static const struct wsscreen_descr *fb_s }; static struct wsscreen_list fb_screenlist = { - __arraycount(fb_scrlist), fb_scrlist + .nscreens = __arraycount(fb_scrlist), + .screens = fb_scrlist }; #define NWB253_VRAM ((uint8_t *) 0x8800)
CVS commit: src/sys/arch/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 20:00:04 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Use proper C99 exact-width integer types. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/arch/newsmips/dev/fb.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/newsmips/dev/fb.c diff -u src/sys/arch/newsmips/dev/fb.c:1.30 src/sys/arch/newsmips/dev/fb.c:1.31 --- src/sys/arch/newsmips/dev/fb.c:1.30 Sat Oct 28 19:55:18 2023 +++ src/sys/arch/newsmips/dev/fb.c Sat Oct 28 20:00:04 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: fb.c,v 1.30 2023/10/28 19:55:18 tsutsui Exp $ */ +/* $NetBSD: fb.c,v 1.31 2023/10/28 20:00:04 tsutsui Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.30 2023/10/28 19:55:18 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.31 2023/10/28 20:00:04 tsutsui Exp $"); #include #include @@ -46,7 +46,7 @@ __KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.30 #include struct fb_devconfig { - u_char *dc_fbbase; /* VRAM base address */ + uint8_t *dc_fbbase; /* VRAM base address */ struct rasops_info dc_ri; }; @@ -134,7 +134,7 @@ fb_attach(device_t parent, device_t self struct fb_devconfig *dc; struct rasops_info *ri; int console; - volatile u_short *ctlreg = NWB253_CTLREG; + volatile uint16_t *ctlreg = NWB253_CTLREG; int id; sc->sc_dev = self; @@ -261,7 +261,7 @@ fb_ioctl(void *v, void *vs, u_long cmd, case WSDISPLAYIO_SVIDEO: if (*(int *)data == WSDISPLAYIO_VIDEO_OFF) { - volatile u_short *ctlreg = NWB253_CTLREG; + volatile uint16_t *ctlreg = NWB253_CTLREG; *ctlreg = 0; /* stop crtc */ } else fb253_init(); @@ -457,8 +457,8 @@ fb253_init(void) #if 0 static struct wsdisplay_font newsrom8x16; static struct wsdisplay_font newsrom12x24; -static char fontarea16[96][32]; -static char fontarea24[96][96]; +static uint8_t fontarea16[96][32]; +static uint8_t fontarea24[96][96]; void initfont(struct rasops_info *ri) @@ -467,8 +467,8 @@ initfont(struct rasops_info *ri) for (c = 0; c < 96; c++) { x = ((c & 0x1f) | ((c & 0xe0) << 2)) << 7; - memcpy(fontarea16 + c, (char *)0xb8e0 + x + 96, 32); - memcpy(fontarea24 + c, (char *)0xb8e0 + x, 96); + memcpy(fontarea16 + c, (uint8_t *)0xb8e0 + x + 96, 32); + memcpy(fontarea24 + c, (uint8_t *)0xb8e0 + x, 96); } newsrom8x16.name = "rom8x16";
CVS commit: src/sys/arch/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 20:00:04 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Use proper C99 exact-width integer types. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/arch/newsmips/dev/fb.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/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 19:55:18 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Make local functions and variables static. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/arch/newsmips/dev/fb.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/newsmips/dev/fb.c diff -u src/sys/arch/newsmips/dev/fb.c:1.29 src/sys/arch/newsmips/dev/fb.c:1.30 --- src/sys/arch/newsmips/dev/fb.c:1.29 Sat Aug 7 16:19:01 2021 +++ src/sys/arch/newsmips/dev/fb.c Sat Oct 28 19:55:18 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: fb.c,v 1.29 2021/08/07 16:19:01 thorpej Exp $ */ +/* $NetBSD: fb.c,v 1.30 2023/10/28 19:55:18 tsutsui Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.29 2021/08/07 16:19:01 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fb.c,v 1.30 2023/10/28 19:55:18 tsutsui Exp $"); #include #include @@ -56,18 +56,19 @@ struct fb_softc { int sc_nscreens; }; -int fb_match(device_t, cfdata_t, void *); -void fb_attach(device_t, device_t, void *); +static int fb_match(device_t, cfdata_t, void *); +static void fb_attach(device_t, device_t, void *); -int fb_common_init(struct fb_devconfig *); -int fb_is_console(void); +static int fb_common_init(struct fb_devconfig *); +static int fb_is_console(void); -int fb_ioctl(void *, void *, u_long, void *, int, struct lwp *); -paddr_t fb_mmap(void *, void *, off_t, int); -int fb_alloc_screen(void *, const struct wsscreen_descr *, void **, int *, -int *, long *); -void fb_free_screen(void *, void *); -int fb_show_screen(void *, void *, int, void (*)(void *, int, int), void *); +static int fb_ioctl(void *, void *, u_long, void *, int, struct lwp *); +static paddr_t fb_mmap(void *, void *, off_t, int); +static int fb_alloc_screen(void *, const struct wsscreen_descr *, void **, +int *, int *, long *); +static void fb_free_screen(void *, void *); +static int fb_show_screen(void *, void *, int, void (*)(void *, int, int), +void *); void fb_cnattach(void); @@ -76,9 +77,9 @@ static void fb253_init(void); CFATTACH_DECL_NEW(fb, sizeof(struct fb_softc), fb_match, fb_attach, NULL, NULL); -struct fb_devconfig fb_console_dc; +static struct fb_devconfig fb_console_dc; -struct wsdisplay_accessops fb_accessops = { +static struct wsdisplay_accessops fb_accessops = { fb_ioctl, fb_mmap, fb_alloc_screen, @@ -87,7 +88,7 @@ struct wsdisplay_accessops fb_accessops NULL /* load_font */ }; -struct wsscreen_descr fb_stdscreen = { +static struct wsscreen_descr fb_stdscreen = { "std", 0, 0, 0, @@ -95,11 +96,11 @@ struct wsscreen_descr fb_stdscreen = { WSSCREEN_REVERSE }; -const struct wsscreen_descr *fb_scrlist[] = { +static const struct wsscreen_descr *fb_scrlist[] = { _stdscreen }; -struct wsscreen_list fb_screenlist = { +static struct wsscreen_list fb_screenlist = { __arraycount(fb_scrlist), fb_scrlist }; @@ -109,7 +110,7 @@ struct wsscreen_list fb_screenlist = { static const char *devname[8] = { "NWB-512", "NWB-518", "NWE-501" }; /* XXX ? */ -int +static int fb_match(device_t parent, cfdata_t cf, void *aux) { struct hb_attach_args *ha = aux; @@ -125,7 +126,7 @@ fb_match(device_t parent, cfdata_t cf, v return 1; } -void +static void fb_attach(device_t parent, device_t self, void *aux) { struct fb_softc *sc = device_private(self); @@ -171,7 +172,7 @@ fb_attach(device_t parent, device_t self config_found(self, , wsemuldisplaydevprint, CFARGS_NONE); } -int +static int fb_common_init(struct fb_devconfig *dc) { struct rasops_info *ri = >dc_ri; @@ -223,7 +224,7 @@ fb_common_init(struct fb_devconfig *dc) return 0; } -int +static int fb_is_console(void) { volatile u_int *dipsw = (void *)DIP_SWITCH; @@ -234,7 +235,7 @@ fb_is_console(void) return 0; } -int +static int fb_ioctl(void *v, void *vs, u_long cmd, void *data, int flag, struct lwp *l) { struct fb_softc *sc = v; @@ -273,7 +274,7 @@ fb_ioctl(void *v, void *vs, u_long cmd, return EPASSTHROUGH; } -paddr_t +static paddr_t fb_mmap(void *v, void *vs, off_t offset, int prot) { struct fb_softc *sc = v; @@ -285,7 +286,7 @@ fb_mmap(void *v, void *vs, off_t offset, return mips_btop((int)dc->dc_fbbase + offset); } -int +static int fb_alloc_screen(void *v, const struct wsscreen_descr *scrdesc, void **cookiep, int *ccolp, int *crowp, long *attrp) { @@ -305,7 +306,7 @@ fb_alloc_screen(void *v, const struct ws return 0; } -void +static void fb_free_screen(void *v, void *cookie) { struct fb_softc *sc = v; @@ -316,7 +317,7 @@ fb_free_screen(void *v, void *cookie) sc->sc_nscreens--; } -int +static int fb_show_screen(void *v, void *cookie, int waitok, void (*cb)(void *, int, int), void *cbarg) {
CVS commit: src/sys/arch/newsmips/dev
Module Name:src Committed By: tsutsui Date: Sat Oct 28 19:55:18 UTC 2023 Modified Files: src/sys/arch/newsmips/dev: fb.c Log Message: Make local functions and variables static. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/arch/newsmips/dev/fb.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/newsmips/conf
Module Name:src Committed By: tsutsui Date: Sat Oct 28 19:46:49 UTC 2023 Modified Files: src/sys/arch/newsmips/conf: DEJIKO GENERIC INSTALL WAPIKO Log Message: Specify -fno-unwind-tables to shrink kernel binaries. To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/sys/arch/newsmips/conf/DEJIKO cvs rdiff -u -r1.144 -r1.145 src/sys/arch/newsmips/conf/GENERIC cvs rdiff -u -r1.47 -r1.48 src/sys/arch/newsmips/conf/INSTALL cvs rdiff -u -r1.50 -r1.51 src/sys/arch/newsmips/conf/WAPIKO 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/newsmips/conf/DEJIKO diff -u src/sys/arch/newsmips/conf/DEJIKO:1.36 src/sys/arch/newsmips/conf/DEJIKO:1.37 --- src/sys/arch/newsmips/conf/DEJIKO:1.36 Sat Oct 28 19:34:44 2023 +++ src/sys/arch/newsmips/conf/DEJIKO Sat Oct 28 19:46:49 2023 @@ -1,4 +1,4 @@ -# $NetBSD: DEJIKO,v 1.36 2023/10/28 19:34:44 tsutsui Exp $ +# $NetBSD: DEJIKO,v 1.37 2023/10/28 19:46:49 tsutsui Exp $ # # Dejiko's sekai-seifuku NEWS5000 nyo. @@ -6,6 +6,8 @@ include "arch/newsmips/conf/std.newsmip #options INCLUDE_CONFIG_FILE # embed config file in kernel binary +makeoptions COPTS="-O2 -fno-unwind-tables" + maxusers 16 options news5000 Index: src/sys/arch/newsmips/conf/GENERIC diff -u src/sys/arch/newsmips/conf/GENERIC:1.144 src/sys/arch/newsmips/conf/GENERIC:1.145 --- src/sys/arch/newsmips/conf/GENERIC:1.144 Sat Oct 28 19:34:44 2023 +++ src/sys/arch/newsmips/conf/GENERIC Sat Oct 28 19:46:49 2023 @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC,v 1.144 2023/10/28 19:34:44 tsutsui Exp $ +# $NetBSD: GENERIC,v 1.145 2023/10/28 19:46:49 tsutsui Exp $ # # GENERIC machine description file # @@ -22,7 +22,9 @@ include "arch/newsmips/conf/std.newsmip options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident "GENERIC-$Revision: 1.144 $" +#ident "GENERIC-$Revision: 1.145 $" + +makeoptions COPTS="-O2 -fno-unwind-tables" maxusers 16 Index: src/sys/arch/newsmips/conf/INSTALL diff -u src/sys/arch/newsmips/conf/INSTALL:1.47 src/sys/arch/newsmips/conf/INSTALL:1.48 --- src/sys/arch/newsmips/conf/INSTALL:1.47 Thu Feb 7 04:33:58 2019 +++ src/sys/arch/newsmips/conf/INSTALL Sat Oct 28 19:46:49 2023 @@ -1,4 +1,4 @@ -# $NetBSD: INSTALL,v 1.47 2019/02/07 04:33:58 mrg Exp $ +# $NetBSD: INSTALL,v 1.48 2023/10/28 19:46:49 tsutsui Exp $ # # INSTALL kernel for RISC-NEWS @@ -6,7 +6,7 @@ include "arch/newsmips/conf/std.newsmip #options INCLUDE_CONFIG_FILE # embed config file in kernel binary -makeoptions COPTS="-Os -mmemcpy" # Optimise for space. Implies -O2 +makeoptions COPTS="-Os -fno-unwind-tables -mmemcpy" # Optimise for space. Implies -O2 maxusers 8 Index: src/sys/arch/newsmips/conf/WAPIKO diff -u src/sys/arch/newsmips/conf/WAPIKO:1.50 src/sys/arch/newsmips/conf/WAPIKO:1.51 --- src/sys/arch/newsmips/conf/WAPIKO:1.50 Sat Oct 28 19:34:44 2023 +++ src/sys/arch/newsmips/conf/WAPIKO Sat Oct 28 19:46:49 2023 @@ -1,15 +1,15 @@ # # NEWS3400 config file # -# $NetBSD: WAPIKO,v 1.50 2023/10/28 19:34:44 tsutsui Exp $ +# $NetBSD: WAPIKO,v 1.51 2023/10/28 19:46:49 tsutsui Exp $ # include "arch/newsmips/conf/std.newsmips" #options INCLUDE_CONFIG_FILE # embed config file in kernel binary -maxusers 16 +makeoptions COPTS="-O2 -fno-unwind-tables" -makeoptions COPTS="-O2 -pipe" +maxusers 16 options news3400 options MIPS1 # R2000/R3000 support
CVS commit: src/sys/arch/newsmips/conf
Module Name:src Committed By: tsutsui Date: Sat Oct 28 19:46:49 UTC 2023 Modified Files: src/sys/arch/newsmips/conf: DEJIKO GENERIC INSTALL WAPIKO Log Message: Specify -fno-unwind-tables to shrink kernel binaries. To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/sys/arch/newsmips/conf/DEJIKO cvs rdiff -u -r1.144 -r1.145 src/sys/arch/newsmips/conf/GENERIC cvs rdiff -u -r1.47 -r1.48 src/sys/arch/newsmips/conf/INSTALL cvs rdiff -u -r1.50 -r1.51 src/sys/arch/newsmips/conf/WAPIKO Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/newsmips/conf
Module Name:src Committed By: tsutsui Date: Sat Oct 28 19:34:44 UTC 2023 Modified Files: src/sys/arch/newsmips/conf: DEJIKO GENERIC WAPIKO Log Message: Use FONT_SONY12x24 for Sony fans, rather than Gallant fonts used on Sun. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/arch/newsmips/conf/DEJIKO cvs rdiff -u -r1.143 -r1.144 src/sys/arch/newsmips/conf/GENERIC cvs rdiff -u -r1.49 -r1.50 src/sys/arch/newsmips/conf/WAPIKO 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/newsmips/conf/DEJIKO diff -u src/sys/arch/newsmips/conf/DEJIKO:1.35 src/sys/arch/newsmips/conf/DEJIKO:1.36 --- src/sys/arch/newsmips/conf/DEJIKO:1.35 Wed Aug 1 20:04:13 2018 +++ src/sys/arch/newsmips/conf/DEJIKO Sat Oct 28 19:34:44 2023 @@ -1,4 +1,4 @@ -# $NetBSD: DEJIKO,v 1.35 2018/08/01 20:04:13 maxv Exp $ +# $NetBSD: DEJIKO,v 1.36 2023/10/28 19:34:44 tsutsui Exp $ # # Dejiko's sekai-seifuku NEWS5000 nyo. @@ -45,7 +45,8 @@ include "conf/compat_netbsd14.config" # wscons options options WSEMUL_VT100 # VT100 / VT220 emulation options WSDISPLAY_COMPAT_USL # wsconscfg VT handling -options FONT_GALLANT12x22 +#options FONT_GALLANT12x22 +options FONT_SONY12x24 config netbsd root on ? type ? Index: src/sys/arch/newsmips/conf/GENERIC diff -u src/sys/arch/newsmips/conf/GENERIC:1.143 src/sys/arch/newsmips/conf/GENERIC:1.144 --- src/sys/arch/newsmips/conf/GENERIC:1.143 Sun Feb 12 14:50:41 2023 +++ src/sys/arch/newsmips/conf/GENERIC Sat Oct 28 19:34:44 2023 @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC,v 1.143 2023/02/12 14:50:41 abs Exp $ +# $NetBSD: GENERIC,v 1.144 2023/10/28 19:34:44 tsutsui Exp $ # # GENERIC machine description file # @@ -22,7 +22,7 @@ include "arch/newsmips/conf/std.newsmip options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident "GENERIC-$Revision: 1.143 $" +#ident "GENERIC-$Revision: 1.144 $" maxusers 16 @@ -126,7 +126,8 @@ options NFS_BOOT_DHCP # wscons options options WSEMUL_VT100 # VT100 / VT220 emulation options WSDISPLAY_COMPAT_USL # wsconscfg VT handling -options FONT_GALLANT12x22 +#options FONT_GALLANT12x22 +options FONT_SONY12x24 config netbsd root on ? type ? Index: src/sys/arch/newsmips/conf/WAPIKO diff -u src/sys/arch/newsmips/conf/WAPIKO:1.49 src/sys/arch/newsmips/conf/WAPIKO:1.50 --- src/sys/arch/newsmips/conf/WAPIKO:1.49 Wed Aug 1 20:04:13 2018 +++ src/sys/arch/newsmips/conf/WAPIKO Sat Oct 28 19:34:44 2023 @@ -1,7 +1,7 @@ # # NEWS3400 config file # -# $NetBSD: WAPIKO,v 1.49 2018/08/01 20:04:13 maxv Exp $ +# $NetBSD: WAPIKO,v 1.50 2023/10/28 19:34:44 tsutsui Exp $ # include "arch/newsmips/conf/std.newsmips" @@ -84,7 +84,8 @@ sd* at scsibus? target ? lun ? # SCSI di options WSEMUL_VT100 # VT100 / VT220 emulation options WSDISPLAY_COMPAT_USL # wsconscfg VT handling -options FONT_GALLANT12x22 +#options FONT_GALLANT12x22 +options FONT_SONY12x24 wsdisplay0 at fb? console ? wskbd0 at kb? console ?
CVS commit: src/sys/arch/newsmips/conf
Module Name:src Committed By: tsutsui Date: Sat Oct 28 19:34:44 UTC 2023 Modified Files: src/sys/arch/newsmips/conf: DEJIKO GENERIC WAPIKO Log Message: Use FONT_SONY12x24 for Sony fans, rather than Gallant fonts used on Sun. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/arch/newsmips/conf/DEJIKO cvs rdiff -u -r1.143 -r1.144 src/sys/arch/newsmips/conf/GENERIC cvs rdiff -u -r1.49 -r1.50 src/sys/arch/newsmips/conf/WAPIKO Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: xsrc/external/mit/xorg-server.old/dist
Module Name:xsrc Committed By: mrg Date: Sat Oct 28 18:44:38 UTC 2023 Modified Files: xsrc/external/mit/xorg-server.old/dist/Xi: xiproperty.c xsrc/external/mit/xorg-server.old/dist/dix: enterleave.h xsrc/external/mit/xorg-server.old/dist/include: eventstr.h xsrc/external/mit/xorg-server.old/dist/mi: mipointer.c xsrc/external/mit/xorg-server.old/dist/os: auth.c xsrc/external/mit/xorg-server.old/dist/randr: rrproperty.c Log Message: merge security fixes from xorg-server 21.1.9 into xorg-server 10. Fixes CVE-2023-5367 and CVE-2023-5380. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/Xi/xiproperty.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/dix/enterleave.h cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/include/eventstr.h cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/mi/mipointer.c cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xorg-server.old/dist/os/auth.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/randr/rrproperty.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/Xi/xiproperty.c diff -u xsrc/external/mit/xorg-server.old/dist/Xi/xiproperty.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/Xi/xiproperty.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/Xi/xiproperty.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/Xi/xiproperty.c Sat Oct 28 18:44:37 2023 @@ -753,7 +753,7 @@ XIChangeDeviceProperty (DeviceIntPtr dev XIDestroyDeviceProperty (prop); return BadAlloc; } -new_value.size = len; +new_value.size = total_len; new_value.type = type; new_value.format = format; @@ -770,7 +770,7 @@ XIChangeDeviceProperty (DeviceIntPtr dev case PropModePrepend: new_data = new_value.data; old_data = (pointer) (((char *) new_value.data) + - (prop_value->size * size_in_bytes)); + (len * size_in_bytes)); break; } if (new_data) Index: xsrc/external/mit/xorg-server.old/dist/dix/enterleave.h diff -u xsrc/external/mit/xorg-server.old/dist/dix/enterleave.h:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/dix/enterleave.h:1.2 --- xsrc/external/mit/xorg-server.old/dist/dix/enterleave.h:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/dix/enterleave.h Sat Oct 28 18:44:37 2023 @@ -76,8 +76,6 @@ extern void EnterWindow(DeviceIntPtr dev WindowPtr win, int mode); -extern void LeaveWindow(DeviceIntPtr dev); - extern void CoreFocusEvent(DeviceIntPtr kbd, int type, int mode, Index: xsrc/external/mit/xorg-server.old/dist/include/eventstr.h diff -u xsrc/external/mit/xorg-server.old/dist/include/eventstr.h:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/include/eventstr.h:1.2 --- xsrc/external/mit/xorg-server.old/dist/include/eventstr.h:1.1.1.1 Thu Jun 9 09:08:00 2016 +++ xsrc/external/mit/xorg-server.old/dist/include/eventstr.h Sat Oct 28 18:44:37 2023 @@ -243,4 +243,7 @@ union _InternalEvent { #endif }; +extern void +LeaveWindow(DeviceIntPtr dev); + #endif Index: xsrc/external/mit/xorg-server.old/dist/mi/mipointer.c diff -u xsrc/external/mit/xorg-server.old/dist/mi/mipointer.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/mi/mipointer.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/mi/mipointer.c:1.1.1.1 Thu Jun 9 09:08:00 2016 +++ xsrc/external/mit/xorg-server.old/dist/mi/mipointer.c Sat Oct 28 18:44:38 2023 @@ -41,6 +41,8 @@ in this Software without prior written a # include "inputstr.h" # include "inpututils.h" +# include "eventstr.h" + DevPrivateKeyRec miPointerScreenKeyRec; #define GetScreenPrivate(s) ((miPointerScreenPtr) \ @@ -318,8 +320,21 @@ miPointerWarpCursor (DeviceIntPtr pDev, #ifdef PANORAMIX && noPanoramiXExtension #endif - ) -UpdateSpriteForScreen (pDev, pScreen) ; + ) { +DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER); +/* Hack for CVE-2023-5380: if we're moving + * screens PointerWindows[] keeps referring to the + * old window. If that gets destroyed we have a UAF + * bug later. Only happens when jumping from a window + * to the root window on the other screen. + * Enter/Leave events are incorrect for that case but + * too niche to fix. + */ +LeaveWindow(pDev); +if (master) +LeaveWindow(master); +UpdateSpriteForScreen(pDev, pScreen); +} } /* Index:
CVS commit: xsrc/external/mit/xorg-server.old/dist
Module Name:xsrc Committed By: mrg Date: Sat Oct 28 18:44:38 UTC 2023 Modified Files: xsrc/external/mit/xorg-server.old/dist/Xi: xiproperty.c xsrc/external/mit/xorg-server.old/dist/dix: enterleave.h xsrc/external/mit/xorg-server.old/dist/include: eventstr.h xsrc/external/mit/xorg-server.old/dist/mi: mipointer.c xsrc/external/mit/xorg-server.old/dist/os: auth.c xsrc/external/mit/xorg-server.old/dist/randr: rrproperty.c Log Message: merge security fixes from xorg-server 21.1.9 into xorg-server 10. Fixes CVE-2023-5367 and CVE-2023-5380. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/Xi/xiproperty.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/dix/enterleave.h cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/include/eventstr.h cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/mi/mipointer.c cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xorg-server.old/dist/os/auth.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/randr/rrproperty.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/evbarm/evbarm
Module Name:src Committed By: mrg Date: Sat Oct 28 17:53:06 UTC 2023 Modified Files: src/sys/arch/evbarm/evbarm: autoconf.c Log Message: allow "root=xxx" command line to override platform defaults. PR#57324 shows that on broadcom evbarm systems the default root is no longer chosen, even when specified on the command line. sc.dying and mlelstv pointed out that revision 1.24 made this function skip parsing "root=" if already set, which was not what i expected to happen anywhere here (and it works fine on FDT and UEFI boots.) revert that part of 1.24. XXX: pullup-10. (while this is it's own bug, it points out that bcm283x_platform_device_register() currently will set booted_device to the first ld@sdmmc found, even if that device was not involved with booting. while fixing this would be nice, it wouldn't have helped with this setup -- choosing ld@sdmmc is the right answer in eg PR#57324 at this point, so having it set in this case should be fine, and then overrideable via root=.) To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/evbarm/evbarm/autoconf.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/evbarm/evbarm/autoconf.c diff -u src/sys/arch/evbarm/evbarm/autoconf.c:1.24 src/sys/arch/evbarm/evbarm/autoconf.c:1.25 --- src/sys/arch/evbarm/evbarm/autoconf.c:1.24 Sun Feb 5 22:42:39 2023 +++ src/sys/arch/evbarm/evbarm/autoconf.c Sat Oct 28 17:53:06 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.24 2023/02/05 22:42:39 mrg Exp $ */ +/* $NetBSD: autoconf.c,v 1.25 2023/10/28 17:53:06 mrg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.24 2023/02/05 22:42:39 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.25 2023/10/28 17:53:06 mrg Exp $"); #include "opt_md.h" #include "opt_ddb.h" @@ -108,9 +108,6 @@ set_root_device(void) char *ptr, *end, *buf; size_t len; - if (booted_device) - return; - if (boot_args == NULL) return;
CVS commit: src/sys/arch/evbarm/evbarm
Module Name:src Committed By: mrg Date: Sat Oct 28 17:53:06 UTC 2023 Modified Files: src/sys/arch/evbarm/evbarm: autoconf.c Log Message: allow "root=xxx" command line to override platform defaults. PR#57324 shows that on broadcom evbarm systems the default root is no longer chosen, even when specified on the command line. sc.dying and mlelstv pointed out that revision 1.24 made this function skip parsing "root=" if already set, which was not what i expected to happen anywhere here (and it works fine on FDT and UEFI boots.) revert that part of 1.24. XXX: pullup-10. (while this is it's own bug, it points out that bcm283x_platform_device_register() currently will set booted_device to the first ld@sdmmc found, even if that device was not involved with booting. while fixing this would be nice, it wouldn't have helped with this setup -- choosing ld@sdmmc is the right answer in eg PR#57324 at this point, so having it set in this case should be fine, and then overrideable via root=.) To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/evbarm/evbarm/autoconf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.