CVS commit: src/sys/dev/wscons
Module Name:src Committed By: macallan Date: Wed Jan 4 08:25:03 UTC 2012 Modified Files: src/sys/dev/wscons: wsdisplay_vcons.c wsdisplay_vconsvar.h Log Message: bump character buffers and cache to 32bit per character so flags we store in the upper bits don't get lost now autogenerated line drawing characters work with VCONS_DRAW_INTR and don't get lost when switching screens To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/sys/dev/wscons/wsdisplay_vcons.c cvs rdiff -u -r1.20 -r1.21 src/sys/dev/wscons/wsdisplay_vconsvar.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/wscons/wsdisplay_vcons.c diff -u src/sys/dev/wscons/wsdisplay_vcons.c:1.26 src/sys/dev/wscons/wsdisplay_vcons.c:1.27 --- src/sys/dev/wscons/wsdisplay_vcons.c:1.26 Wed May 25 06:13:29 2011 +++ src/sys/dev/wscons/wsdisplay_vcons.c Wed Jan 4 08:25:03 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: wsdisplay_vcons.c,v 1.26 2011/05/25 06:13:29 macallan Exp $ */ +/* $NetBSD: wsdisplay_vcons.c,v 1.27 2012/01/04 08:25:03 macallan Exp $ */ /*- * Copyright (c) 2005, 2006 Michael Lorenz @@ -27,7 +27,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: wsdisplay_vcons.c,v 1.26 2011/05/25 06:13:29 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: wsdisplay_vcons.c,v 1.27 2012/01/04 08:25:03 macallan Exp $); #include sys/param.h #include sys/systm.h @@ -282,11 +282,11 @@ vcons_init_screen(struct vcons_data *vd, cnt = ri-ri_rows * ri-ri_cols; #endif scr-scr_attrs = (long *)malloc(cnt * (sizeof(long) + - sizeof(uint16_t)), M_DEVBUF, M_WAITOK); + sizeof(uint32_t)), M_DEVBUF, M_WAITOK); if (scr-scr_attrs == NULL) return ENOMEM; - scr-scr_chars = (uint16_t *)scr-scr_attrs[cnt]; + scr-scr_chars = (uint32_t *)scr-scr_attrs[cnt]; ri-ri_ops.allocattr(ri, WS_DEFAULT_FG, WS_DEFAULT_BG, 0, defattr); scr-scr_defattr = *defattr; @@ -310,7 +310,7 @@ vcons_init_screen(struct vcons_data *vd, if (vd-chars != NULL) free(vd-chars, M_DEVBUF); if (vd-attrs != NULL) free(vd-attrs, M_DEVBUF); vd-cells = size; - vd-chars = malloc(size * sizeof(uint16_t), M_DEVBUF, M_WAITOK); + vd-chars = malloc(size * sizeof(uint32_t), M_DEVBUF, M_WAITOK); vd-attrs = malloc(size * sizeof(long), M_DEVBUF, M_WAITOK); vcons_invalidate_cache(vd); } @@ -402,7 +402,7 @@ vcons_do_switch(void *arg) void vcons_redraw_screen(struct vcons_screen *scr) { - uint16_t *charptr = scr-scr_chars; + uint32_t *charptr = scr-scr_chars; long *attrptr = scr-scr_attrs; struct rasops_info *ri = scr-scr_ri; struct vcons_data *vd = scr-scr_vd; @@ -457,7 +457,7 @@ vcons_redraw_screen(struct vcons_screen void vcons_update_screen(struct vcons_screen *scr) { - uint16_t *charptr = scr-scr_chars; + uint32_t *charptr = scr-scr_chars; long *attrptr = scr-scr_attrs; struct rasops_info *ri = scr-scr_ri; struct vcons_data *vd = scr-scr_vd; @@ -513,7 +513,8 @@ vcons_ioctl(void *v, void *vs, u_long cm struct lwp *l) { struct vcons_data *vd = v; - int error; + int error = 0; + switch (cmd) { case WSDISPLAYIO_GETWSCHAR: @@ -526,6 +527,20 @@ vcons_ioctl(void *v, void *vs, u_long cm (struct wsdisplay_char *)data); break; + case WSDISPLAYIO_SET_POLLING: { + int poll = *(int *)data; + + /* first call the driver's ioctl handler */ + if (vd-ioctl != NULL) + error = (*vd-ioctl)(v, vs, cmd, data, flag, l); + if (poll) { + vcons_enable_polling(vd); + vcons_hard_switch(LIST_FIRST(vd-screens)); + } else + vcons_disable_polling(vd); + } + break; + default: if (vd-ioctl != NULL) error = (*vd-ioctl)(v, vs, cmd, data, flag, l); @@ -641,12 +656,12 @@ vcons_copycols_buffer(void *cookie, int memmove(scr-scr_attrs[offset + to], scr-scr_attrs[offset + from], ncols * sizeof(long)); memmove(scr-scr_chars[offset + to], scr-scr_chars[offset + from], - ncols * sizeof(uint16_t)); + ncols * sizeof(uint32_t)); #else memmove(scr-scr_attrs[to], scr-scr_attrs[from], ncols * sizeof(long)); memmove(scr-scr_chars[to], scr-scr_chars[from], - ncols * sizeof(uint16_t)); + ncols * sizeof(uint32_t)); #endif #ifdef VCONS_DRAW_INTR @@ -799,7 +814,7 @@ vcons_copyrows_buffer(void *cookie, int memmove(scr-scr_attrs[to], scr-scr_attrs[from], scr-scr_offset_to_zero * sizeof(long)); memmove(scr-scr_chars[to], scr-scr_chars[from], - scr-scr_offset_to_zero * sizeof(uint16_t)); + scr-scr_offset_to_zero * sizeof(uint32_t)); } from = ri-ri_cols * srcrow + offset; to = ri-ri_cols * dstrow + offset; @@ -813,7 +828,7 @@ vcons_copyrows_buffer(void *cookie, int memmove(scr-scr_attrs[to], scr-scr_attrs[from], len * sizeof(long)); memmove(scr-scr_chars[to], scr-scr_chars[from], - len * sizeof(uint16_t)); + len * sizeof(uint32_t)); #ifdef VCONS_DRAW_INTR atomic_inc_uint(scr-scr_dirty); Index: src/sys/dev/wscons/wsdisplay_vconsvar.h diff -u
CVS commit: src/sys/dev/pci
Module Name:src Committed By: macallan Date: Wed Jan 4 08:38:21 UTC 2012 Modified Files: src/sys/dev/pci: r128fb.c Log Message: generate a better r3g3b2 colour map which actually produces white for 0xff To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/dev/pci/r128fb.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/pci/r128fb.c diff -u src/sys/dev/pci/r128fb.c:1.24 src/sys/dev/pci/r128fb.c:1.25 --- src/sys/dev/pci/r128fb.c:1.24 Wed Jan 4 07:56:35 2012 +++ src/sys/dev/pci/r128fb.c Wed Jan 4 08:38:20 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: r128fb.c,v 1.24 2012/01/04 07:56:35 macallan Exp $ */ +/* $NetBSD: r128fb.c,v 1.25 2012/01/04 08:38:20 macallan Exp $ */ /* * Copyright (c) 2007 Michael Lorenz @@ -31,7 +31,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: r128fb.c,v 1.24 2012/01/04 07:56:35 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: r128fb.c,v 1.25 2012/01/04 08:38:20 macallan Exp $); #include sys/param.h #include sys/systm.h @@ -205,6 +205,7 @@ r128fb_attach(device_t parent, device_t bool is_console; int i, j; uint32_t reg, flags; + uint8_t tmp; sc-sc_pc = pa-pa_pc; sc-sc_pcitag = pa-pa_tag; @@ -278,9 +279,23 @@ r128fb_attach(device_t parent, device_t if (sc-sc_depth == 8) { /* generate an r3g3b2 colour map */ for (i = 0; i 256; i++) { - sc-sc_cmap_red[i] = i 0xe0; - sc-sc_cmap_green[i] = (i 0x1c) 3; - sc-sc_cmap_blue[i] = (i 0x03) 6; + tmp = i 0xe0; + /* + * replicate bits so 0xe0 maps to a red value of 0xff + * in order to make white look actually white + */ + tmp |= (tmp 3) | (tmp 6); + sc-sc_cmap_red[i] = tmp; + + tmp = (i 0x1c) 3; + tmp |= (tmp 3) | (tmp 6); + sc-sc_cmap_green[i] = tmp; + + tmp = (i 0x03) 6; + tmp |= tmp 2; + tmp |= tmp 4; + sc-sc_cmap_blue[i] = tmp; + r128fb_putpalreg(sc, i, sc-sc_cmap_red[i], sc-sc_cmap_green[i], sc-sc_cmap_blue[i]);
CVS commit: src/sys/arch/xen/x86
Module Name:src Committed By: cherry Date: Wed Jan 4 10:30:24 UTC 2012 Modified Files: src/sys/arch/xen/x86: cpu.c Log Message: Use macro PDP_SIZE instead of numeric constant, for unshared PAE L3 entries. Thanks jym@ To generate a diff of this commit: cvs rdiff -u -r1.74 -r1.75 src/sys/arch/xen/x86/cpu.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/xen/x86/cpu.c diff -u src/sys/arch/xen/x86/cpu.c:1.74 src/sys/arch/xen/x86/cpu.c:1.75 --- src/sys/arch/xen/x86/cpu.c:1.74 Fri Dec 30 19:18:35 2011 +++ src/sys/arch/xen/x86/cpu.c Wed Jan 4 10:30:23 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.c,v 1.74 2011/12/30 19:18:35 cherry Exp $ */ +/* $NetBSD: cpu.c,v 1.75 2012/01/04 10:30:23 cherry Exp $ */ /* NetBSD: cpu.c,v 1.18 2004/02/20 17:35:01 yamt Exp */ /*- @@ -66,7 +66,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.74 2011/12/30 19:18:35 cherry Exp $); +__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.75 2012/01/04 10:30:23 cherry Exp $); #include opt_ddb.h #include opt_multiprocessor.h @@ -1276,7 +1276,7 @@ pmap_cpu_init_late(struct cpu_info *ci) /* Initialise L2 entries 0 - 2: Point them to pmap_kernel() */ int i; - for (i = 0; i 3; i++ ) { + for (i = 0 ; i PDP_SIZE - 1; i++) { ci-ci_pae_l3_pdir[i] = xpmap_ptom_masked(pmap_kernel()-pm_pdirpa[i]) | PG_V; }
CVS commit: src/sys/arch/xen/xen
Module Name:src Committed By: cherry Date: Wed Jan 4 10:48:24 UTC 2012 Modified Files: src/sys/arch/xen/xen: if_xennet_xenbus.c Log Message: Tighten up locking in the network driver. This probably needs more attention since xennet_rx_mbuf_free() hooks into the network layer. The locking can also be made finer grained. Performance testing could add some insights. To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 src/sys/arch/xen/xen/if_xennet_xenbus.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/xen/xen/if_xennet_xenbus.c diff -u src/sys/arch/xen/xen/if_xennet_xenbus.c:1.56 src/sys/arch/xen/xen/if_xennet_xenbus.c:1.57 --- src/sys/arch/xen/xen/if_xennet_xenbus.c:1.56 Wed Dec 7 15:47:43 2011 +++ src/sys/arch/xen/xen/if_xennet_xenbus.c Wed Jan 4 10:48:24 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: if_xennet_xenbus.c,v 1.56 2011/12/07 15:47:43 cegger Exp $ */ +/* $NetBSD: if_xennet_xenbus.c,v 1.57 2012/01/04 10:48:24 cherry Exp $ */ /* * Copyright (c) 2006 Manuel Bouyer. @@ -85,7 +85,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: if_xennet_xenbus.c,v 1.56 2011/12/07 15:47:43 cegger Exp $); +__KERNEL_RCSID(0, $NetBSD: if_xennet_xenbus.c,v 1.57 2012/01/04 10:48:24 cherry Exp $); #include opt_xen.h #include opt_nfs_boot.h @@ -790,6 +790,7 @@ xennet_free_rx_buffer(struct xennet_xenb multicall_entry_t mcl[2]; int s = splbio(); + mutex_enter(sc-sc_rx_lock); DPRINTF((%s: xennet_free_rx_buffer\n, device_xname(sc-sc_dev))); /* get back memory from RX ring */ @@ -802,18 +803,18 @@ xennet_free_rx_buffer(struct xennet_xenb */ while ((volatile grant_ref_t)rxreq-rxreq_gntref == GRANT_STACK_REF) + mutex_exit(sc-sc_rx_lock); tsleep(xennet_xenbus_detach, PRIBIO, xnet_free, hz/2); + mutex_enter(sc-sc_rx_lock); if (rxreq-rxreq_gntref != GRANT_INVALID_REF) { /* * this req is still granted. Get back the page or * allocate a new one, and remap it. */ - mutex_enter(sc-sc_rx_lock); SLIST_INSERT_HEAD(sc-sc_rxreq_head, rxreq, rxreq_next); sc-sc_free_rxreql++; - mutex_exit(sc-sc_rx_lock); switch (sc-sc_rx_feature) { case FEATURE_RX_COPY: @@ -868,6 +869,7 @@ xennet_free_rx_buffer(struct xennet_xenb } } + mutex_exit(sc-sc_rx_lock); splx(s); DPRINTF((%s: xennet_free_rx_buffer done\n, device_xname(sc-sc_dev))); } @@ -880,27 +882,31 @@ xennet_rx_mbuf_free(struct mbuf *m, void { struct xennet_rxreq *req = arg; struct xennet_xenbus_softc *sc = req-rxreq_sc; - + mutex_enter(sc-sc_rx_lock); /* puts back the RX request in the list of free RX requests */ SLIST_INSERT_HEAD(sc-sc_rxreq_head, req, rxreq_next); sc-sc_free_rxreql++; - mutex_exit(sc-sc_rx_lock); - /* * ring needs more requests to be pushed in, allocate some * RX buffers to catch-up with backend's consumption */ req-rxreq_gntref = GRANT_INVALID_REF; + if (sc-sc_free_rxreql = SC_NLIVEREQ(sc) __predict_true(sc-sc_backend_status == BEST_CONNECTED)) { + mutex_exit(sc-sc_rx_lock); xennet_alloc_rx_buffer(sc); } - + else { + mutex_exit(sc-sc_rx_lock); + } + if (m) pool_cache_put(mb_cache, m); + } /* @@ -921,6 +927,7 @@ xennet_tx_complete(struct xennet_xenbus_ again: resp_prod = sc-sc_tx_ring.sring-rsp_prod; xen_rmb(); + mutex_enter(sc-sc_tx_lock); for (i = sc-sc_tx_ring.rsp_cons; i != resp_prod; i++) { req = sc-sc_txreqs[RING_GET_RESPONSE(sc-sc_tx_ring, i)-id]; KASSERT(req-txreq_id == @@ -938,12 +945,11 @@ again: else ifp-if_opackets++; xengnt_revoke_access(req-txreq_gntref); - m_freem(req-txreq_m); - mutex_enter(sc-sc_tx_lock); SLIST_INSERT_HEAD(sc-sc_txreq_head, req, txreq_next); - mutex_exit(sc-sc_tx_lock); } + mutex_exit(sc-sc_tx_lock); + sc-sc_tx_ring.rsp_cons = resp_prod; /* set new event and check for race with rsp_cons update */ sc-sc_tx_ring.sring-rsp_event = @@ -995,6 +1001,14 @@ again: resp_prod = sc-sc_rx_ring.sring-rsp_prod; xen_rmb(); /* ensure we see replies up to resp_prod */ + + /* + * The locking in this loop needs to be done carefully, as + * m_free() will take the sc_rx_lock() via + * xennet_rx_mbuf_free() + */ + mutex_enter(sc-sc_rx_lock); + for (i = sc-sc_rx_ring.rsp_cons; i != resp_prod; i++) { netif_rx_response_t *rx = RING_GET_RESPONSE(sc-sc_rx_ring, i); req = sc-sc_rxreqs[rx-id]; @@ -1035,7 +1049,7 @@ again: pa = req-rxreq_pa; va = req-rxreq_va; - + if (sc-sc_rx_feature == FEATURE_RX_FLIP) { /* remap the page */ mmu[0].ptr = (ma PAGE_SHIFT) | MMU_MACHPHYS_UPDATE; @@ -1064,8 +1078,10 @@ again: DPRINTFN(XEDB_EVENT, (xennet_handler bad dest\n)); /* packet not for us */ +mutex_exit(sc-sc_rx_lock); xennet_rx_mbuf_free(NULL, (void *)va, PAGE_SIZE, req); +mutex_enter(sc-sc_rx_lock); continue; } } @@ -1073,7
CVS commit: src/lib/libc/sys
Module Name:src Committed By: wiz Date: Wed Jan 4 10:53:39 UTC 2012 Modified Files: src/lib/libc/sys: stat.2 Log Message: Fix a sentence, following a hint by Abhinav Upadhyay. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 src/lib/libc/sys/stat.2 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/sys/stat.2 diff -u src/lib/libc/sys/stat.2:1.49 src/lib/libc/sys/stat.2:1.50 --- src/lib/libc/sys/stat.2:1.49 Wed Sep 14 11:49:21 2011 +++ src/lib/libc/sys/stat.2 Wed Jan 4 10:53:39 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: stat.2,v 1.49 2011/09/14 11:49:21 apb Exp $ +.\ $NetBSD: stat.2,v 1.50 2012/01/04 10:53:39 wiz Exp $ .\ .\ Copyright (c) 1980, 1991, 1993, 1994 .\ The Regents of the University of California. All rights reserved. @@ -108,7 +108,7 @@ The .Va st_ino and .Va st_dev -fields taken together to uniquely identify the file within the system. +fields taken together uniquely identify the file within the system. Most of the types are defined in .Xr types 3 . .Pp
CVS commit: src/sbin/fdisk
Module Name:src Committed By: wiz Date: Wed Jan 4 10:57:40 UTC 2012 Modified Files: src/sbin/fdisk: fdisk.8 Log Message: Remove trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.74 -r1.75 src/sbin/fdisk/fdisk.8 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sbin/fdisk/fdisk.8 diff -u src/sbin/fdisk/fdisk.8:1.74 src/sbin/fdisk/fdisk.8:1.75 --- src/sbin/fdisk/fdisk.8:1.74 Sat Dec 31 22:18:56 2011 +++ src/sbin/fdisk/fdisk.8 Wed Jan 4 10:57:40 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: fdisk.8,v 1.74 2011/12/31 22:18:56 riz Exp $ +.\ $NetBSD: fdisk.8,v 1.75 2012/01/04 10:57:40 wiz Exp $ .\ .Dd December 1, 2011 .Dt FDISK 8 @@ -60,7 +60,7 @@ and (optionally, depending on the boot c for selecting a partition to be booted. There can be at most 4 partitions defined in sector 0, one of which can be an extended -partition which can be split into any number of sub-partitions (then called +partition which can be split into any number of sub-partitions (then called logical partitions). .Pp The boot code in the MBR is usually invoked by the BIOS or firmware, @@ -602,7 +602,7 @@ Default location of i386 bootcode .It Pa /usr/mdec/mbr_bootsel Default location of i386 bootselect code .It Pa /usr/mdec/mbr_ext -Default location of i386 bootselect for extended partitions (i.e., NetBSD on +Default location of i386 bootselect for extended partitions (i.e., NetBSD on logical partitions) .El .Sh EXAMPLES
CVS commit: src/sys/arch/usermode/usermode
Module Name:src Committed By: reinoud Date: Wed Jan 4 11:53:09 UTC 2012 Modified Files: src/sys/arch/usermode/usermode: pmap.c Log Message: mmap ppl is always 16 so make it an uint8_t To generate a diff of this commit: cvs rdiff -u -r1.92 -r1.93 src/sys/arch/usermode/usermode/pmap.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/usermode/usermode/pmap.c diff -u src/sys/arch/usermode/usermode/pmap.c:1.92 src/sys/arch/usermode/usermode/pmap.c:1.93 --- src/sys/arch/usermode/usermode/pmap.c:1.92 Tue Jan 3 21:28:50 2012 +++ src/sys/arch/usermode/usermode/pmap.c Wed Jan 4 11:53:09 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.92 2012/01/03 21:28:50 reinoud Exp $ */ +/* $NetBSD: pmap.c,v 1.93 2012/01/04 11:53:09 reinoud Exp $ */ /*- * Copyright (c) 2011 Reinoud Zandijk rein...@netbsd.org @@ -27,7 +27,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.92 2012/01/03 21:28:50 reinoud Exp $); +__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.93 2012/01/04 11:53:09 reinoud Exp $); #include opt_memsize.h #include opt_kmempages.h @@ -50,7 +50,7 @@ struct pv_entry { uintptr_t pv_ppn; /* physical page number */ uintptr_t pv_lpn; /* logical page number */ vm_prot_t pv_prot; /* logical protection */ - int pv_mmap_ppl; /* programmed protection */ + uint8_t pv_mmap_ppl; /* programmed protection */ uint8_t pv_vflags; /* per mapping flags */ #define PV_WIRED 0x01 /* wired mapping */ #define PV_UNMANAGED 0x02 /* entered by pmap_kenter_ */
CVS commit: src/sys/arch/usermode/usermode
Module Name:src Committed By: reinoud Date: Wed Jan 4 11:56:58 UTC 2012 Modified Files: src/sys/arch/usermode/usermode: pmap.c Log Message: This uint shouldn't be there To generate a diff of this commit: cvs rdiff -u -r1.93 -r1.94 src/sys/arch/usermode/usermode/pmap.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/usermode/usermode/pmap.c diff -u src/sys/arch/usermode/usermode/pmap.c:1.93 src/sys/arch/usermode/usermode/pmap.c:1.94 --- src/sys/arch/usermode/usermode/pmap.c:1.93 Wed Jan 4 11:53:09 2012 +++ src/sys/arch/usermode/usermode/pmap.c Wed Jan 4 11:56:58 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.93 2012/01/04 11:53:09 reinoud Exp $ */ +/* $NetBSD: pmap.c,v 1.94 2012/01/04 11:56:58 reinoud Exp $ */ /*- * Copyright (c) 2011 Reinoud Zandijk rein...@netbsd.org @@ -27,7 +27,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.93 2012/01/04 11:53:09 reinoud Exp $); +__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.94 2012/01/04 11:56:58 reinoud Exp $); #include opt_memsize.h #include opt_kmempages.h @@ -119,7 +119,7 @@ vaddr_t kmem_user_start, kmem_user_end; vaddr_t kmem_kvm_cur_start, kmem_kvm_cur_end; /* amount of physical memory */ -uint physmem; +int physmem; int num_pv_entries = 0; int num_pmaps = 0;
CVS commit: src/sys/compat
Module Name:src Committed By: apb Date: Wed Jan 4 13:45:55 UTC 2012 Modified Files: src/sys/compat/common: kern_time_50.c src/sys/compat/sys: clockctl.h Log Message: Provide a COMPAT_50 version of the CLOCKCTL_NTP_ADJTIME ioctl. When time_t was changed from 32 to 64 bits, this ioctl's number was changed from _IOWR('C', 0x4, struct clockctl_ntp_adjtime) to _IOWR('C', 0x8, struct clockctl_ntp_adjtime), but the data structure did not change, so all the compat code has to do is change the number and try again. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/sys/compat/common/kern_time_50.c cvs rdiff -u -r1.2 -r1.3 src/sys/compat/sys/clockctl.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/common/kern_time_50.c diff -u src/sys/compat/common/kern_time_50.c:1.20 src/sys/compat/common/kern_time_50.c:1.21 --- src/sys/compat/common/kern_time_50.c:1.20 Fri Nov 18 03:34:13 2011 +++ src/sys/compat/common/kern_time_50.c Wed Jan 4 13:45:55 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_time_50.c,v 1.20 2011/11/18 03:34:13 christos Exp $ */ +/* $NetBSD: kern_time_50.c,v 1.21 2012/01/04 13:45:55 apb Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: kern_time_50.c,v 1.20 2011/11/18 03:34:13 christos Exp $); +__KERNEL_RCSID(0, $NetBSD: kern_time_50.c,v 1.21 2012/01/04 13:45:55 apb Exp $); #ifdef _KERNEL_OPT #include opt_aio.h @@ -53,6 +53,7 @@ __KERNEL_RCSID(0, $NetBSD: kern_time_50 #include sys/kauth.h #include sys/time.h #include sys/timex.h +#include sys/clockctl.h #include sys/aio.h #include sys/poll.h #include sys/syscallargs.h @@ -669,6 +670,11 @@ compat50_clockctlioctl(dev_t dev, u_long error = clock_settime1(l-l_proc, args-clock_id, tp, true); break; } + case CLOCKCTL_ONTP_ADJTIME: + /* The ioctl number changed but the data did not change. */ + error = clockctlioctl(dev, CLOCKCTL_NTP_ADJTIME, + data, flags, l); + break; default: error = EINVAL; } Index: src/sys/compat/sys/clockctl.h diff -u src/sys/compat/sys/clockctl.h:1.2 src/sys/compat/sys/clockctl.h:1.3 --- src/sys/compat/sys/clockctl.h:1.2 Sun Jan 11 02:45:50 2009 +++ src/sys/compat/sys/clockctl.h Wed Jan 4 13:45:55 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: clockctl.h,v 1.2 2009/01/11 02:45:50 christos Exp $ */ +/* $NetBSD: clockctl.h,v 1.3 2012/01/04 13:45:55 apb Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -59,6 +59,13 @@ struct clockctl50_clock_settime { #define CLOCKCTL_OCLOCK_SETTIME _IOW('C', 0x3, struct clockctl50_clock_settime) +struct clockctl50_ntp_adjtime { + struct timex *tp; + register_t retval; +}; + +#define CLOCKCTL_ONTP_ADJTIME _IOWR('C', 0x4, struct clockctl50_ntp_adjtime) + #ifdef _KERNEL struct lwp; int compat50_clockctlioctl(dev_t, u_long, void *, int, struct lwp *);
CVS commit: src/sys/arch/usermode/conf
Module Name:src Committed By: jmcneill Date: Wed Jan 4 14:04:12 UTC 2012 Modified Files: src/sys/arch/usermode/conf: GENERIC.common Log Message: add options NTP pseudo-device clockctl To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/usermode/conf/GENERIC.common 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/usermode/conf/GENERIC.common diff -u src/sys/arch/usermode/conf/GENERIC.common:1.10 src/sys/arch/usermode/conf/GENERIC.common:1.11 --- src/sys/arch/usermode/conf/GENERIC.common:1.10 Mon Jan 2 21:48:14 2012 +++ src/sys/arch/usermode/conf/GENERIC.common Wed Jan 4 14:04:12 2012 @@ -1,9 +1,9 @@ -# $NetBSD: GENERIC.common,v 1.10 2012/01/02 21:48:14 reinoud Exp $ +# $NetBSD: GENERIC.common,v 1.11 2012/01/04 14:04:12 jmcneill Exp $ include arch/usermode/conf/std.usermode options INCLUDE_CONFIG_FILE -#ident GENERIC-$Revision: 1.10 $ +#ident GENERIC-$Revision: 1.11 $ maxusers 32 makeoptions DEBUG=-O1 -g3 @@ -11,6 +11,7 @@ makeoptions DEBUG=-O1 -g3 options SYMTAB_SPACE=35 options RTC_OFFSET=0 +options NTP options KTRACE #options USERCONF @@ -72,6 +73,7 @@ options WSDISPLAY_COMPAT_USL pseudo-device loop pseudo-device pty pseudo-device bpfilter +pseudo-device clockctl pseudo-device drvctl pseudo-device ksyms pseudo-device wsmux
CVS commit: src/sys/arch/usermode/conf
Module Name:src Committed By: reinoud Date: Wed Jan 4 14:09:49 UTC 2012 Modified Files: src/sys/arch/usermode/conf: std.usermode Log Message: Revert HZ to 100 what it was To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/usermode/conf/std.usermode 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/usermode/conf/std.usermode diff -u src/sys/arch/usermode/conf/std.usermode:1.10 src/sys/arch/usermode/conf/std.usermode:1.11 --- src/sys/arch/usermode/conf/std.usermode:1.10 Tue Jan 3 21:28:50 2012 +++ src/sys/arch/usermode/conf/std.usermode Wed Jan 4 14:09:48 2012 @@ -1,8 +1,8 @@ -# $NetBSD: std.usermode,v 1.10 2012/01/03 21:28:50 reinoud Exp $ +# $NetBSD: std.usermode,v 1.11 2012/01/04 14:09:48 reinoud Exp $ include conf/std -options HZ=20 +options HZ=100 options EXEC_ELF32 options EXEC_ELF64 options EXEC_SCRIPT
CVS commit: src/sys/compat/common
Module Name:src Committed By: apb Date: Wed Jan 4 14:31:17 UTC 2012 Modified Files: src/sys/compat/common: kern_time_50.c Log Message: Instead of calling clockctl_ioctl directly, lookup the cdevsw and call its d_ioctl function. This should fix an undefined reference to `clockctlioctl' when you build a kernel that has COMPAT_50 but does not have pseudo-device clockctl. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/compat/common/kern_time_50.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/compat/common/kern_time_50.c diff -u src/sys/compat/common/kern_time_50.c:1.21 src/sys/compat/common/kern_time_50.c:1.22 --- src/sys/compat/common/kern_time_50.c:1.21 Wed Jan 4 13:45:55 2012 +++ src/sys/compat/common/kern_time_50.c Wed Jan 4 14:31:17 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_time_50.c,v 1.21 2012/01/04 13:45:55 apb Exp $ */ +/* $NetBSD: kern_time_50.c,v 1.22 2012/01/04 14:31:17 apb Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: kern_time_50.c,v 1.21 2012/01/04 13:45:55 apb Exp $); +__KERNEL_RCSID(0, $NetBSD: kern_time_50.c,v 1.22 2012/01/04 14:31:17 apb Exp $); #ifdef _KERNEL_OPT #include opt_aio.h @@ -38,6 +38,7 @@ __KERNEL_RCSID(0, $NetBSD: kern_time_50 #endif #include sys/param.h +#include sys/conf.h #include sys/systm.h #include sys/namei.h #include sys/filedesc.h @@ -625,6 +626,10 @@ compat50_clockctlioctl(dev_t dev, u_long struct lwp *l) { int error = 0; + const struct cdevsw *cd = cdevsw_lookup(dev); + + if (cd == NULL || cd-d_ioctl == NULL) + return ENXIO; switch (cmd) { case CLOCKCTL_OSETTIMEOFDAY: { @@ -672,7 +677,7 @@ compat50_clockctlioctl(dev_t dev, u_long } case CLOCKCTL_ONTP_ADJTIME: /* The ioctl number changed but the data did not change. */ - error = clockctlioctl(dev, CLOCKCTL_NTP_ADJTIME, + error = (cd-d_ioctl)(dev, CLOCKCTL_NTP_ADJTIME, data, flags, l); break; default:
CVS commit: src/sys/arch/usermode/dev
Module Name:src Committed By: jmcneill Date: Wed Jan 4 14:53:58 UTC 2012 Modified Files: src/sys/arch/usermode/dev: vncfb.c Log Message: implement cngetc and cnpollc To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/arch/usermode/dev/vncfb.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/usermode/dev/vncfb.c diff -u src/sys/arch/usermode/dev/vncfb.c:1.11 src/sys/arch/usermode/dev/vncfb.c:1.12 --- src/sys/arch/usermode/dev/vncfb.c:1.11 Mon Jan 2 00:20:30 2012 +++ src/sys/arch/usermode/dev/vncfb.c Wed Jan 4 14:53:57 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: vncfb.c,v 1.11 2012/01/02 00:20:30 jmcneill Exp $ */ +/* $NetBSD: vncfb.c,v 1.12 2012/01/04 14:53:57 jmcneill Exp $ */ /*- * Copyright (c) 2011 Jared D. McNeill jmcne...@invisible.ca @@ -35,7 +35,7 @@ #include opt_wsemul.h #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: vncfb.c,v 1.11 2012/01/02 00:20:30 jmcneill Exp $); +__KERNEL_RCSID(0, $NetBSD: vncfb.c,v 1.12 2012/01/04 14:53:57 jmcneill Exp $); #include sys/param.h #include sys/systm.h @@ -651,11 +651,29 @@ vncfb_kbd_ioctl(void *priv, u_long cmd, static void vncfb_kbd_cngetc(void *priv, u_int *type, int *data) { + struct vncfb_softc *sc = priv; + thunk_rfb_event_t event; + + for (;;) { + if (thunk_rfb_poll(sc-sc_rfb, event) 0) { + if (event.message_type == THUNK_RFB_KEY_EVENT) { +*type = event.data.key_event.down_flag ? +WSCONS_EVENT_KEY_DOWN : WSCONS_EVENT_KEY_UP; +*data = event.data.key_event.keysym 0xfff; +return; + } + } + } } static void vncfb_kbd_cnpollc(void *priv, int on) { + struct vncfb_softc *sc = priv; + + if (!on) { + vncfb_intr(sc); + } } static void
CVS commit: src/sys/arch/usermode/usermode
Module Name:src Committed By: reinoud Date: Wed Jan 4 15:10:45 UTC 2012 Modified Files: src/sys/arch/usermode/usermode: pmap.c Log Message: don't try to unmap pv entries with munmap() that are / were already unmapped To generate a diff of this commit: cvs rdiff -u -r1.94 -r1.95 src/sys/arch/usermode/usermode/pmap.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/usermode/usermode/pmap.c diff -u src/sys/arch/usermode/usermode/pmap.c:1.94 src/sys/arch/usermode/usermode/pmap.c:1.95 --- src/sys/arch/usermode/usermode/pmap.c:1.94 Wed Jan 4 11:56:58 2012 +++ src/sys/arch/usermode/usermode/pmap.c Wed Jan 4 15:10:45 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.94 2012/01/04 11:56:58 reinoud Exp $ */ +/* $NetBSD: pmap.c,v 1.95 2012/01/04 15:10:45 reinoud Exp $ */ /*- * Copyright (c) 2011 Reinoud Zandijk rein...@netbsd.org @@ -27,7 +27,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.94 2012/01/04 11:56:58 reinoud Exp $); +__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.95 2012/01/04 15:10:45 reinoud Exp $); #include opt_memsize.h #include opt_kmempages.h @@ -758,6 +758,12 @@ pmap_page_deactivate(struct pv_entry *pv uint32_t map_flags; void *addr; + /* don't try to unmap pv entries that are already unmapped */ + if (!tlb[pv-pv_lpn]) + return; + if (tlb[pv-pv_lpn]-pv_mmap_ppl == THUNK_PROT_NONE) + return; + map_flags = THUNK_MAP_FILE | THUNK_MAP_FIXED | THUNK_MAP_SHARED; addr = thunk_mmap((void *) va, PAGE_SIZE, THUNK_PROT_NONE, map_flags, mem_fh, pa);
CVS commit: src/sys/arch/usermode/dev
Module Name:src Committed By: reinoud Date: Wed Jan 4 15:14:57 UTC 2012 Modified Files: src/sys/arch/usermode/dev: cpu.c Log Message: Zero the memory we claim for the stacks To generate a diff of this commit: cvs rdiff -u -r1.59 -r1.60 src/sys/arch/usermode/dev/cpu.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/usermode/dev/cpu.c diff -u src/sys/arch/usermode/dev/cpu.c:1.59 src/sys/arch/usermode/dev/cpu.c:1.60 --- src/sys/arch/usermode/dev/cpu.c:1.59 Tue Jan 3 12:10:04 2012 +++ src/sys/arch/usermode/dev/cpu.c Wed Jan 4 15:14:57 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.c,v 1.59 2012/01/03 12:10:04 reinoud Exp $ */ +/* $NetBSD: cpu.c,v 1.60 2012/01/04 15:14:57 reinoud Exp $ */ /*- * Copyright (c) 2007 Jared D. McNeill jmcne...@invisible.ca @@ -30,7 +30,7 @@ #include opt_hz.h #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.59 2012/01/03 12:10:04 reinoud Exp $); +__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.60 2012/01/04 15:14:57 reinoud Exp $); #include sys/param.h #include sys/conf.h @@ -333,9 +333,9 @@ cpu_lwp_fork(struct lwp *l1, struct lwp memcpy(pcb2, pcb1, sizeof(struct pcb)); stacksize = 2*PAGE_SIZE; - stack_ucp = malloc(stacksize, M_TEMP, M_WAITOK); - stack_syscall_ucp = malloc(stacksize, M_TEMP, M_WAITOK); - stack_pagefault_ucp = malloc(stacksize, M_TEMP, M_WAITOK); + stack_ucp = malloc(stacksize, M_TEMP, M_WAITOK | M_ZERO); + stack_syscall_ucp = malloc(stacksize, M_TEMP, M_WAITOK | M_ZERO); + stack_pagefault_ucp = malloc(stacksize, M_TEMP, M_WAITOK | M_ZERO); pcb2-pcb_needfree = true; KASSERT(stack_ucp); @@ -415,7 +415,7 @@ cpu_startup(void) /* set up the ucontext for the pagefault */ stacksize = 8*PAGE_SIZE; - stack_pagefault_ucp = malloc(stacksize, M_TEMP, M_WAITOK); + stack_pagefault_ucp = malloc(stacksize, M_TEMP, M_WAITOK | M_ZERO); lwp0pcb.pcb_pagefault_ucp.uc_stack.ss_sp = stack_pagefault_ucp; lwp0pcb.pcb_pagefault_ucp.uc_stack.ss_size = stacksize;
CVS commit: src/sys/arch/usermode/dev
Module Name:src Committed By: reinoud Date: Wed Jan 4 15:18:58 UTC 2012 Modified Files: src/sys/arch/usermode/dev: cpu.c Log Message: No reason why to have a larger pagefault stackframe for lwp0 To generate a diff of this commit: cvs rdiff -u -r1.60 -r1.61 src/sys/arch/usermode/dev/cpu.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/usermode/dev/cpu.c diff -u src/sys/arch/usermode/dev/cpu.c:1.60 src/sys/arch/usermode/dev/cpu.c:1.61 --- src/sys/arch/usermode/dev/cpu.c:1.60 Wed Jan 4 15:14:57 2012 +++ src/sys/arch/usermode/dev/cpu.c Wed Jan 4 15:18:57 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.c,v 1.60 2012/01/04 15:14:57 reinoud Exp $ */ +/* $NetBSD: cpu.c,v 1.61 2012/01/04 15:18:57 reinoud Exp $ */ /*- * Copyright (c) 2007 Jared D. McNeill jmcne...@invisible.ca @@ -30,7 +30,7 @@ #include opt_hz.h #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.60 2012/01/04 15:14:57 reinoud Exp $); +__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.61 2012/01/04 15:18:57 reinoud Exp $); #include sys/param.h #include sys/conf.h @@ -414,7 +414,7 @@ cpu_startup(void) memcpy(lwp0pcb.pcb_trapret_ucp, lwp0pcb.pcb_ucp, sizeof(ucontext_t)); /* set up the ucontext for the pagefault */ - stacksize = 8*PAGE_SIZE; + stacksize = 2*PAGE_SIZE; stack_pagefault_ucp = malloc(stacksize, M_TEMP, M_WAITOK | M_ZERO); lwp0pcb.pcb_pagefault_ucp.uc_stack.ss_sp = stack_pagefault_ucp;
CVS commit: src/share/man/man4
Module Name:src Committed By: yamt Date: Wed Jan 4 15:48:54 UTC 2012 Modified Files: src/share/man/man4: tprof.4 Log Message: add a missing comma. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/share/man/man4/tprof.4 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/man/man4/tprof.4 diff -u src/share/man/man4/tprof.4:1.1 src/share/man/man4/tprof.4:1.2 --- src/share/man/man4/tprof.4:1.1 Fri Dec 2 12:17:51 2011 +++ src/share/man/man4/tprof.4 Wed Jan 4 15:48:54 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: tprof.4,v 1.1 2011/12/02 12:17:51 yamt Exp $ +.\ $NetBSD: tprof.4,v 1.2 2012/01/04 15:48:54 yamt Exp $ .\ .\ Copyright (c)2011 YAMAMOTO Takashi, .\ All rights reserved. @@ -52,7 +52,7 @@ without keeping compatibility. .\ .Sh SEE ALSO .Xr tprof_amdpmi 4 , -.Xr tprof_pmi 4 +.Xr tprof_pmi 4 , .Xr tprof 8 .\ .\.Sh HISTORY
CVS commit: src/sys/dev/wsfont
Module Name:src Committed By: macallan Date: Wed Jan 4 15:53:49 UTC 2012 Modified Files: src/sys/dev/wsfont: wsfont.h Log Message: add WSFONT_GLYPH() to get a pointer to a given glyph in a given font To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/dev/wsfont/wsfont.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/wsfont.h diff -u src/sys/dev/wsfont/wsfont.h:1.22 src/sys/dev/wsfont/wsfont.h:1.23 --- src/sys/dev/wsfont/wsfont.h:1.22 Thu Dec 22 05:01:15 2011 +++ src/sys/dev/wsfont/wsfont.h Wed Jan 4 15:53:49 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: wsfont.h,v 1.22 2011/12/22 05:01:15 macallan Exp $ */ +/* $NetBSD: wsfont.h,v 1.23 2012/01/04 15:53:49 macallan Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2002 The NetBSD Foundation, Inc. @@ -34,7 +34,8 @@ #define WSFONT_FLAGS_MASK 0x7f00 #define WSFONT_FLAG_OPT 0x0100 /* use alternate font */ - +#define WSFONT_GLYPH(c, font) ((uint8_t *)font-data + \ + ((c) - font-firstchar) * font-stride * font-fontheight) /* * Example: *
CVS commit: src
Module Name:src Committed By: yamt Date: Wed Jan 4 15:54:39 UTC 2012 Modified Files: src/distrib/sets/lists/base: mi src/distrib/sets/lists/comp: mi src/distrib/sets/lists/man: mi src/usr.bin: Makefile Log Message: install fincore. To generate a diff of this commit: cvs rdiff -u -r1.974 -r1.975 src/distrib/sets/lists/base/mi cvs rdiff -u -r1.1719 -r1.1720 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.1361 -r1.1362 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.204 -r1.205 src/usr.bin/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/base/mi diff -u src/distrib/sets/lists/base/mi:1.974 src/distrib/sets/lists/base/mi:1.975 --- src/distrib/sets/lists/base/mi:1.974 Sat Dec 17 13:27:49 2011 +++ src/distrib/sets/lists/base/mi Wed Jan 4 15:54:37 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.974 2011/12/17 13:27:49 tsutsui Exp $ +# $NetBSD: mi,v 1.975 2012/01/04 15:54:37 yamt Exp $ # # Note: Don't delete entries from here - mark them as obsolete instead, # unless otherwise stated below. @@ -447,6 +447,7 @@ ./usr/bin/false base-util-bin ./usr/bin/fgrep base-util-bin ./usr/bin/file base-util-bin +./usr/bin/fincorebase-util-bin ./usr/bin/find base-util-bin ./usr/bin/fingerbase-util-bin ./usr/bin/fmt base-util-bin Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.1719 src/distrib/sets/lists/comp/mi:1.1720 --- src/distrib/sets/lists/comp/mi:1.1719 Sun Dec 25 23:28:33 2011 +++ src/distrib/sets/lists/comp/mi Wed Jan 4 15:54:37 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1719 2011/12/25 23:28:33 christos Exp $ +# $NetBSD: mi,v 1.1720 2012/01/04 15:54:37 yamt Exp $ # # Note: don't delete entries from here - mark them as obsolete instead. # @@ -3578,6 +3578,7 @@ ./usr/libdata/debug/usr/bin/f77.debug comp-fortran-debug gcc=3,gcccmds,debug ./usr/libdata/debug/usr/bin/fgen.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/file.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/fincore.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/find.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/finger.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/fmt.debug comp-util-debug debug Index: src/distrib/sets/lists/man/mi diff -u src/distrib/sets/lists/man/mi:1.1361 src/distrib/sets/lists/man/mi:1.1362 --- src/distrib/sets/lists/man/mi:1.1361 Sat Dec 17 13:27:51 2011 +++ src/distrib/sets/lists/man/mi Wed Jan 4 15:54:39 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1361 2011/12/17 13:27:51 tsutsui Exp $ +# $NetBSD: mi,v 1.1362 2012/01/04 15:54:39 yamt Exp $ # # Note: don't delete entries from here - mark them as obsolete instead. # @@ -156,6 +156,7 @@ ./usr/share/man/cat1/fg.0 man-util-catman .cat ./usr/share/man/cat1/fgrep.0 man-util-catman .cat ./usr/share/man/cat1/file.0 man-util-catman .cat +./usr/share/man/cat1/fincore.0 man-util-catman .cat ./usr/share/man/cat1/find.0 man-util-catman .cat ./usr/share/man/cat1/finger.0 man-util-catman .cat ./usr/share/man/cat1/fmt.0 man-util-catman .cat @@ -3083,6 +3084,7 @@ ./usr/share/man/html1/fg.html man-util-htmlman html ./usr/share/man/html1/fgrep.html man-util-htmlman html ./usr/share/man/html1/file.html man-util-htmlman html +./usr/share/man/html1/fincore.html man-util-htmlman html ./usr/share/man/html1/find.html man-util-htmlman html ./usr/share/man/html1/finger.html man-util-htmlman html ./usr/share/man/html1/fmt.html man-util-htmlman html @@ -5627,6 +5629,7 @@ ./usr/share/man/man1/fg.1 man-util-man .man ./usr/share/man/man1/fgrep.1 man-util-man .man ./usr/share/man/man1/file.1 man-util-man .man +./usr/share/man/man1/fincore.1 man-util-man .man ./usr/share/man/man1/find.1 man-util-man .man ./usr/share/man/man1/finger.1 man-util-man .man ./usr/share/man/man1/fmt.1 man-util-man .man Index: src/usr.bin/Makefile diff -u src/usr.bin/Makefile:1.204 src/usr.bin/Makefile:1.205 --- src/usr.bin/Makefile:1.204 Sat Oct 8 19:16:54 2011 +++ src/usr.bin/Makefile Wed Jan 4 15:54:37 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.204 2011/10/08 19:16:54 christos Exp $ +# $NetBSD: Makefile,v 1.205 2012/01/04 15:54:37 yamt Exp $ # from: @(#)Makefile 8.3 (Berkeley) 1/7/94 .include bsd.own.mk @@ -10,7 +10,7 @@ SUBDIR= apply apropos asa at audio audio column comm compress config crunch csplit ctags cut \ deroff db dirname du \ eject elf2aout elf2ecoff env error expand extattr \ - false fdformat fgen find finger fmt fold fpr from \ + false fdformat fgen fincore find finger fmt fold fpr from \ fsplit fstat ftp gcore genassym gencat getconf getent getopt gprof \ head hexdump iconv id indent infocmp innetgr ipcrm ipcs join jot \ kdump ktrace ktruss lam last lastcomm ldd leave \
CVS commit: src
Module Name:src Committed By: drochner Date: Wed Jan 4 15:55:37 UTC 2012 Modified Files: src/crypto/dist/ipsec-tools/src/libipsec: ipsec_set_policy.3 libpfkey.h policy_token.l src/lib/libipsec: Makefile config.h src/sbin/ping6: ping6.c src/sbin/setkey: Makefile src/sys/netinet6: Makefile ipsec.h src/sys/netipsec: Makefile ipsec.h src/usr.sbin/racoon: Makefile Log Message: -consistently use char * for the compiled policy buffer in the ipsec_*_policy() functions, as it was documented and used by clients -remove ipsec_policy_t which was undocumented and only present in the KAME version of the ipsec.h header -misc cleanup of historical artefacts, and to remove unnecessary differences between KAME ans FAST_IPSEC To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3 cvs rdiff -u -r1.18 -r1.19 \ src/crypto/dist/ipsec-tools/src/libipsec/libpfkey.h cvs rdiff -u -r1.7 -r1.8 \ src/crypto/dist/ipsec-tools/src/libipsec/policy_token.l cvs rdiff -u -r1.17 -r1.18 src/lib/libipsec/Makefile cvs rdiff -u -r1.5 -r1.6 src/lib/libipsec/config.h cvs rdiff -u -r1.78 -r1.79 src/sbin/ping6/ping6.c cvs rdiff -u -r1.12 -r1.13 src/sbin/setkey/Makefile cvs rdiff -u -r1.6 -r1.7 src/sys/netinet6/Makefile cvs rdiff -u -r1.51 -r1.52 src/sys/netinet6/ipsec.h cvs rdiff -u -r1.2 -r1.3 src/sys/netipsec/Makefile cvs rdiff -u -r1.29 -r1.30 src/sys/netipsec/ipsec.h cvs rdiff -u -r1.23 -r1.24 src/usr.sbin/racoon/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3 diff -u src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3:1.15 src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3:1.16 --- src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3:1.15 Fri Mar 5 06:47:58 2010 +++ src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3 Wed Jan 4 15:55:35 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: ipsec_set_policy.3,v 1.15 2010/03/05 06:47:58 tteras Exp $ +.\ $NetBSD: ipsec_set_policy.3,v 1.16 2012/01/04 15:55:35 drochner Exp $ .\ .\ $KAME: ipsec_set_policy.3,v 1.16 2003/01/06 21:59:03 sumikawa Exp $ .\ @@ -43,11 +43,11 @@ .Sh SYNOPSIS .In netinet6/ipsec.h .Ft char * -.Fn ipsec_set_policy char *policy int len +.Fn ipsec_set_policy const char *policy int len .Ft int .Fn ipsec_get_policylen char *buf .Ft char * -.Fn ipsec_dump_policy char *buf char *delim +.Fn ipsec_dump_policy char *buf const char *delim .Sh DESCRIPTION .Fn ipsec_set_policy generates an IPsec policy specification structure, namely Index: src/crypto/dist/ipsec-tools/src/libipsec/libpfkey.h diff -u src/crypto/dist/ipsec-tools/src/libipsec/libpfkey.h:1.18 src/crypto/dist/ipsec-tools/src/libipsec/libpfkey.h:1.19 --- src/crypto/dist/ipsec-tools/src/libipsec/libpfkey.h:1.18 Fri Dec 3 14:32:52 2010 +++ src/crypto/dist/ipsec-tools/src/libipsec/libpfkey.h Wed Jan 4 15:55:35 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: libpfkey.h,v 1.18 2010/12/03 14:32:52 tteras Exp $ */ +/* $NetBSD: libpfkey.h,v 1.19 2012/01/04 15:55:35 drochner Exp $ */ /* Id: libpfkey.h,v 1.13 2005/12/04 20:26:43 manubsd Exp */ @@ -59,7 +59,11 @@ struct sadb_alg; #ifndef HAVE_IPSEC_POLICY_T typedef caddr_t ipsec_policy_t; +#ifdef __NetBSD__ +#define __ipsec_const const +#else #define __ipsec_const +#endif #else #define __ipsec_const const #endif Index: src/crypto/dist/ipsec-tools/src/libipsec/policy_token.l diff -u src/crypto/dist/ipsec-tools/src/libipsec/policy_token.l:1.7 src/crypto/dist/ipsec-tools/src/libipsec/policy_token.l:1.8 --- src/crypto/dist/ipsec-tools/src/libipsec/policy_token.l:1.7 Wed Jul 18 12:07:50 2007 +++ src/crypto/dist/ipsec-tools/src/libipsec/policy_token.l Wed Jan 4 15:55:35 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: policy_token.l,v 1.7 2007/07/18 12:07:50 vanhu Exp $ */ +/* $NetBSD: policy_token.l,v 1.8 2012/01/04 15:55:35 drochner Exp $ */ /* Id: policy_token.l,v 1.12 2005/05/05 12:32:18 manubsd Exp */ @@ -64,6 +64,7 @@ int yylex __P((void)); %option noyywrap %option nounput +%option noinput /* common section */ nl \n Index: src/lib/libipsec/Makefile diff -u src/lib/libipsec/Makefile:1.17 src/lib/libipsec/Makefile:1.18 --- src/lib/libipsec/Makefile:1.17 Mon May 28 12:06:19 2007 +++ src/lib/libipsec/Makefile Wed Jan 4 15:55:36 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.17 2007/05/28 12:06:19 tls Exp $ +# $NetBSD: Makefile,v 1.18 2012/01/04 15:55:36 drochner Exp $ USE_FORT?= yes # network protocol library @@ -10,8 +10,7 @@ WARNS= 0 # Will be fixed later DIST= ${NETBSDSRCDIR}/crypto/dist/ipsec-tools LIB= ipsec CPPFLAGS+= -I${DIST}/src/libipsec -I. -DHAVE_CONFIG_H -CPPFLAGS+= -DIPSEC_DEBUG -I${.CURDIR} -I${NETBSDSRCDIR}/sys -CPPFLAGS+= -DSADB_X_EALG_AESCBC=SADB_X_EALG_AES +CPPFLAGS+= -DIPSEC_DEBUG -I${.CURDIR} # Don't worry about
CVS commit: src/sys/dev/pci
Module Name:src Committed By: macallan Date: Wed Jan 4 15:56:18 UTC 2012 Modified Files: src/sys/dev/pci: r128fb.c radeonfb.c Log Message: use WSFONT_GLYPH() To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 src/sys/dev/pci/r128fb.c cvs rdiff -u -r1.49 -r1.50 src/sys/dev/pci/radeonfb.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/pci/r128fb.c diff -u src/sys/dev/pci/r128fb.c:1.25 src/sys/dev/pci/r128fb.c:1.26 --- src/sys/dev/pci/r128fb.c:1.25 Wed Jan 4 08:38:20 2012 +++ src/sys/dev/pci/r128fb.c Wed Jan 4 15:56:18 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: r128fb.c,v 1.25 2012/01/04 08:38:20 macallan Exp $ */ +/* $NetBSD: r128fb.c,v 1.26 2012/01/04 15:56:18 macallan Exp $ */ /* * Copyright (c) 2007 Michael Lorenz @@ -31,7 +31,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: r128fb.c,v 1.25 2012/01/04 08:38:20 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: r128fb.c,v 1.26 2012/01/04 15:56:18 macallan Exp $); #include sys/param.h #include sys/systm.h @@ -825,8 +825,7 @@ r128fb_putchar(void *cookie, int row, in struct r128fb_softc *sc = scr-scr_cookie; void *data; uint32_t fg, bg; - int uc, i; - int x, y, wi, he, offset; + int i, x, y, wi, he, offset; if (sc-sc_mode != WSDISPLAYIO_MODE_EMUL) return; @@ -847,8 +846,7 @@ r128fb_putchar(void *cookie, int row, in return; } - uc = c - font-firstchar; - data = (uint8_t *)font-data + uc * ri-ri_fontscale; + data = WSFONT_GLYPH(c, font); r128fb_wait(sc, 8); @@ -926,7 +924,7 @@ r128fb_putchar_aa(void *cookie, int row, struct vcons_screen *scr = ri-ri_hw; struct r128fb_softc *sc = scr-scr_cookie; uint32_t bg, latch = 0, bg8, fg8, pixel; - int uc, i, x, y, wi, he, r, g, b, aval; + int i, x, y, wi, he, r, g, b, aval; int r1, g1, b1, r0, g0, b0, fgo, bgo; uint8_t *data8; @@ -947,8 +945,7 @@ r128fb_putchar_aa(void *cookie, int row, return; } - uc = c - font-firstchar; - data8 = (uint8_t *)font-data + uc * ri-ri_fontscale; + data8 = WSFONT_GLYPH(c, font); r128fb_wait(sc, 5); bus_space_write_4(sc-sc_memt, sc-sc_regh, Index: src/sys/dev/pci/radeonfb.c diff -u src/sys/dev/pci/radeonfb.c:1.49 src/sys/dev/pci/radeonfb.c:1.50 --- src/sys/dev/pci/radeonfb.c:1.49 Tue Jan 3 00:25:49 2012 +++ src/sys/dev/pci/radeonfb.c Wed Jan 4 15:56:18 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: radeonfb.c,v 1.49 2012/01/03 00:25:49 macallan Exp $ */ +/* $NetBSD: radeonfb.c,v 1.50 2012/01/04 15:56:18 macallan Exp $ */ /*- * Copyright (c) 2006 Itronix Inc. @@ -70,7 +70,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: radeonfb.c,v 1.49 2012/01/03 00:25:49 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: radeonfb.c,v 1.50 2012/01/04 15:56:18 macallan Exp $); #include sys/param.h #include sys/systm.h @@ -2432,7 +2432,7 @@ radeonfb_putchar(void *cookie, int row, radeonfb_rectfill(dp, xd, yd, w, h, bg); return; } - data = (uint8_t *)font-data + (c - font-firstchar) * ri-ri_fontscale; + data = WSFONT_GLYPH(c, font); gmc = dp-rd_format RADEON_GMC_DST_DATATYPE_SHIFT; @@ -2521,7 +2521,7 @@ radeonfb_putchar_aa32(void *cookie, int radeonfb_rectfill(dp, xd, yd, w, h, bg); return; } - data = (uint8_t *)font-data + (c - font-firstchar) * ri-ri_fontscale; + data = WSFONT_GLYPH(c, font); gmc = dp-rd_format RADEON_GMC_DST_DATATYPE_SHIFT;
CVS commit: src/bin/cp
Module Name:src Committed By: christos Date: Wed Jan 4 15:58:37 UTC 2012 Modified Files: src/bin/cp: cp.c extern.h utils.c Log Message: Add siginfo support from Daniel Loffgren. To generate a diff of this commit: cvs rdiff -u -r1.57 -r1.58 src/bin/cp/cp.c cvs rdiff -u -r1.16 -r1.17 src/bin/cp/extern.h cvs rdiff -u -r1.40 -r1.41 src/bin/cp/utils.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/bin/cp/cp.c diff -u src/bin/cp/cp.c:1.57 src/bin/cp/cp.c:1.58 --- src/bin/cp/cp.c:1.57 Thu Aug 18 04:11:58 2011 +++ src/bin/cp/cp.c Wed Jan 4 10:58:37 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cp.c,v 1.57 2011/08/18 08:11:58 manu Exp $ */ +/* $NetBSD: cp.c,v 1.58 2012/01/04 15:58:37 christos Exp $ */ /* * Copyright (c) 1988, 1993, 1994 @@ -43,7 +43,7 @@ __COPYRIGHT( #if 0 static char sccsid[] = @(#)cp.c 8.5 (Berkeley) 4/29/95; #else -__RCSID($NetBSD: cp.c,v 1.57 2011/08/18 08:11:58 manu Exp $); +__RCSID($NetBSD: cp.c,v 1.58 2012/01/04 15:58:37 christos Exp $); #endif #endif /* not lint */ @@ -70,6 +70,7 @@ __RCSID($NetBSD: cp.c,v 1.57 2011/08/18 #include errno.h #include fts.h #include locale.h +#include signal.h #include stdlib.h #include stdio.h #include string.h @@ -88,11 +89,18 @@ PATH_T to = { .p_end = to.p_path, .targe uid_t myuid; int Hflag, Lflag, Rflag, Pflag, fflag, iflag, lflag, pflag, rflag, vflag, Nflag; mode_t myumask; +sig_atomic_t pinfo; enum op { FILE_TO_FILE, FILE_TO_DIR, DIR_TO_DNE }; -int main(int, char *[]); -int copy(char *[], enum op, int); +static int copy(char *[], enum op, int); + +static void +progress(int sig __unused) +{ + + pinfo++; +} int main(int argc, char *argv[]) @@ -210,6 +218,8 @@ main(int argc, char *argv[]) /* Set end of argument list for fts(3). */ argv[argc] = NULL; + (void)signal(SIGINFO, progress); + /* * Cp has two distinct cases: * @@ -310,7 +320,7 @@ popdne(void) return rv; } -int +static int copy(char *argv[], enum op type, int fts_options) { struct stat to_stat; Index: src/bin/cp/extern.h diff -u src/bin/cp/extern.h:1.16 src/bin/cp/extern.h:1.17 --- src/bin/cp/extern.h:1.16 Sun Feb 6 07:37:49 2011 +++ src/bin/cp/extern.h Wed Jan 4 10:58:37 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: extern.h,v 1.16 2011/02/06 12:37:49 darcy Exp $ */ +/* $NetBSD: extern.h,v 1.17 2012/01/04 15:58:37 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -44,6 +44,7 @@ extern PATH_T to; extern uid_t myuid; extern int Rflag, rflag, Hflag, Lflag, Pflag, fflag, iflag, lflag, pflag, Nflag; extern mode_t myumask; +extern sig_atomic_t pinfo; #include sys/cdefs.h Index: src/bin/cp/utils.c diff -u src/bin/cp/utils.c:1.40 src/bin/cp/utils.c:1.41 --- src/bin/cp/utils.c:1.40 Wed Aug 3 00:11:15 2011 +++ src/bin/cp/utils.c Wed Jan 4 10:58:37 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: utils.c,v 1.40 2011/08/03 04:11:15 manu Exp $ */ +/* $NetBSD: utils.c,v 1.41 2012/01/04 15:58:37 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = @(#)utils.c 8.3 (Berkeley) 4/1/94; #else -__RCSID($NetBSD: utils.c,v 1.40 2011/08/03 04:11:15 manu Exp $); +__RCSID($NetBSD: utils.c,v 1.41 2012/01/04 15:58:37 christos Exp $); #endif #endif /* not lint */ @@ -74,6 +74,22 @@ set_utimes(const char *file, struct stat return (0); } +struct finfo { + const char *from; + const char *to; + size_t size; +}; + +static void +progress(const struct finfo *fi, size_t written) +{ + int pcent = (int)((100.0 * written) / fi-size); + + pinfo = 0; + (void)fprintf(stderr, %s = %s %zu/%zu bytes %d%% written\n, + fi-from, fi-to, written, fi-size, pcent); +} + int copy_file(FTSENT *entp, int dne) { @@ -81,6 +97,7 @@ copy_file(FTSENT *entp, int dne) struct stat to_stat, *fs; int ch, checkch, from_fd, rcount, rval, to_fd, tolnk, wcount; char *p; + size_t ptotal = 0; if ((from_fd = open(entp-fts_path, O_RDONLY, 0)) == -1) { warn(%s, entp-fts_path); @@ -164,6 +181,12 @@ copy_file(FTSENT *entp, int dne) * now if it's empty, so let's not bother. */ if (fs-st_size 0) { + struct finfo fi; + + fi.from = entp-fts_path; + fi.to = to.p_path; + fi.size = (size_t)fs-st_size; + /* * Mmap and write if less than 8M (the limit is so * we don't totally trash memory on big files). @@ -203,6 +226,9 @@ copy_file(FTSENT *entp, int dne) break; } remainder -= chunk; + ptotal += chunk; + if (pinfo) + progress(fi, ptotal); } while (remainder 0); if (munmap(p, fsize) 0) { @@ -220,6 +246,9 @@ copy_file(FTSENT *entp, int dne) rval = 1; break; } +ptotal += wcount; +if (pinfo) + progress(fi, ptotal); } if (rcount 0) { warn(%s, entp-fts_path);
CVS commit: src/sys/dev/dm
Module Name:src Committed By: haad Date: Wed Jan 4 16:05:53 UTC 2012 Modified Files: src/sys/dev/dm: dm_target_stripe.c Log Message: Fix wrong KASSERT, reported by mhitch@. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/dev/dm/dm_target_stripe.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/dm/dm_target_stripe.c diff -u src/sys/dev/dm/dm_target_stripe.c:1.16 src/sys/dev/dm/dm_target_stripe.c:1.17 --- src/sys/dev/dm/dm_target_stripe.c:1.16 Fri Oct 14 09:23:30 2011 +++ src/sys/dev/dm/dm_target_stripe.c Wed Jan 4 16:05:53 2012 @@ -1,4 +1,4 @@ -/*$NetBSD: dm_target_stripe.c,v 1.16 2011/10/14 09:23:30 hannken Exp $*/ +/*$NetBSD: dm_target_stripe.c,v 1.17 2012/01/04 16:05:53 haad Exp $*/ /* * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -248,7 +248,7 @@ dm_target_stripe_strategy(dm_table_entry tlc = TAILQ_NEXT(tlc, entries); /* by this point we should have an tlc */ - KASSERT(tlc == NULL); + KASSERT(tlc != NULL); nestbuf-b_blkno += tlc-offset;
CVS commit: src/sys/arch/usermode/usermode
Module Name:src Committed By: reinoud Date: Wed Jan 4 16:20:42 UTC 2012 Modified Files: src/sys/arch/usermode/usermode: pmap.c Log Message: Enhance the page_deactivate() to have less side effects. While here also make a variable local to the debug routine that uses it. To generate a diff of this commit: cvs rdiff -u -r1.95 -r1.96 src/sys/arch/usermode/usermode/pmap.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/usermode/usermode/pmap.c diff -u src/sys/arch/usermode/usermode/pmap.c:1.95 src/sys/arch/usermode/usermode/pmap.c:1.96 --- src/sys/arch/usermode/usermode/pmap.c:1.95 Wed Jan 4 15:10:45 2012 +++ src/sys/arch/usermode/usermode/pmap.c Wed Jan 4 16:20:41 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.95 2012/01/04 15:10:45 reinoud Exp $ */ +/* $NetBSD: pmap.c,v 1.96 2012/01/04 16:20:41 reinoud Exp $ */ /*- * Copyright (c) 2011 Reinoud Zandijk rein...@netbsd.org @@ -27,7 +27,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.95 2012/01/04 15:10:45 reinoud Exp $); +__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.96 2012/01/04 16:20:41 reinoud Exp $); #include opt_memsize.h #include opt_kmempages.h @@ -480,7 +480,7 @@ void pmap_destroy(pmap_t pmap) { struct pmap_l2 *l2tbl; - int l1, l2; + int l1; /* if multiple references exist just remove a reference */ thunk_printf_debug(pmap_destroy %p\n, pmap); @@ -494,6 +494,8 @@ pmap_destroy(pmap_t pmap) KASSERT(pmap-pm_stats.wired_count == 0); #ifdef DIAGNOSTIC for (l1 = 0; l1 pm_nl1; l1++) { + int l2; + l2tbl = pmap-pm_l1[l1]; if (!l2tbl) continue; @@ -761,8 +763,9 @@ pmap_page_deactivate(struct pv_entry *pv /* don't try to unmap pv entries that are already unmapped */ if (!tlb[pv-pv_lpn]) return; + if (tlb[pv-pv_lpn]-pv_mmap_ppl == THUNK_PROT_NONE) - return; + goto deactivate; map_flags = THUNK_MAP_FILE | THUNK_MAP_FIXED | THUNK_MAP_SHARED; addr = thunk_mmap((void *) va, PAGE_SIZE, THUNK_PROT_NONE, @@ -772,6 +775,7 @@ pmap_page_deactivate(struct pv_entry *pv if (addr != (void *) va) panic(pmap_page_deactivate: mmap failed); +deactivate: tlb[pv-pv_lpn] = NULL; }
CVS commit: src
Module Name:src Committed By: yamt Date: Wed Jan 4 16:25:17 UTC 2012 Modified Files: src/distrib/sets/lists/base: mi src/distrib/sets/lists/comp: mi src/distrib/sets/lists/man: mi src/share/man/man4: Makefile src/share/man/man4/man4.x86: Makefile src/usr.bin: Makefile src/usr.sbin: Makefile Log Message: install tprof related commands and man pages. To generate a diff of this commit: cvs rdiff -u -r1.975 -r1.976 src/distrib/sets/lists/base/mi cvs rdiff -u -r1.1721 -r1.1722 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.1362 -r1.1363 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.575 -r1.576 src/share/man/man4/Makefile cvs rdiff -u -r1.12 -r1.13 src/share/man/man4/man4.x86/Makefile cvs rdiff -u -r1.205 -r1.206 src/usr.bin/Makefile cvs rdiff -u -r1.259 -r1.260 src/usr.sbin/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/base/mi diff -u src/distrib/sets/lists/base/mi:1.975 src/distrib/sets/lists/base/mi:1.976 --- src/distrib/sets/lists/base/mi:1.975 Wed Jan 4 15:54:37 2012 +++ src/distrib/sets/lists/base/mi Wed Jan 4 16:25:14 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.975 2012/01/04 15:54:37 yamt Exp $ +# $NetBSD: mi,v 1.976 2012/01/04 16:25:14 yamt Exp $ # # Note: Don't delete entries from here - mark them as obsolete instead, # unless otherwise stated below. @@ -691,6 +691,7 @@ ./usr/bin/tn3270base-obsolete obsolete ./usr/bin/top base-util-bin ./usr/bin/touch base-util-bin +./usr/bin/tpfmt base-util-bin ./usr/bin/tput base-util-bin ./usr/bin/tr base-util-bin ./usr/bin/true base-util-bin @@ -1469,6 +1470,7 @@ ./usr/sbin/tcpdumpbase-netutil-bin ./usr/sbin/timedbase-timed-bin ./usr/sbin/timedcbase-timed-bin +./usr/sbin/tprofbase-sysutil-bin ./usr/sbin/traceroutebase-netutil-bin ./usr/sbin/traceroute6base-netutil-bin use_inet6 ./usr/sbin/trpt base-netutil-bin Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.1721 src/distrib/sets/lists/comp/mi:1.1722 --- src/distrib/sets/lists/comp/mi:1.1721 Wed Jan 4 16:09:41 2012 +++ src/distrib/sets/lists/comp/mi Wed Jan 4 16:25:14 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1721 2012/01/04 16:09:41 drochner Exp $ +# $NetBSD: mi,v 1.1722 2012/01/04 16:25:14 yamt Exp $ # # Note: don't delete entries from here - mark them as obsolete instead. # @@ -3841,6 +3841,7 @@ ./usr/libdata/debug/usr/bin/tn3270.debug comp-obsolete obsolete ./usr/libdata/debug/usr/bin/top.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/touch.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tpfmt.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/tput.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/tr.debug comp-util-debug debug ./usr/libdata/debug/usr/bin/troff.debug comp-groff-debug groff,debug @@ -4289,6 +4290,7 @@ ./usr/libdata/debug/usr/sbin/tcpdump.debug comp-netutil-debug debug ./usr/libdata/debug/usr/sbin/timed.debug comp-timed-debug debug ./usr/libdata/debug/usr/sbin/timedc.debug comp-timed-debug debug +./usr/libdata/debug/usr/sbin/tprof.debug comp-sysutil-debug debug ./usr/libdata/debug/usr/sbin/traceroute.debug comp-netutil-debug debug ./usr/libdata/debug/usr/sbin/traceroute6.debug comp-netutil-debug use_inet6,debug ./usr/libdata/debug/usr/sbin/trpt.debug comp-netutil-debug debug Index: src/distrib/sets/lists/man/mi diff -u src/distrib/sets/lists/man/mi:1.1362 src/distrib/sets/lists/man/mi:1.1363 --- src/distrib/sets/lists/man/mi:1.1362 Wed Jan 4 15:54:39 2012 +++ src/distrib/sets/lists/man/mi Wed Jan 4 16:25:15 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1362 2012/01/04 15:54:39 yamt Exp $ +# $NetBSD: mi,v 1.1363 2012/01/04 16:25:15 yamt Exp $ # # Note: don't delete entries from here - mark them as obsolete instead. # @@ -526,6 +526,7 @@ ./usr/share/man/cat1/tn3270.0 man-obsolete obsolete ./usr/share/man/cat1/top.0 man-util-catman .cat ./usr/share/man/cat1/touch.0 man-util-catman .cat +./usr/share/man/cat1/tpfmt.0 man-util-catman .cat ./usr/share/man/cat1/tput.0 man-util-catman .cat ./usr/share/man/cat1/tr.0 man-util-catman .cat ./usr/share/man/cat1/true.0 man-util-catman .cat @@ -1648,6 +1649,7 @@ ./usr/share/man/cat4/tlphy.0 man-sys-catman .cat ./usr/share/man/cat4/tm121temp.0 man-sys-catman .cat ./usr/share/man/cat4/tp.0 man-sys-catman .cat +./usr/share/man/cat4/tprof.0 man-sys-catman .cat ./usr/share/man/cat4/tqphy.0 man-sys-catman .cat ./usr/share/man/cat4/tr.0 man-sys-catman .cat ./usr/share/man/cat4/tra.0 man-sys-catman .cat @@ -1846,6 +1848,8 @@ ./usr/share/man/cat4/x86/mem.0 man-sys-catman .cat ./usr/share/man/cat4/x86/odcm.0 man-sys-catman .cat ./usr/share/man/cat4/x86/powernow.0 man-sys-catman .cat +./usr/share/man/cat4/x86/tprof_pmi.0 man-sys-catman .cat
CVS commit: [yamt-pagecache] src/sys/uvm
Module Name:src Committed By: yamt Date: Wed Jan 4 16:30:07 UTC 2012 Modified Files: src/sys/uvm [yamt-pagecache]: uvm_page.c Log Message: make assertions simpler To generate a diff of this commit: cvs rdiff -u -r1.178.2.10 -r1.178.2.11 src/sys/uvm/uvm_page.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/uvm/uvm_page.c diff -u src/sys/uvm/uvm_page.c:1.178.2.10 src/sys/uvm/uvm_page.c:1.178.2.11 --- src/sys/uvm/uvm_page.c:1.178.2.10 Wed Jan 4 16:29:29 2012 +++ src/sys/uvm/uvm_page.c Wed Jan 4 16:30:06 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_page.c,v 1.178.2.10 2012/01/04 16:29:29 yamt Exp $ */ +/* $NetBSD: uvm_page.c,v 1.178.2.11 2012/01/04 16:30:06 yamt Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -66,7 +66,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: uvm_page.c,v 1.178.2.10 2012/01/04 16:29:29 yamt Exp $); +__KERNEL_RCSID(0, $NetBSD: uvm_page.c,v 1.178.2.11 2012/01/04 16:30:06 yamt Exp $); #include opt_ddb.h #include opt_uvmhist.h @@ -1509,9 +1509,7 @@ uvm_pagefree(struct vm_page *pg) KASSERT((pg-flags PG_PAGEOUT) == 0); KASSERT(!(pg-pqflags PQ_FREE)); KASSERT(mutex_owned(uvm_pageqlock) || !uvmpdpol_pageisqueued_p(pg)); - KASSERT(pg-uobject == NULL || mutex_owned(pg-uobject-vmobjlock)); - KASSERT(pg-uobject != NULL || pg-uanon == NULL || - mutex_owned(pg-uanon-an_lock)); + KASSERT(uvm_page_locked_p(pg)); /* * if the page is loaned, resolve the loan instead of freeing.
CVS commit: src/crypto/dist/ipsec-tools/src/libipsec
Module Name:src Committed By: wiz Date: Wed Jan 4 16:30:51 UTC 2012 Modified Files: src/crypto/dist/ipsec-tools/src/libipsec: ipsec_set_policy.3 ipsec_strerror.3 Log Message: Bump date for previous. To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 \ src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3 cvs rdiff -u -r1.11 -r1.12 \ src/crypto/dist/ipsec-tools/src/libipsec/ipsec_strerror.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3 diff -u src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3:1.17 src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3:1.18 --- src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3:1.17 Wed Jan 4 16:09:40 2012 +++ src/crypto/dist/ipsec-tools/src/libipsec/ipsec_set_policy.3 Wed Jan 4 16:30:50 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: ipsec_set_policy.3,v 1.17 2012/01/04 16:09:40 drochner Exp $ +.\ $NetBSD: ipsec_set_policy.3,v 1.18 2012/01/04 16:30:50 wiz Exp $ .\ .\ $KAME: ipsec_set_policy.3,v 1.16 2003/01/06 21:59:03 sumikawa Exp $ .\ @@ -29,7 +29,7 @@ .\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\ SUCH DAMAGE. .\ -.Dd May 5, 1998 +.Dd January 4, 2012 .Dt IPSEC_SET_POLICY 3 .Os .Sh NAME Index: src/crypto/dist/ipsec-tools/src/libipsec/ipsec_strerror.3 diff -u src/crypto/dist/ipsec-tools/src/libipsec/ipsec_strerror.3:1.11 src/crypto/dist/ipsec-tools/src/libipsec/ipsec_strerror.3:1.12 --- src/crypto/dist/ipsec-tools/src/libipsec/ipsec_strerror.3:1.11 Wed Jan 4 16:09:40 2012 +++ src/crypto/dist/ipsec-tools/src/libipsec/ipsec_strerror.3 Wed Jan 4 16:30:50 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: ipsec_strerror.3,v 1.11 2012/01/04 16:09:40 drochner Exp $ +.\ $NetBSD: ipsec_strerror.3,v 1.12 2012/01/04 16:30:50 wiz Exp $ .\ .\ $KAME: ipsec_strerror.3,v 1.9 2001/08/17 07:21:36 itojun Exp $ .\ @@ -29,7 +29,7 @@ .\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\ SUCH DAMAGE. .\ -.Dd May 6, 1998 +.Dd January 4, 2012 .Dt IPSEC_STRERROR 3 .Os .\
CVS commit: [yamt-pagecache] src/sys/uvm
Module Name:src Committed By: yamt Date: Wed Jan 4 16:31:18 UTC 2012 Modified Files: src/sys/uvm [yamt-pagecache]: uvm_loan.c uvm_page.c Log Message: O-A loan related statistics fixes. To generate a diff of this commit: cvs rdiff -u -r1.81.2.8 -r1.81.2.9 src/sys/uvm/uvm_loan.c cvs rdiff -u -r1.178.2.11 -r1.178.2.12 src/sys/uvm/uvm_page.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/uvm/uvm_loan.c diff -u src/sys/uvm/uvm_loan.c:1.81.2.8 src/sys/uvm/uvm_loan.c:1.81.2.9 --- src/sys/uvm/uvm_loan.c:1.81.2.8 Wed Dec 28 13:24:19 2011 +++ src/sys/uvm/uvm_loan.c Wed Jan 4 16:31:17 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_loan.c,v 1.81.2.8 2011/12/28 13:24:19 yamt Exp $ */ +/* $NetBSD: uvm_loan.c,v 1.81.2.9 2012/01/04 16:31:17 yamt Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -32,7 +32,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: uvm_loan.c,v 1.81.2.8 2011/12/28 13:24:19 yamt Exp $); +__KERNEL_RCSID(0, $NetBSD: uvm_loan.c,v 1.81.2.9 2012/01/04 16:31:17 yamt Exp $); #include sys/param.h #include sys/systm.h @@ -1755,6 +1755,7 @@ uvm_loan_resolve_orphan(struct vm_page * return; } KASSERT(pg-loan_count 0); + uvm_pagemarkdirty(pg, UVM_PAGE_STATUS_DIRTY); if (!pageqlocked) { mutex_enter(uvm_pageqlock); } @@ -1770,7 +1771,6 @@ uvm_loan_resolve_orphan(struct vm_page * * the pagestate should have been decremented when uobj dropped the * ownership. */ - uvm_pagemarkdirty(pg, UVM_PAGE_STATUS_DIRTY); ucpu = uvm_cpu_get(); ucpu-loan_resolve_orphan++; ucpu-pagestate[1][UVM_PAGE_STATUS_DIRTY]++; Index: src/sys/uvm/uvm_page.c diff -u src/sys/uvm/uvm_page.c:1.178.2.11 src/sys/uvm/uvm_page.c:1.178.2.12 --- src/sys/uvm/uvm_page.c:1.178.2.11 Wed Jan 4 16:30:06 2012 +++ src/sys/uvm/uvm_page.c Wed Jan 4 16:31:17 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_page.c,v 1.178.2.11 2012/01/04 16:30:06 yamt Exp $ */ +/* $NetBSD: uvm_page.c,v 1.178.2.12 2012/01/04 16:31:17 yamt Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -66,7 +66,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: uvm_page.c,v 1.178.2.11 2012/01/04 16:30:06 yamt Exp $); +__KERNEL_RCSID(0, $NetBSD: uvm_page.c,v 1.178.2.12 2012/01/04 16:31:17 yamt Exp $); #include opt_ddb.h #include opt_uvmhist.h @@ -1524,15 +1524,13 @@ uvm_pagefree(struct vm_page *pg) * if the page is owned by an anon then we just want to * drop anon ownership. the kernel will free the page when * it is done with it. if the page is owned by an object, - * remove it from the object and mark it dirty for the benefit - * of possible anon owners. + * remove it from the object. * * regardless of previous ownership, wakeup any waiters, * unbusy the page, and we're done. */ if (obj != NULL) { - uvm_pagemarkdirty(pg, UVM_PAGE_STATUS_DIRTY); uvm_pageremove(obj, pg); pg-pqflags = ~(PQ_FILE|PQ_AOBJ); } else if (pg-uanon != NULL) {
CVS commit: src/doc
Module Name:src Committed By: yamt Date: Wed Jan 4 16:36:49 UTC 2012 Modified Files: src/doc: BRANCHES Log Message: update the status of yamt-pagecache branch. To generate a diff of this commit: cvs rdiff -u -r1.317 -r1.318 src/doc/BRANCHES Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/BRANCHES diff -u src/doc/BRANCHES:1.317 src/doc/BRANCHES:1.318 --- src/doc/BRANCHES:1.317 Fri Dec 2 16:37:43 2011 +++ src/doc/BRANCHES Wed Jan 4 16:36:49 2012 @@ -1,4 +1,4 @@ -# $NetBSD: BRANCHES,v 1.317 2011/12/02 16:37:43 yamt Exp $ +# $NetBSD: BRANCHES,v 1.318 2012/01/04 16:36:49 yamt Exp $ # # This file contains a list of branches that exist in the NetBSD CVS # tree and their current state. @@ -608,13 +608,92 @@ Notes: - maintain object pages in radix TODO: - benchmark - test - - make the write clustering fix less kludgy and work - for backward clustering + - make the write clustering fix less kludgy tested: i386, amd64, nfs, ffs have good chances to be broken: lfs, sparc64, hp700 + the following is kernel build test results. + most of NG seem unrelated to the changes in the branch. + + acorn26 GENERICOK + acorn32 GENERICOK + algorP6032 NG + alphaGENERICOK + alphaGENERIC.MP OK + amd64GENERICOK + amd64XEN3_DOM0 OK + amd64XEN3_DOMU OK + amigaGENERICOK + amigappc GENERICOK + arc GENERICOK + atariMILAN-PCIIDE OK + beboxGENERICOK + cats GENERICOK + cesfic GENERICOK + cobalt GENERICOK + dreamcast GENERICNG + emipsGENERICOK + evbarm NSLU2 NG + evbarm TS7200 NG + evbmips P6032 NG + evbmips MALTA NG + evbppc WALNUT NG + evbppc EXPLORA451 NG + evbppc PMPPC NG + evbsh3 COMPUTEXEVB OK + ews4800mips GENERICOK + hp300GENERICOK + hp700GENERICOK + hpcarm JORNADA720 OK + hpcarm JORNADA728 OK + hpcmips GENERICOK + hpcshGENERICOK + hpcshHPW650PA OK + i386 MONOLITHIC OK + i386 GENERICOK + i386 XEN3_DOM0 OK + i386 XEN3_DOMU OK + i386 ALLNG + ia64 GENERICOK + ia64 GENERIC.SKI NG + ibmnws GENERICOK + iyonix GENERICNG + landisk GENERICOK + luna68k GENERICOK + mac68k GENERICOK + macppc GENERICOK + macppc GENERIC.MP OK + mipsco GENERICOK + mmeyeGENERICOK + mvme68k GENERICOK + mvmeppc GENERICOK + netwinder GENERICNG + news68k GENERICOK + newsmips GENERICOK + next68k GENERICOK + ofppcGENERICOK + ofppcGENERIC.MP NG + pmax GENERICOK + prep GENERICOK + rs6000 GENERICNG + sandpoint GENERICOK + sbmips GENERICNG + sbmips GENERIC.MP NG + sgimips GENERIC32_IP3x OK + sharkGENERICNG + sparcGENERICOK + sparcGENERIC.MP OK + sparc64 GENERICOK + sun2 GENERICOK + sun3 GENERICOK + usermode GENERICNG + vax GENERICOK + vax GENERIC.MP OK + x68k GENERICOK + zaurus GENERICNG + Branch: reinoud-bufcleanup Description: implement and evaluate struct buf usage cleanup strategies. Ideas currently in mind (preference for b):
CVS commit: src/external/gpl2/lvm2/dist/lib/filters
Module Name:src Committed By: mhitch Date: Wed Jan 4 16:37:45 UTC 2012 Modified Files: src/external/gpl2/lvm2/dist/lib/filters: filter_netbsd.c Log Message: Add logical drive device ld - a number of raid controllers provide these. Also fix a typo/pasto when checking devices against devices/types in the configuration file: use value from configuration, not the end of the device_info table. Devices which aren't explicitly specified in the device_info table can now be used by adding a type entry in the config file. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/gpl2/lvm2/dist/lib/filters/filter_netbsd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl2/lvm2/dist/lib/filters/filter_netbsd.c diff -u src/external/gpl2/lvm2/dist/lib/filters/filter_netbsd.c:1.3 src/external/gpl2/lvm2/dist/lib/filters/filter_netbsd.c:1.4 --- src/external/gpl2/lvm2/dist/lib/filters/filter_netbsd.c:1.3 Wed Dec 2 01:53:25 2009 +++ src/external/gpl2/lvm2/dist/lib/filters/filter_netbsd.c Wed Jan 4 16:37:45 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: filter_netbsd.c,v 1.3 2009/12/02 01:53:25 haad Exp $*/ +/* $NetBSD: filter_netbsd.c,v 1.4 2012/01/04 16:37:45 mhitch Exp $*/ /* * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. @@ -82,6 +82,7 @@ static const device_info_t device_info[] {cgd, 1}, {ccd, 1}, {xbd, 64}, + {ld, 64}, {NULL, -1} }; @@ -221,9 +222,9 @@ static int _scan_dev(const struct config if (!strncmp(name, kd[i].d_name, strlen(name))){ _char_device_major[kd[i].d_cmajor] = - device_info[j].max_partitions; + cv-v.i; _block_device_major[kd[i].d_bmajor] = - device_info[j].max_partitions; + cv-v.i; break; } }
CVS commit: [yamt-pagecache] src/sys
Module Name:src Committed By: yamt Date: Wed Jan 4 16:43:37 UTC 2012 Modified Files: src/sys/fs/tmpfs [yamt-pagecache]: tmpfs_vnops.c src/sys/nfs [yamt-pagecache]: nfs_bio.c src/sys/ufs/ufs [yamt-pagecache]: ufs_readwrite.c Log Message: enable O-A loaning read for a few filesystems. To generate a diff of this commit: cvs rdiff -u -r1.92 -r1.92.2.1 src/sys/fs/tmpfs/tmpfs_vnops.c cvs rdiff -u -r1.188.2.1 -r1.188.2.2 src/sys/nfs/nfs_bio.c cvs rdiff -u -r1.99 -r1.99.2.1 src/sys/ufs/ufs/ufs_readwrite.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/fs/tmpfs/tmpfs_vnops.c diff -u src/sys/fs/tmpfs/tmpfs_vnops.c:1.92 src/sys/fs/tmpfs/tmpfs_vnops.c:1.92.2.1 --- src/sys/fs/tmpfs/tmpfs_vnops.c:1.92 Tue Sep 27 01:32:21 2011 +++ src/sys/fs/tmpfs/tmpfs_vnops.c Wed Jan 4 16:43:37 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: tmpfs_vnops.c,v 1.92 2011/09/27 01:32:21 christos Exp $ */ +/* $NetBSD: tmpfs_vnops.c,v 1.92.2.1 2012/01/04 16:43:37 yamt Exp $ */ /* * Copyright (c) 2005, 2006, 2007 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: tmpfs_vnops.c,v 1.92 2011/09/27 01:32:21 christos Exp $); +__KERNEL_RCSID(0, $NetBSD: tmpfs_vnops.c,v 1.92.2.1 2012/01/04 16:43:37 yamt Exp $); #include sys/param.h #include sys/dirent.h @@ -561,6 +561,9 @@ tmpfs_read(void *v) uobj = node-tn_spec.tn_reg.tn_aobj; error = 0; + if (uio-uio_offset + uio-uio_resid = node-tn_size) { + uvm_loanobj(vp-v_uobj, uio); + } while (error == 0 uio-uio_resid 0) { vsize_t len; Index: src/sys/nfs/nfs_bio.c diff -u src/sys/nfs/nfs_bio.c:1.188.2.1 src/sys/nfs/nfs_bio.c:1.188.2.2 --- src/sys/nfs/nfs_bio.c:1.188.2.1 Wed Nov 2 21:53:59 2011 +++ src/sys/nfs/nfs_bio.c Wed Jan 4 16:43:37 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: nfs_bio.c,v 1.188.2.1 2011/11/02 21:53:59 yamt Exp $ */ +/* $NetBSD: nfs_bio.c,v 1.188.2.2 2012/01/04 16:43:37 yamt Exp $ */ /* * Copyright (c) 1989, 1993 @@ -35,7 +35,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: nfs_bio.c,v 1.188.2.1 2011/11/02 21:53:59 yamt Exp $); +__KERNEL_RCSID(0, $NetBSD: nfs_bio.c,v 1.188.2.2 2012/01/04 16:43:37 yamt Exp $); #ifdef _KERNEL_OPT #include opt_nfs.h @@ -147,7 +147,9 @@ nfs_bioread(struct vnode *vp, struct uio nfsstats.biocache_reads++; advice = IO_ADV_DECODE(ioflag); - error = 0; + if (uio-uio_offset + uio-uio_resid = np-n_size) { + uvm_loanobj(vp-v_uobj, uio); + } while (uio-uio_resid 0) { vsize_t bytelen; Index: src/sys/ufs/ufs/ufs_readwrite.c diff -u src/sys/ufs/ufs/ufs_readwrite.c:1.99 src/sys/ufs/ufs/ufs_readwrite.c:1.99.2.1 --- src/sys/ufs/ufs/ufs_readwrite.c:1.99 Mon Jul 11 08:27:41 2011 +++ src/sys/ufs/ufs/ufs_readwrite.c Wed Jan 4 16:43:37 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: ufs_readwrite.c,v 1.99 2011/07/11 08:27:41 hannken Exp $ */ +/* $NetBSD: ufs_readwrite.c,v 1.99.2.1 2012/01/04 16:43:37 yamt Exp $ */ /*- * Copyright (c) 1993 @@ -32,7 +32,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(1, $NetBSD: ufs_readwrite.c,v 1.99 2011/07/11 08:27:41 hannken Exp $); +__KERNEL_RCSID(1, $NetBSD: ufs_readwrite.c,v 1.99.2.1 2012/01/04 16:43:37 yamt Exp $); #ifdef LFS_READWRITE #define FS struct lfs @@ -123,6 +123,9 @@ READ(void *v) if (usepc) { const int advice = IO_ADV_DECODE(ap-a_ioflag); + if (uio-uio_offset + uio-uio_resid = vp-v_size) { + uvm_loanobj(vp-v_uobj, uio); + } while (uio-uio_resid 0) { if (ioflag IO_DIRECT) { genfs_directio(vp, uio, ioflag);
CVS commit: src/sys/dev/rasops
Module Name:src Committed By: macallan Date: Wed Jan 4 17:01:52 UTC 2012 Modified Files: src/sys/dev/rasops: rasops32.c rasops8.c Log Message: use CHAR_IN_FONT() and WSFONT_GLYPH() macros To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/dev/rasops/rasops32.c cvs rdiff -u -r1.28 -r1.29 src/sys/dev/rasops/rasops8.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/rasops/rasops32.c diff -u src/sys/dev/rasops/rasops32.c:1.23 src/sys/dev/rasops/rasops32.c:1.24 --- src/sys/dev/rasops/rasops32.c:1.23 Tue Jan 3 23:15:11 2012 +++ src/sys/dev/rasops/rasops32.c Wed Jan 4 17:01:52 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rasops32.c,v 1.23 2012/01/03 23:15:11 macallan Exp $ */ +/* $NetBSD: rasops32.c,v 1.24 2012/01/04 17:01:52 macallan Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: rasops32.c,v 1.23 2012/01/03 23:15:11 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: rasops32.c,v 1.24 2012/01/04 17:01:52 macallan Exp $); #include opt_rasops.h @@ -92,9 +92,8 @@ rasops32_putchar(void *cookie, int row, #endif /* check if character fits into font limits */ - if (uc font-firstchar || - (uc - font-firstchar) = font-numchars) - return; + if (!CHAR_IN_FONT(uc, font)) + return; rp = (int32_t *)(ri-ri_bits + row*ri-ri_yscale + col*ri-ri_xscale); if (ri-ri_hwbits) @@ -123,8 +122,7 @@ rasops32_putchar(void *cookie, int row, } } } else { - uc -= font-firstchar; - fr = (u_char *)font-data + uc * ri-ri_fontscale; + fr = WSFONT_GLYPH(uc, font); fs = font-stride; while (height--) { @@ -184,9 +182,8 @@ rasops32_putchar_aa(void *cookie, int ro #endif /* check if character fits into font limits */ - if (uc font-firstchar || - (uc - font-firstchar) = font-numchars) - return; + if (!CHAR_IN_FONT(uc, font)) + return; rp = (int32_t *)(ri-ri_bits + row*ri-ri_yscale + col*ri-ri_xscale); if (ri-ri_hwbits) @@ -215,8 +212,7 @@ rasops32_putchar_aa(void *cookie, int ro } } } else { - uc -= font-firstchar; - fr = (u_char *)font-data + uc * ri-ri_fontscale; + fr = WSFONT_GLYPH(uc, font); fs = font-stride; r0 = (clr[0] 16) 0xff; Index: src/sys/dev/rasops/rasops8.c diff -u src/sys/dev/rasops/rasops8.c:1.28 src/sys/dev/rasops/rasops8.c:1.29 --- src/sys/dev/rasops/rasops8.c:1.28 Wed Dec 28 08:36:46 2011 +++ src/sys/dev/rasops/rasops8.c Wed Jan 4 17:01:52 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rasops8.c,v 1.28 2011/12/28 08:36:46 macallan Exp $ */ +/* $NetBSD: rasops8.c,v 1.29 2012/01/04 17:01:52 macallan Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: rasops8.c,v 1.28 2011/12/28 08:36:46 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: rasops8.c,v 1.29 2012/01/04 17:01:52 macallan Exp $); #include opt_rasops.h @@ -153,8 +153,7 @@ rasops8_putchar(void *cookie, int row, i } } } else { - uc -= font-firstchar; - fr = (u_char *)font-data + uc * ri-ri_fontscale; + fr = WSFONT_GLYPH(uc, font); fs = font-stride; while (height--) { @@ -285,8 +284,7 @@ rasops8_putchar8(void *cookie, int row, } } } else { - uc -= font-firstchar; - fr = (u_char *)font-data + uc * ri-ri_fontscale; + fr = WSFONT_GLYPH(uc, font); fs = font-stride; while (height--) { @@ -380,8 +378,7 @@ rasops8_putchar12(void *cookie, int row, } } } else { - uc -= font-firstchar; - fr = (u_char *)font-data + uc * ri-ri_fontscale; + fr = WSFONT_GLYPH(uc, font); fs = font-stride; while (height--) { @@ -474,8 +471,7 @@ rasops8_putchar16(void *cookie, int row, } } } else { - uc -= font-firstchar; - fr = (u_char *)font-data + uc * ri-ri_fontscale; + fr = WSFONT_GLYPH(uc, font); fs = font-stride; while (height--) {
CVS commit: src/usr.bin/cdplay
Module Name:src Committed By: drochner Date: Wed Jan 4 17:07:20 UTC 2012 Modified Files: src/usr.bin/cdplay: cdplay.c Log Message: kill unnecessary srandom() call which crept in in rev. 1.33 To generate a diff of this commit: cvs rdiff -u -r1.44 -r1.45 src/usr.bin/cdplay/cdplay.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/cdplay/cdplay.c diff -u src/usr.bin/cdplay/cdplay.c:1.44 src/usr.bin/cdplay/cdplay.c:1.45 --- src/usr.bin/cdplay/cdplay.c:1.44 Sat Nov 26 23:20:41 2011 +++ src/usr.bin/cdplay/cdplay.c Wed Jan 4 17:07:20 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cdplay.c,v 1.44 2011/11/26 23:20:41 christos Exp $ */ +/* $NetBSD: cdplay.c,v 1.45 2012/01/04 17:07:20 drochner Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Andrew Doran. @@ -40,7 +40,7 @@ #include sys/cdefs.h #ifndef lint -__RCSID($NetBSD: cdplay.c,v 1.44 2011/11/26 23:20:41 christos Exp $); +__RCSID($NetBSD: cdplay.c,v 1.45 2012/01/04 17:07:20 drochner Exp $); #endif /* not lint */ #include sys/types.h @@ -245,7 +245,6 @@ main(int argc, char **argv) } opencd(); - srandom((u_long)time(NULL)); da.afd = -1; if (argc 0) {
CVS commit: src/usr.bin/cdplay
Module Name:src Committed By: drochner Date: Wed Jan 4 17:26:21 UTC 2012 Modified Files: src/usr.bin/cdplay: cdplay.1 cdplay.c Log Message: -make digital mode work in non-interactive mode (init sighandler earlier, sleep(3) until playing finished) -also switch to digital mode if an audio device is given on the cmd line, or the (new) CDPLAY_DIGITAL env var is set (The latter can be used to make digital mode default per system. As I see it, analog mode is not dead yet - two of three external DVD drives I looked at have a speaker output.) To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/usr.bin/cdplay/cdplay.1 cvs rdiff -u -r1.45 -r1.46 src/usr.bin/cdplay/cdplay.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/cdplay/cdplay.1 diff -u src/usr.bin/cdplay/cdplay.1:1.23 src/usr.bin/cdplay/cdplay.1:1.24 --- src/usr.bin/cdplay/cdplay.1:1.23 Sat Nov 26 23:20:41 2011 +++ src/usr.bin/cdplay/cdplay.1 Wed Jan 4 17:26:21 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: cdplay.1,v 1.23 2011/11/26 23:20:41 christos Exp $ +.\ $NetBSD: cdplay.1,v 1.24 2012/01/04 17:26:21 drochner Exp $ .\ .\ Copyright (c) 1999, 2000 Andrew Doran. .\ All rights reserved. @@ -26,7 +26,7 @@ .\ .\ from FreeBSD: cdcontrol.1,v 1.16.2.2 1999/01/31 15:36:01 billf Exp .\ -.Dd November 26, 2011 +.Dd January 3, 2012 .Dt CDPLAY 1 .Os .Sh NAME @@ -57,6 +57,12 @@ and will be tried (in this order) to find the device; as a last resort, .Pa /dev/sound will be used. +If the +.Dq Fl a +command line option is used, or the +.Ev CDPLAY_DIGITAL +environment variable is present, +digital transfer mode is switched on automatically. .It Fl f Ar device Specify the control device to use. Both absolute paths and paths relative to Index: src/usr.bin/cdplay/cdplay.c diff -u src/usr.bin/cdplay/cdplay.c:1.45 src/usr.bin/cdplay/cdplay.c:1.46 --- src/usr.bin/cdplay/cdplay.c:1.45 Wed Jan 4 17:07:20 2012 +++ src/usr.bin/cdplay/cdplay.c Wed Jan 4 17:26:21 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cdplay.c,v 1.45 2012/01/04 17:07:20 drochner Exp $ */ +/* $NetBSD: cdplay.c,v 1.46 2012/01/04 17:26:21 drochner Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Andrew Doran. @@ -40,7 +40,7 @@ #include sys/cdefs.h #ifndef lint -__RCSID($NetBSD: cdplay.c,v 1.45 2012/01/04 17:07:20 drochner Exp $); +__RCSID($NetBSD: cdplay.c,v 1.46 2012/01/04 17:26:21 drochner Exp $); #endif /* not lint */ #include sys/types.h @@ -204,6 +204,7 @@ main(int argc, char **argv) const char *elline; int scratch, rv; struct sigaction sa_timer; + const char *use_digital = NULL; /* historical default */ cdname = getenv(MUSIC_CD); if (cdname == NULL) @@ -219,10 +220,14 @@ main(int argc, char **argv) if (!da.auname) da.auname = /dev/sound; + use_digital = getenv(CDPLAY_DIGITAL); + while ((c = getopt(argc, argv, a:f:h)) != -1) switch (c) { case 'a': da.auname = optarg; + if (!use_digital) +use_digital = ; continue; case 'f': cdname = optarg; @@ -247,6 +252,15 @@ main(int argc, char **argv) opencd(); da.afd = -1; + sigemptyset(sa_timer.sa_mask); + sa_timer.sa_handler = sig_timer; + sa_timer.sa_flags = SA_RESTART; + if ((rv = sigaction(SIGALRM, sa_timer, NULL)) 0) + err(EXIT_FAILURE, sigaction()); + + if (use_digital) + start_digital(use_digital); + if (argc 0) { interactive = 0; for (p = buf; argc-- 0; argv++) { @@ -277,12 +291,6 @@ main(int argc, char **argv) el_set(elptr, EL_SIGNAL, 1); el_source(elptr, NULL); - sigemptyset(sa_timer.sa_mask); - sa_timer.sa_handler = sig_timer; - sa_timer.sa_flags = SA_RESTART; - if ((rv = sigaction(SIGALRM, sa_timer, NULL)) 0) - err(EXIT_FAILURE, sigaction()); - for (;;) { line = NULL; arg = NULL; @@ -1131,7 +1139,7 @@ play_track(int tstart, int istart, int t if ((rv = ioctl(fd, CDIOCPLAYTRACKS, t)) 0) { int oerrno = errno; - if (errno == EINVAL start_digital(5) == 0) + if (errno == EINVAL start_digital() == 0) return play_track(tstart, istart, tend, iend); errno = oerrno; warn(ioctl(CDIOCPLAYTRACKS)); @@ -1159,6 +1167,9 @@ play_digital(int start, int end) da.lba_start = start; da.lba_end = --end; da.changed = da.playing = 1; + if (!interactive) + while (da.playing) + sleep(1); return (0); }
CVS commit: src/sys/dev/rasops
Module Name:src Committed By: macallan Date: Wed Jan 4 20:16:20 UTC 2012 Modified Files: src/sys/dev/rasops: rasops8.c Log Message: add support for anti-aliased fonts in r3g3b2 To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/dev/rasops/rasops8.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/rasops/rasops8.c diff -u src/sys/dev/rasops/rasops8.c:1.29 src/sys/dev/rasops/rasops8.c:1.30 --- src/sys/dev/rasops/rasops8.c:1.29 Wed Jan 4 17:01:52 2012 +++ src/sys/dev/rasops/rasops8.c Wed Jan 4 20:16:20 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rasops8.c,v 1.29 2012/01/04 17:01:52 macallan Exp $ */ +/* $NetBSD: rasops8.c,v 1.30 2012/01/04 20:16:20 macallan Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: rasops8.c,v 1.29 2012/01/04 17:01:52 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: rasops8.c,v 1.30 2012/01/04 20:16:20 macallan Exp $); #include opt_rasops.h @@ -43,6 +43,7 @@ __KERNEL_RCSID(0, $NetBSD: rasops8.c,v #include dev/rasops/rasops.h static void rasops8_putchar(void *, int, int, u_int, long attr); +static void rasops8_putchar_aa(void *, int, int, u_int, long attr); #ifndef RASOPS_SMALL static void rasops8_putchar8(void *, int, int, u_int, long attr); static void rasops8_putchar12(void *, int, int, u_int, long attr); @@ -75,21 +76,25 @@ void rasops8_init(struct rasops_info *ri) { - switch (ri-ri_font-fontwidth) { + if FONT_IS_ALPHA(ri-ri_font) { + ri-ri_ops.putchar = rasops8_putchar_aa; + } else { + switch (ri-ri_font-fontwidth) { #ifndef RASOPS_SMALL - case 8: - ri-ri_ops.putchar = rasops8_putchar8; - break; - case 12: - ri-ri_ops.putchar = rasops8_putchar12; - break; - case 16: - ri-ri_ops.putchar = rasops8_putchar16; - break; + case 8: + ri-ri_ops.putchar = rasops8_putchar8; + break; + case 12: + ri-ri_ops.putchar = rasops8_putchar12; + break; + case 16: + ri-ri_ops.putchar = rasops8_putchar16; + break; #endif /* !RASOPS_SMALL */ - default: - ri-ri_ops.putchar = rasops8_putchar; - break; + default: + ri-ri_ops.putchar = rasops8_putchar; + break; + } } if (ri-ri_flg RI_8BIT_IS_RGB) { ri-ri_rnum = 3; @@ -191,6 +196,115 @@ rasops8_putchar(void *cookie, int row, i } } +static void +rasops8_putchar_aa(void *cookie, int row, int col, u_int uc, long attr) +{ + int width, height, cnt, fs; + u_char *dp, *rp, *hp, *hrp, *fr, bg, fg, pixel; + struct rasops_info *ri = (struct rasops_info *)cookie; + struct wsdisplay_font *font = PICK_FONT(ri, uc); + int x, y, r, g, b, aval; + int r1, g1, b1, r0, g0, b0, fgo, bgo; + + hp = hrp = NULL; + + if (!CHAR_IN_FONT(uc, font)) + return; + +#ifdef RASOPS_CLIPPING + /* Catches 'row 0' case too */ + if ((unsigned)row = (unsigned)ri-ri_rows) + return; + + if ((unsigned)col = (unsigned)ri-ri_cols) + return; +#endif + rp = ri-ri_bits + row * ri-ri_yscale + col * ri-ri_xscale; + if (ri-ri_hwbits) + hrp = ri-ri_hwbits + row * ri-ri_yscale + col * + ri-ri_xscale; + + height = font-fontheight; + width = font-fontwidth; + bg = (u_char)ri-ri_devcmap[(attr 16) 0xf]; + fg = (u_char)ri-ri_devcmap[(attr 24) 0xf]; + + if (uc == ' ') { + + while (height--) { + dp = rp; + rp += ri-ri_stride; + if (ri-ri_hwbits) { +hp = hrp; +hrp += ri-ri_stride; + } + + for (cnt = width; cnt; cnt--) { +*dp++ = bg; +if (ri-ri_hwbits) + *hp++ = bg; + } + } + } else { + fr = WSFONT_GLYPH(uc, font); + fs = font-stride; + /* + * we need the RGB colours here, get offsets into rasops_cmap + */ + fgo = ((attr 24) 0xf) * 3; + bgo = ((attr 16) 0xf) * 3; + + r0 = rasops_cmap[bgo]; + r1 = rasops_cmap[fgo]; + g0 = rasops_cmap[bgo + 1]; + g1 = rasops_cmap[fgo + 1]; + b0 = rasops_cmap[bgo + 2]; + b1 = rasops_cmap[fgo + 2]; + + for (y = 0; y height; y++) { + dp = rp; + for (x = 0; x width; x++) { +aval = *fr; +fr++; +if (aval == 0) { + pixel = bg; +} else if (aval == 255) { + pixel = fg; +} else { + r = aval * r1 + (255 - aval) * r0; + g = aval * g1 + (255 - aval) * g0; + b = aval * b1 + (255 - aval) * b0; + pixel = ((r 0xe000) 8) | + ((g 0xe000) 11) | + ((b 0xc000) 14); +} +*dp = pixel; +dp++; + } + if (ri-ri_hwbits) { +memcpy(rp, hrp, width); +hrp += ri-ri_stride; + } + rp += ri-ri_stride; + + } + } + + /* Do underline */ + if ((attr 1) != 0) { + + rp -= (ri-ri_stride 1); + if (ri-ri_hwbits) + hrp -= (ri-ri_stride 1); + + while (width--) { + *rp++ = fg; + if (ri-ri_hwbits) +*hrp++ = fg; + } + } +} + #ifndef RASOPS_SMALL /* * Recompute the 4x1 blitting stamp.
CVS commit: src/sys/dev/rasops
Module Name:src Committed By: macallan Date: Wed Jan 4 20:17:06 UTC 2012 Modified Files: src/sys/dev/rasops: rasops.c Log Message: rasops8 expects the colour value replicated in every byte in devcmap[], so fix that for r3g3b2 To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 src/sys/dev/rasops/rasops.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/rasops/rasops.c diff -u src/sys/dev/rasops/rasops.c:1.68 src/sys/dev/rasops/rasops.c:1.69 --- src/sys/dev/rasops/rasops.c:1.68 Wed Dec 28 08:36:46 2011 +++ src/sys/dev/rasops/rasops.c Wed Jan 4 20:17:05 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rasops.c,v 1.68 2011/12/28 08:36:46 macallan Exp $ */ +/* $NetBSD: rasops.c,v 1.69 2012/01/04 20:17:05 macallan Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: rasops.c,v 1.68 2011/12/28 08:36:46 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: rasops.c,v 1.69 2012/01/04 20:17:05 macallan Exp $); #include opt_rasops.h #include rasops_glue.h @@ -841,7 +841,10 @@ rasops_init_devcmap(struct rasops_info * /* Fill the word for generic routines, which want this */ if (ri-ri_depth == 24) c = c | ((c 0xff) 24); - else if (ri-ri_depth = 16) + else if (ri-ri_depth == 8) { + c = c | (c 8); + c |= c 16; + } else if (ri-ri_depth = 16) c = c | (c 16); /* 24bpp does bswap on the fly. {32,16,15}bpp do it here. */
CVS commit: src/sys/dev/wsfb
Module Name:src Committed By: macallan Date: Wed Jan 4 20:18:29 UTC 2012 Modified Files: src/sys/dev/wsfb: genfb.c Log Message: support anti-aliased fonts in 8 bit, generate an appropriate colour map To generate a diff of this commit: cvs rdiff -u -r1.44 -r1.45 src/sys/dev/wsfb/genfb.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/wsfb/genfb.c diff -u src/sys/dev/wsfb/genfb.c:1.44 src/sys/dev/wsfb/genfb.c:1.45 --- src/sys/dev/wsfb/genfb.c:1.44 Wed Dec 28 18:37:58 2011 +++ src/sys/dev/wsfb/genfb.c Wed Jan 4 20:18:28 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: genfb.c,v 1.44 2011/12/28 18:37:58 macallan Exp $ */ +/* $NetBSD: genfb.c,v 1.45 2012/01/04 20:18:28 macallan Exp $ */ /*- * Copyright (c) 2007 Michael Lorenz @@ -27,7 +27,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: genfb.c,v 1.44 2011/12/28 18:37:58 macallan Exp $); +__KERNEL_RCSID(0, $NetBSD: genfb.c,v 1.45 2012/01/04 20:18:28 macallan Exp $); #include sys/param.h #include sys/systm.h @@ -74,6 +74,7 @@ static int genfb_putcmap(struct genfb_so static int genfb_getcmap(struct genfb_softc *, struct wsdisplay_cmap *); static int genfb_putpalreg(struct genfb_softc *, uint8_t, uint8_t, uint8_t, uint8_t); +static void genfb_init_palette(struct genfb_softc *); static void genfb_brightness_up(device_t); static void genfb_brightness_down(device_t); @@ -196,9 +197,9 @@ genfb_attach(struct genfb_softc *sc, str struct rasops_info *ri; uint16_t crow; long defattr; - int i, j; bool console; #ifdef SPLASHSCREEN + int i, j; int error = ENXIO; #endif @@ -280,14 +281,9 @@ genfb_attach(struct genfb_softc *sc, str if (sc-sc_want_clear) (*ri-ri_ops.eraserows)(ri, 0, ri-ri_rows, defattr); +#ifdef SPLASHSCREEN j = 0; for (i = 0; i min(1 sc-sc_depth, 256); i++) { -#ifndef SPLASHSCREEN - sc-sc_cmap_red[i] = rasops_cmap[j]; - sc-sc_cmap_green[i] = rasops_cmap[j + 1]; - sc-sc_cmap_blue[i] = rasops_cmap[j + 2]; - j += 3; -#else if (i = SPLASH_CMAP_OFFSET i SPLASH_CMAP_OFFSET + SPLASH_CMAP_SIZE) { splash_get_cmap(i, @@ -300,11 +296,9 @@ genfb_attach(struct genfb_softc *sc, str sc-sc_cmap_blue[i] = rasops_cmap[j + 2]; } j += 3; -#endif } genfb_restore_palette(sc); -#ifdef SPLASHSCREEN sc-sc_splash.si_depth = sc-sc_depth; sc-sc_splash.si_bits = sc-sc_console_screen.scr_ri.ri_bits; sc-sc_splash.si_hwbits = sc-sc_fbaddr; @@ -317,10 +311,12 @@ genfb_attach(struct genfb_softc *sc, str SPLASH_F_CENTER|SPLASH_F_FILL); if (error) { SCREEN_ENABLE_DRAWING(sc-sc_console_screen); + genfb_init_palette(sc); vcons_replay_msgbuf(sc-sc_console_screen); } } #else + genfb_init_palette(sc); vcons_replay_msgbuf(sc-sc_console_screen); #endif @@ -406,6 +402,7 @@ genfb_ioctl(void *v, void *vs, u_long cm SPLASH_F_CENTER|SPLASH_F_FILL); } else { SCREEN_ENABLE_DRAWING(sc-sc_console_screen); +genfb_init_palette(sc); } vcons_redraw_screen(ms); return 0; @@ -513,6 +510,10 @@ genfb_init_screen(void *cookie, struct v if (ri-ri_depth == 32) ri-ri_flg |= RI_ENABLE_ALPHA; + if (ri-ri_depth == 8) + ri-ri_flg |= RI_ENABLE_ALPHA | RI_8BIT_IS_RGB; + + rasops_init(ri, sc-sc_height / 8, sc-sc_width / 8); ri-ri_caps = WSSCREEN_WSCOLORS; @@ -605,6 +606,47 @@ genfb_restore_palette(struct genfb_softc } } +static void +genfb_init_palette(struct genfb_softc *sc) +{ + int i, j, tmp; + + if (sc-sc_depth == 8) { + /* generate an r3g3b2 colour map */ + for (i = 0; i 256; i++) { + tmp = i 0xe0; + /* + * replicate bits so 0xe0 maps to a red value of 0xff + * in order to make white look actually white + */ + tmp |= (tmp 3) | (tmp 6); + sc-sc_cmap_red[i] = tmp; + + tmp = (i 0x1c) 3; + tmp |= (tmp 3) | (tmp 6); + sc-sc_cmap_green[i] = tmp; + + tmp = (i 0x03) 6; + tmp |= tmp 2; + tmp |= tmp 4; + sc-sc_cmap_blue[i] = tmp; + + genfb_putpalreg(sc, i, sc-sc_cmap_red[i], + sc-sc_cmap_green[i], + sc-sc_cmap_blue[i]); + } + } else { + /* steal rasops' ANSI cmap */ + j = 0; + for (i = 0; i 256; i++) { + sc-sc_cmap_red[i] = rasops_cmap[j]; + sc-sc_cmap_green[i] = rasops_cmap[j + 1]; + sc-sc_cmap_blue[i] = rasops_cmap[j + 2]; + j += 3; + } + } +} + static int genfb_putpalreg(struct genfb_softc *sc, uint8_t idx, uint8_t r, uint8_t g, uint8_t b)
CVS commit: src/distrib/notes/common
Module Name:src Committed By: ast Date: Thu Jan 5 05:48:28 UTC 2012 Modified Files: src/distrib/notes/common: main Log Message: Add ast@ to the list of NetBSD developers. To generate a diff of this commit: cvs rdiff -u -r1.482 -r1.483 src/distrib/notes/common/main 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/common/main diff -u src/distrib/notes/common/main:1.482 src/distrib/notes/common/main:1.483 --- src/distrib/notes/common/main:1.482 Tue Nov 1 02:04:43 2011 +++ src/distrib/notes/common/main Thu Jan 5 05:48:27 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: main,v 1.482 2011/11/01 02:04:43 tcort Exp $ +.\ $NetBSD: main,v 1.483 2012/01/05 05:48:27 ast Exp $ .\ .\ Copyright (c) 1999-2008 The NetBSD Foundation, Inc. .\ All rights reserved. @@ -1340,6 +1340,7 @@ If you're one of them, and would like to .It Ta T K Spindler Ta Mt dog...@netbsd.org .It Ta Matthew Sporleder Ta Mt m...@netbsd.org .It Ta Bill Squier Ta Mt g...@netbsd.org +.It Ta Adrian Steinmann Ta Mt a...@netbsd.org .It Ta Bill Studenmund Ta Mt wrstu...@netbsd.org .It Ta Kevin Sullivan Ta Mt sulli...@netbsd.org .It Ta Kimmo Suominen Ta Mt k...@netbsd.org