svn commit: r286667 - in head/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86
Author: marcel Date: Wed Aug 12 15:26:32 2015 New Revision: 286667 URL: https://svnweb.freebsd.org/changeset/base/286667 Log: Better support memory mapped console devices, such as VGA and EFI frame buffers and memory mapped UARTs. 1. Delay calling cninit() until after pmap_bootstrap(). This makes sure we have PMAP initialized enough to add translations. Keep kdb_init() after cninit() so that we have console when we need to break into the debugger on boot. 2. Unfortunately, the ATPIC code had be moved as well so as to avoid a spurious trap #30. The reason for which is not known at this time. 3. In pmap_mapdev_attr(), when we need to map a device prior to the VM system being initialized, use virtual_avail as the KVA to map the device at. In particular, avoid using the direct map on amd64 because we can't demote by virtue of not being able to allocate yet. Keep track of the translation. Re-use the translation after the VM has been initialized to not waste KVA and to satisfy the assumption in uart(4) that the handle returned for the low-level console is the same as later returned when the device is probed and attached. 4. In pmap_unmapdev() remove the mapping from the table when called pre-init. Otherwise keep the mapping. During bus probe and attach device resources are mapped and unmapped multiple times, which would have us destroy the mapping used by the low-level console. 5. In pmap_init(), set pmap_initialized to signal that we're not pre-init anymore. On amd64, bring the direct map in sync with the translations created at that time. 6. Implement bus_space_map() and bus_space_unmap() for real: when the tag corresponds to memory space, call the corresponding pmap_mapdev() and pmap_unmapdev() functions to construct and actual handle. 7. In efifb.c and vt_vga.c, remove the crutches and hacks and simply call pmap_mapdev_attr() or bus_space_map() as desired. Notes: 1. uart(4) already used bus_space_map() during low-level console setup but since serial ports have traditionally been I/O port based, the lack of a proper implementation for said function was not a problem. It has always supported memory mapped UARTs for low-level consoles by setting hw.uart.console accordingly. 2. The use of the direct map on amd64 without setting caching attributes has been a bigger problem than previously thought. This change has the fortunate (and unexpected) side-effect of fixing various EFI frame buffer problems (though not all). PR: 191564, 194952 Special thanks to: 1. XipLink, Inc -- generously donated an Intel Bay Trail E3800 based eval board (ADLE3800PC). 2. The FreeBSD Foundation, in particular emaste@ -- for UEFI support in general and testing. 3. Everyone who tested the proposed for PR 191564. 4. jhb@ and kib@ for being a soundboard and applying a clue bat if so needed. Added: head/sys/x86/x86/bus_machdep.c (contents, props changed) Modified: head/sys/amd64/amd64/machdep.c head/sys/amd64/amd64/pmap.c head/sys/conf/files.amd64 head/sys/conf/files.i386 head/sys/dev/vt/hw/efifb/efifb.c head/sys/dev/vt/hw/vga/vt_vga.c head/sys/i386/i386/machdep.c head/sys/i386/i386/pmap.c head/sys/x86/include/bus.h Modified: head/sys/amd64/amd64/machdep.c == --- head/sys/amd64/amd64/machdep.c Wed Aug 12 14:17:41 2015 (r28) +++ head/sys/amd64/amd64/machdep.c Wed Aug 12 15:26:32 2015 (r286667) @@ -1625,38 +1625,6 @@ hammer_time(u_int64_t modulep, u_int64_t MODINFO_METADATA | MODINFOMD_EFI_MAP) != NULL) vty_set_preferred(VTY_VT); - /* -* Initialize the console before we print anything out. -*/ - cninit(); - -#ifdef DEV_ISA -#ifdef DEV_ATPIC - elcr_probe(); - atpic_startup(); -#else - /* Reset and mask the atpics and leave them shut down. */ - atpic_reset(); - - /* -* Point the ICU spurious interrupt vectors at the APIC spurious -* interrupt handler. -*/ - setidt(IDT_IO_INTS + 7, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0); - setidt(IDT_IO_INTS + 15, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0); -#endif -#else -#error have you forgotten the isa device?; -#endif - - kdb_init(); - -#ifdef KDB - if (boothowto RB_KDB) - kdb_enter(KDB_WHY_BOOTFLAGS, - Boot flags requested debugger); -#endif - identify_cpu(); /* Final stage of CPU initialization */ initializecpu();/* Initialize CPU registers */ initializecpucache(); @@ -1693,6 +1661,35 @@ hammer_time(u_int64_t modulep, u_int64_t /* now running on new page tables, configured,and u/iom is accessible */ +
svn commit: r286668 - head/sys/dev/uart
Author: marcel Date: Wed Aug 12 15:48:14 2015 New Revision: 286668 URL: https://svnweb.freebsd.org/changeset/base/286668 Log: Add support for the Broadcom TruManage integrated serial port. PR: 191266 Modified: head/sys/dev/uart/uart_bus_pci.c Modified: head/sys/dev/uart/uart_bus_pci.c == --- head/sys/dev/uart/uart_bus_pci.cWed Aug 12 15:26:32 2015 (r286667) +++ head/sys/dev/uart/uart_bus_pci.cWed Aug 12 15:48:14 2015 (r286668) @@ -115,6 +115,8 @@ static const struct pci_id pci_ns8250_id 0x10, 16384000 }, { 0x1415, 0xc120, 0x, 0, Oxford Semiconductor OXPCIe952 PCIe 16950 UART, 0x10 }, +{ 0x14e4, 0x160a, 0x, 0, Broadcom TruManage UART, 0x10, + 128 * DEFAULT_RCLK, 2}, { 0x14e4, 0x4344, 0x, 0, Sony Ericsson GC89 PC Card, 0x10}, { 0x151f, 0x, 0x, 0, TOPIC Semiconductor TP560 56k modem, 0x10 }, { 0x1fd4, 0x1999, 0x1fd4, 0x0001, Sunix SER5 Serial Port, 0x10, ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286705 - in head: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris/lib/libzfs/common cddl/contrib/opensolar...
Author: mav Date: Wed Aug 12 22:41:06 2015 New Revision: 286705 URL: https://svnweb.freebsd.org/changeset/base/286705 Log: MFV r286704: 5960 zfs recv should prefetch indirect blocks 5925 zfs receive -o origin= Reviewed by: Prakash Surya prakash.su...@delphix.com Reviewed by: Matthew Ahrens mahr...@delphix.com Author: Paul Dagnelie p...@delphix.com While running 'zfs recv' we noticed that every 128th 8K block required a read. We were seeing that restore_write() was calling dmu_tx_hold_write() and the indirect block was not cached. We should prefetch upcoming indirect blocks to avoid having to go to disk and blocking the restore_write(). Allow an incremental send stream to be received as a clone, even if the stream does not mark it as a clone. Added: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bqueue.c (contents, props changed) head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bqueue.h (contents, props changed) head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_priority.h (contents, props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c head/cddl/contrib/opensolaris/cmd/ztest/ztest.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c head/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c == --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Wed Aug 12 22:36:02 2015 (r286704) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Wed Aug 12 22:41:06 2015 (r286705) @@ -2428,6 +2428,9 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog dmu_object_type_t type; boolean_t is_metadata; + if (bp == NULL) + return (0); + if (dump_opt['b'] = 5 bp-blk_birth 0) { char blkbuf[BP_SPRINTF_LEN]; snprintf_blkptr(blkbuf, sizeof (blkbuf), bp); @@ -2917,7 +2920,7 @@ zdb_ddt_add_cb(spa_t *spa, zilog_t *zilo avl_index_t where; zdb_ddt_entry_t *zdde, zdde_search; - if (BP_IS_HOLE(bp) || BP_IS_EMBEDDED(bp)) + if (bp == NULL || BP_IS_HOLE(bp) || BP_IS_EMBEDDED(bp)) return (0); if (dump_opt['S'] 1 zb-zb_level == ZB_ROOT_LEVEL) { Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 == --- head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Wed Aug 12 22:36:02 2015 (r286704) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Wed Aug 12 22:41:06 2015 (r286705) @@ -191,11 +191,13 @@ .Nm .Cm receive Ns | Ns Cm recv
svn commit: r286708 - in head: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zhack cddl/contrib/opensolaris/cmd/zpool sys/cddl/contrib/opensolaris/common/zfs sys/cddl/contrib/openso...
Author: mav Date: Wed Aug 12 23:59:17 2015 New Revision: 286708 URL: https://svnweb.freebsd.org/changeset/base/286708 Log: MFV 286707: 5959 clean up per-dataset feature count code Reviewed by: Toomas Soome tso...@me.com Reviewed by: George Wilson geo...@delphix.com Reviewed by: Alex Reece a...@delphix.com Approved by: Richard Lowe richl...@richlowe.net Author: Matthew Ahrens mahr...@delphix.com illumos/illumos-gate@ca0cc3918a1789fa839194af2a9245f801a06b1a A ZFS feature flags (large blocks) tracks its refcounts as the number of datasets that have ever used the feature. Several features of this type are planned to be added (new checksum functions). This code should be made common infrastructure rather than duplicating the code for each feature. Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c head/cddl/contrib/opensolaris/cmd/zhack/zhack.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c == --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Wed Aug 12 23:38:58 2015 (r286707) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Wed Aug 12 23:59:17 2015 (r286708) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. */ #include stdio.h @@ -2221,7 +2221,7 @@ dump_label(const char *dev) (void) close(fd); } -static uint64_t num_large_blocks; +static uint64_t dataset_feature_count[SPA_FEATURES]; /*ARGSUSED*/ static int @@ -2235,8 +2235,15 @@ dump_one_dir(const char *dsname, void *a (void) printf(Could not open %s, error %d\n, dsname, error); return (0); } - if (dmu_objset_ds(os)-ds_large_blocks) - num_large_blocks++; + + for (spa_feature_t f = 0; f SPA_FEATURES; f++) { + if (!dmu_objset_ds(os)-ds_feature_inuse[f]) + continue; + ASSERT(spa_feature_table[f].fi_flags + ZFEATURE_FLAG_PER_DATASET); + dataset_feature_count[f]++; + } + dump_dir(os); dmu_objset_disown(os, FTAG); fuid_table_destroy(); @@ -3035,7 +3042,6 @@ dump_zpool(spa_t *spa) dump_metaslab_groups(spa); if (dump_opt['d'] || dump_opt['i']) { - uint64_t refcount; dump_dir(dp-dp_meta_objset); if (dump_opt['d'] = 3) { dump_full_bpobj(spa-spa_deferred_bpobj, @@ -3057,17 +3063,29 @@ dump_zpool(spa_t *spa) (void) dmu_objset_find(spa_name(spa), dump_one_dir, NULL, DS_FIND_SNAPSHOTS | DS_FIND_CHILDREN); - (void) feature_get_refcount(spa, - spa_feature_table[SPA_FEATURE_LARGE_BLOCKS], refcount); - if (num_large_blocks != refcount) { - (void) printf(large_blocks feature refcount mismatch: - expected %lld != actual %lld\n, - (longlong_t)num_large_blocks, - (longlong_t)refcount); - rc = 2; - } else { - (void) printf(Verified large_blocks feature refcount - is correct (%llu)\n, (longlong_t)refcount); + for (spa_feature_t f = 0; f SPA_FEATURES; f++) { + uint64_t refcount; + + if (!(spa_feature_table[f].fi_flags + ZFEATURE_FLAG_PER_DATASET)) { + ASSERT0(dataset_feature_count[f]); + continue; + } + (void) feature_get_refcount(spa, + spa_feature_table[f], refcount); + if (dataset_feature_count[f] != refcount) { + (void) printf(%s feature refcount mismatch: + %lld datasets != %lld refcount\n, + spa_feature_table[f].fi_uname, +
Re: svn commit: r286667 - in head/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86
2015-08-12 22:02 GMT+02:00 Marcel Moolenaar mar...@xcllnt.net: Maybe upgrading to 4.3.30 resolves the issue? I just upgraded to 4.3.30 and 5.0.0. Both fail the same way. I've just attached a screenshot. Will open a bug. -- Ed Schouten e...@nuxi.nl Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717 ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286700 - in head: sbin/ifconfig sys/net
Author: hiren Date: Wed Aug 12 20:21:04 2015 New Revision: 286700 URL: https://svnweb.freebsd.org/changeset/base/286700 Log: Make LAG LACP fast timeout tunable through IOCTL. Differential Revision:D3300 Submitted by: LN Sundararajan lakshmi.n at msystechnologies Reviewed by: wblock, smh, gnn, hiren, rpokala at panasas MFC after:2 weeks Sponsored by: Panasas Modified: head/sbin/ifconfig/ifconfig.8 head/sbin/ifconfig/iflagg.c head/sys/net/ieee8023ad_lacp.c head/sys/net/ieee8023ad_lacp.h head/sys/net/if_lagg.c head/sys/net/if_lagg.h Modified: head/sbin/ifconfig/ifconfig.8 == --- head/sbin/ifconfig/ifconfig.8 Wed Aug 12 20:16:13 2015 (r286699) +++ head/sbin/ifconfig/ifconfig.8 Wed Aug 12 20:21:04 2015 (r286700) @@ -28,7 +28,7 @@ .\ From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 .\ $FreeBSD$ .\ -.Dd May 15, 2015 +.Dd Aug 12, 2015 .Dt IFCONFIG 8 .Os .Sh NAME @@ -2396,6 +2396,10 @@ Disable local hash computation for RSS h Set a shift parameter for RSS local hash computation. Hash is calculated by using flowid bits in a packet header mbuf which are shifted by the number of this parameter. +.It Cm lacp_fast_timeout +Enable lacp fast-timeout on the interface. +.It Cm -lacp_fast_timeout +Disable lacp fast-timeout on the interface. .El .Pp The following parameters are specific to IP tunnel interfaces, Modified: head/sbin/ifconfig/iflagg.c == --- head/sbin/ifconfig/iflagg.c Wed Aug 12 20:16:13 2015(r286699) +++ head/sbin/ifconfig/iflagg.c Wed Aug 12 20:21:04 2015(r286700) @@ -115,6 +115,8 @@ setlaggsetopt(const char *val, int d, in case -LAGG_OPT_LACP_TXTEST: case LAGG_OPT_LACP_RXTEST: case -LAGG_OPT_LACP_RXTEST: + case LAGG_OPT_LACP_TIMEOUT: + case -LAGG_OPT_LACP_TIMEOUT: break; default: err(1, Invalid lagg option); @@ -293,6 +295,8 @@ static struct cmd lagg_cmds[] = { DEF_CMD(-lacp_txtest, -LAGG_OPT_LACP_TXTEST, setlaggsetopt), DEF_CMD(lacp_rxtest, LAGG_OPT_LACP_RXTEST, setlaggsetopt), DEF_CMD(-lacp_rxtest, -LAGG_OPT_LACP_RXTEST, setlaggsetopt), + DEF_CMD(lacp_fast_timeout,LAGG_OPT_LACP_TIMEOUT, setlaggsetopt), + DEF_CMD(-lacp_fast_timeout, -LAGG_OPT_LACP_TIMEOUT, setlaggsetopt), DEF_CMD_ARG(flowid_shift, setlaggflowidshift), }; static struct afswtch af_lagg = { Modified: head/sys/net/ieee8023ad_lacp.c == --- head/sys/net/ieee8023ad_lacp.c Wed Aug 12 20:16:13 2015 (r286699) +++ head/sys/net/ieee8023ad_lacp.c Wed Aug 12 20:21:04 2015 (r286700) @@ -522,7 +522,7 @@ lacp_port_create(struct lagg_port *lgp) int error; boolean_t active = TRUE; /* XXX should be configurable */ - boolean_t fast = FALSE; /* XXX should be configurable */ + boolean_t fast = FALSE; /* Configurable via ioctl */ link_init_sdl(ifp, (struct sockaddr *)sdl, IFT_ETHER); sdl.sdl_alen = ETHER_ADDR_LEN; Modified: head/sys/net/ieee8023ad_lacp.h == --- head/sys/net/ieee8023ad_lacp.h Wed Aug 12 20:16:13 2015 (r286699) +++ head/sys/net/ieee8023ad_lacp.h Wed Aug 12 20:21:04 2015 (r286700) @@ -251,6 +251,7 @@ struct lacp_softc { u_int32_t lsc_tx_test; } lsc_debug; u_int32_t lsc_strict_mode; + boolean_t lsc_fast_timeout; /* if set, fast timeout */ }; #defineLACP_TYPE_ACTORINFO 1 Modified: head/sys/net/if_lagg.c == --- head/sys/net/if_lagg.c Wed Aug 12 20:16:13 2015(r286699) +++ head/sys/net/if_lagg.c Wed Aug 12 20:21:04 2015(r286700) @@ -1257,6 +1257,8 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd ro-ro_opts |= LAGG_OPT_LACP_RXTEST; if (lsc-lsc_strict_mode != 0) ro-ro_opts |= LAGG_OPT_LACP_STRICT; + if (lsc-lsc_fast_timeout != 0) + ro-ro_opts |= LAGG_OPT_LACP_TIMEOUT; ro-ro_active = sc-sc_active; } else { @@ -1292,6 +1294,8 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd case -LAGG_OPT_LACP_RXTEST: case LAGG_OPT_LACP_STRICT: case -LAGG_OPT_LACP_STRICT: + case LAGG_OPT_LACP_TIMEOUT: + case -LAGG_OPT_LACP_TIMEOUT: valid = lacp = 1; break; default: @@ -1320,6 +1324,7 @@ lagg_ioctl(struct ifnet *ifp,
Re: svn commit: r286667 - in head/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86
On Aug 12, 2015, at 1:17 PM, Ed Schouten e...@nuxi.nl wrote: 2015-08-12 22:02 GMT+02:00 Marcel Moolenaar mar...@xcllnt.net: Maybe upgrading to 4.3.30 resolves the issue? I just upgraded to 4.3.30 and 5.0.0. Both fail the same way. I've just attached a screenshot. Will open a bug. Thanks! -- Marcel Moolenaar mar...@xcllnt.net signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r286712 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: mav Date: Thu Aug 13 00:13:55 2015 New Revision: 286712 URL: https://svnweb.freebsd.org/changeset/base/286712 Log: MFV 286711: 6096 ZFS_SMB_ACL_RENAME needs to cleanup better Reviewed by: Matthew Ahrens mahr...@delphix.com Reviewed by: Gordon Ross gordon.w.r...@gmail.com Reviewed by: George Wilson gwil...@zfsmail.com Approved by: Robert Mustacchi r...@joyent.com illumos/illumos-gate@8f5190a540d64d2debee6664bbc740e4c38f5b7f Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Thu Aug 13 00:12:52 2015(r286711) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Thu Aug 13 00:13:55 2015(r286712) @@ -5190,6 +5190,7 @@ zfs_ioc_smb_acl(zfs_cmd_t *zc) if ((error = get_nvlist(zc-zc_nvlist_src, zc-zc_nvlist_src_size, zc-zc_iflags, nvlist)) != 0) { VN_RELE(vp); + VN_RELE(ZTOV(sharedir)); ZFS_EXIT(zfsvfs); return (error); } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286699 - head/contrib/gcclibs/libcpp
Author: dim Date: Wed Aug 12 20:16:13 2015 New Revision: 286699 URL: https://svnweb.freebsd.org/changeset/base/286699 Log: In gcc's libcpp, stop using the INTTYPE_MAXIMUM() macro, which relies on undefined behavior. The code used this macro to avoid problems on some broken systems which define SSIZE_MAX incorrectly, but this is not needed on FreeBSD, obviously. MFC after: 3 days Modified: head/contrib/gcclibs/libcpp/files.c Modified: head/contrib/gcclibs/libcpp/files.c == --- head/contrib/gcclibs/libcpp/files.c Wed Aug 12 20:08:54 2015 (r286698) +++ head/contrib/gcclibs/libcpp/files.c Wed Aug 12 20:16:13 2015 (r286699) @@ -567,7 +567,7 @@ read_file_guts (cpp_reader *pfile, _cpp_ SSIZE_MAX to be much smaller than the actual range of the type. Use INTTYPE_MAXIMUM unconditionally to ensure this does not bite us. */ - if (file-st.st_size INTTYPE_MAXIMUM (ssize_t)) + if (file-st.st_size SSIZE_MAX) { cpp_error (pfile, CPP_DL_ERROR, %s is too large, file-path); return false; @@ -581,7 +581,7 @@ read_file_guts (cpp_reader *pfile, _cpp_ file-path); return false; } - else if (offset INTTYPE_MAXIMUM (ssize_t) || (ssize_t)offset size) + else if (offset SSIZE_MAX || (ssize_t)offset size) { cpp_error (pfile, CPP_DL_ERROR, current position of %s is too large, file-path); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286703 - head/sys/ofed/drivers/infiniband/core
Author: np Date: Wed Aug 12 22:09:58 2015 New Revision: 286703 URL: https://svnweb.freebsd.org/changeset/base/286703 Log: Reinstate unify_tcp_port_space and associated code that was lost during the last OFED update (r278886). iWARP on FreeBSD is properly integrated with the network stack and the iWARP drivers _never_ operate out of any private TCP port-space that is invisible to the kernel. Instead, an iWARP connection shows up as a TCP socket (which is what it is) fully visible to the kernel and standard tools like netstat, sockstat, etc. Modified: head/sys/ofed/drivers/infiniband/core/cma.c Modified: head/sys/ofed/drivers/infiniband/core/cma.c == --- head/sys/ofed/drivers/infiniband/core/cma.c Wed Aug 12 21:07:57 2015 (r286702) +++ head/sys/ofed/drivers/infiniband/core/cma.c Wed Aug 12 22:09:58 2015 (r286703) @@ -72,6 +72,11 @@ static int def_prec2sl = 3; module_param_named(def_prec2sl, def_prec2sl, int, 0644); MODULE_PARM_DESC(def_prec2sl, Default value for SL priority with RoCE. Valid values 0 - 7); +static int unify_tcp_port_space = 1; +module_param(unify_tcp_port_space, int, 0644); +MODULE_PARM_DESC(unify_tcp_port_space, Unify the host TCP and RDMA port +space allocation (default=1)); + static int debug_level = 0; #define cma_pr(level, priv, format, arg...)\ printk(level CMA: %p: %s: format, ((struct rdma_id_priv *) priv) , __func__, ## arg) @@ -957,6 +962,8 @@ static void cma_release_port(struct rdma kfree(bind_list); } mutex_unlock(lock); + if (id_priv-sock) + sock_release(id_priv-sock); } static void cma_leave_mc_groups(struct rdma_id_private *id_priv) @@ -2449,6 +2456,42 @@ static int cma_bind_listen(struct rdma_i return ret; } +static int cma_get_tcp_port(struct rdma_id_private *id_priv) +{ + int ret; + int size; + struct socket *sock; + + ret = sock_create_kern(AF_INET, SOCK_STREAM, IPPROTO_TCP, sock); + if (ret) + return ret; +#ifdef __linux__ + ret = sock-ops-bind(sock, + (struct sockaddr *) id_priv-id.route.addr.src_addr, + ip_addr_size((struct sockaddr *) id_priv-id.route.addr.src_addr)); +#else + ret = -sobind(sock, + (struct sockaddr *)id_priv-id.route.addr.src_addr, + curthread); +#endif + if (ret) { + sock_release(sock); + return ret; + } + + size = ip_addr_size((struct sockaddr *) id_priv-id.route.addr.src_addr); + ret = sock_getname(sock, + (struct sockaddr *) id_priv-id.route.addr.src_addr, + size, 0); + if (ret) { + sock_release(sock); + return ret; + } + + id_priv-sock = sock; + return 0; +} + static int cma_get_port(struct rdma_id_private *id_priv) { struct idr *ps; @@ -2460,6 +2503,11 @@ static int cma_get_port(struct rdma_id_p break; case RDMA_PS_TCP: ps = tcp_ps; + if (unify_tcp_port_space) { + ret = cma_get_tcp_port(id_priv); + if (ret) + goto out; + } break; case RDMA_PS_UDP: ps = udp_ps; @@ -2480,7 +2528,7 @@ static int cma_get_port(struct rdma_id_p else ret = cma_use_port(ps, id_priv); mutex_unlock(lock); - +out: return ret; } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286710 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: mav Date: Thu Aug 13 00:10:36 2015 New Revision: 286710 URL: https://svnweb.freebsd.org/changeset/base/286710 Log: MFV 286709: 6093 zfsctl_shares_lookup should only VN_RELE() on zfs_zget() success Reviewed by: Gordon Ross g...@nexenta.com Reviewed by: Matthew Ahrens mahr...@delphix.com Reviewed by: George Wilson george.wil...@delphix.com Approved by: Robert Mustacchi r...@joyent.com Author: Dan McDonald dan...@omniti.com illumos/illumos-gate@0f92170f1ec2737ee5a0e51b5f74093904811452 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.cThu Aug 13 00:07:23 2015(r286709) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.cThu Aug 13 00:10:36 2015(r286710) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved. */ /* @@ -1149,10 +1150,11 @@ zfsctl_shares_lookup(ap) ZFS_EXIT(zfsvfs); return (SET_ERROR(ENOTSUP)); } - if ((error = zfs_zget(zfsvfs, zfsvfs-z_shares_dir, dzp)) == 0) + if ((error = zfs_zget(zfsvfs, zfsvfs-z_shares_dir, dzp)) == 0) { error = VOP_LOOKUP(ZTOV(dzp), vpp, cnp); + VN_RELE(ZTOV(dzp)); + } - VN_RELE(ZTOV(dzp)); ZFS_EXIT(zfsvfs); return (error); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286701 - in head: share/man/man4 sys/kern
Author: ian Date: Wed Aug 12 20:50:20 2015 New Revision: 286701 URL: https://svnweb.freebsd.org/changeset/base/286701 Log: If a specific timecounter has been chosen via sysctl, and a new timecounter with higher quality registers (presumably in a module that has just been loaded), do not undo the user's choice by switching to the new timecounter. Document that behavior, and also the fact that there is no way to unregister a timecounter (and thus no way to unload a module containing one). Modified: head/share/man/man4/timecounters.4 head/sys/kern/kern_tc.c Modified: head/share/man/man4/timecounters.4 == --- head/share/man/man4/timecounters.4 Wed Aug 12 20:21:04 2015 (r286700) +++ head/share/man/man4/timecounters.4 Wed Aug 12 20:50:20 2015 (r286701) @@ -24,7 +24,7 @@ .\ .\ $FreeBSD$ .\ -.Dd April 12, 2014 +.Dd August 12, 2015 .Dt TIMECOUNTERS 4 .Os .Sh NAME @@ -96,10 +96,16 @@ compared to others. A negative value means this time counter is broken and should not be used. .El .Pp -The time management code of the kernel chooses one time counter from that list. -The current choice can be read and affected via the +The time management code of the kernel automatically switches to a +higher-quality time counter when it registers, unless the .Va kern.timecounter.hardware -tunable/sysctl. +sysctl has been used to choose a specific device. +.Pp +There is no way to unregister a time counter once it has registered +with the kernel. +If a dynamically loaded module contains a time counter you will not +be able to unload that module, even if the time counter it contains +is not the one currently in use. .Sh SEE ALSO .Xr attimer 4 , .Xr eventtimers 4 , Modified: head/sys/kern/kern_tc.c == --- head/sys/kern/kern_tc.c Wed Aug 12 20:21:04 2015(r286700) +++ head/sys/kern/kern_tc.c Wed Aug 12 20:50:20 2015(r286701) @@ -133,6 +133,8 @@ SYSCTL_PROC(_kern_timecounter, OID_AUTO, sysctl_kern_timecounter_adjprecision, I, Allowed time interval deviation in percents); +static int tc_chosen; /* Non-zero if a specific tc was chosen via sysctl. */ + static void tc_windup(void); static void cpu_tick_calibrate(int); @@ -1197,10 +1199,13 @@ tc_init(struct timecounter *tc) quality, CTLFLAG_RD, (tc-tc_quality), 0, goodness of time counter); /* -* Never automatically use a timecounter with negative quality. +* Do not automatically switch if the current tc was specifically +* chosen. Never automatically use a timecounter with negative quality. * Even though we run on the dummy counter, switching here may be -* worse since this timecounter may not be monotonous. +* worse since this timecounter may not be monotonic. */ + if (tc_chosen) + return; if (tc-tc_quality 0) return; if (tc-tc_quality timecounter-tc_quality) @@ -1433,9 +1438,12 @@ sysctl_kern_timecounter_hardware(SYSCTL_ strlcpy(newname, tc-tc_name, sizeof(newname)); error = sysctl_handle_string(oidp, newname[0], sizeof(newname), req); - if (error != 0 || req-newptr == NULL || - strcmp(newname, tc-tc_name) == 0) + if (error != 0 || req-newptr == NULL) return (error); + /* Record that the tc in use now was specifically chosen. */ + tc_chosen = 1; + if (strcmp(newname, tc-tc_name) == 0) + return (0); for (newtc = timecounters; newtc != NULL; newtc = newtc-tc_next) { if (strcmp(newname, newtc-tc_name) != 0) continue; @@ -1464,7 +1472,7 @@ SYSCTL_PROC(_kern_timecounter, OID_AUTO, Timecounter hardware selected); -/* Report or change the active timecounter hardware. */ +/* Report the available timecounter hardware. */ static int sysctl_kern_timecounter_choice(SYSCTL_HANDLER_ARGS) { ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286702 - head/sbin/ipfw
Author: dim Date: Wed Aug 12 21:07:57 2015 New Revision: 286702 URL: https://svnweb.freebsd.org/changeset/base/286702 Log: In ipfw2, avoid left-shifting negative integers, which is undefined. While here, make some other arguments to htonl(3) unsigned too. MFC after:3 days Modified: head/sbin/ipfw/ipfw2.c Modified: head/sbin/ipfw/ipfw2.c == --- head/sbin/ipfw/ipfw2.c Wed Aug 12 20:50:20 2015(r286701) +++ head/sbin/ipfw/ipfw2.c Wed Aug 12 21:07:57 2015(r286702) @@ -2869,14 +2869,14 @@ fill_ip(ipfw_insn_ip *cmd, char *av, int case '/': masklen = atoi(p); if (masklen == 0) - d[1] = htonl(0);/* mask */ + d[1] = htonl(0U); /* mask */ else if (masklen 32) errx(EX_DATAERR, bad width ``%s'', p); else - d[1] = htonl(~0 (32 - masklen)); + d[1] = htonl(~0U (32 - masklen)); break; case '{': /* no mask, assume /24 and put back the '{' */ - d[1] = htonl(~0 (32 - 24)); + d[1] = htonl(~0U (32 - 24)); *(--p) = md; break; @@ -2885,7 +2885,7 @@ fill_ip(ipfw_insn_ip *cmd, char *av, int /* FALLTHROUGH */ case 0: /* initialization value */ default: - d[1] = htonl(~0); /* force /32 */ + d[1] = htonl(~0U); /* force /32 */ break; } d[0] = d[1]; /* mask base address with mask */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286687 - head
On 8/13/15 3:00 AM, Warner Losh wrote: Author: imp Date: Wed Aug 12 19:00:47 2015 New Revision: 286687 URL: https://svnweb.freebsd.org/changeset/base/286687 Log: Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ). really? do we build ALL of rescue? that contains most of /bin and lots of /usr/bin. that's a lot.. Can we not just build/bin/sh itself? Modified: ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286715 - head/lib/libc/string
On Thu, 13 Aug 2015, Marcelo Araujo wrote: Author: araujo Date: Thu Aug 13 02:31:23 2015 New Revision: 286715 URL: https://svnweb.freebsd.org/changeset/base/286715 Log: Remove the mention of memcpy(3) that is build on top of bcopy(3). Fix some phrases to make it more clear. Differential Revision: D3378 Reported by: bde@ Reviewed by: wblock Approved by: bapt, rodrigc (mentor) Sponsored by: gandi.net I don't like this version either :-). Modified: head/lib/libc/string/bcopy.3 == --- head/lib/libc/string/bcopy.3Thu Aug 13 01:04:26 2015 (r286714) +++ head/lib/libc/string/bcopy.3Thu Aug 13 02:31:23 2015 (r286715) @@ -31,7 +31,7 @@ .\ @(#)bcopy.38.1 (Berkeley) 6/4/93 .\ $FreeBSD$ .\ -.Dd August 11, 2015 +.Dd August 13, 2015 .Dt BCOPY 3 .Os .Sh NAME @@ -58,16 +58,14 @@ If .Fa len is zero, no bytes are copied. .Pp -This function is deprecated (marked as LEGACY in -POSIX.1-2001): use -.Xr memcpy 3 -or +This function is obsolete (marked as LEGACY in +POSIX.1-2001): please use This function is not obsolete, but is fully supported in FreeBSD. Its obsoletely doesn't follow at all from the clause in parentheses. LEGACY doesn't even mean obsolencent. In computerspeak it means old stuff that we don't like. I think you got the obsolete wording from NetBSD. But I think NetBSD started deprecating it in 1995. It might really be obsolete for them after 20 years of deprecation. Please don't use pleasant nonsenses like please in man pages or comments. .Xr memmove 3 in new programs. Still not quite right. New programs should use the best function and that is usually memcpy(). Only old programs that are being roto-tilled should convert bcopy() to memmove() (so as to avoid having to understand them well enough to know if they do overlapped copies). -Note that the first two arguments are -interchanged for -.Xr memcpy 3 -and +Note that +.Fn bcopy +takes its src and dst arguments in the opposite +order from .Xr memmove 3 . OK, except Xr should be Fn. .Xr memmove 3 is a man page, not a function. Man pages don't take src and dst arguments :-). This normally shows up in the rendering -- in text mode, Fn gives highlighting but Xr doesn't. Now I notice more markup problems: the src and dst arguments are not marked up. In text mode, Fa gives highlighting for args. POSIX.1-2008 removes the specification of .Fn bcopy . Better put this before the LEGACY statement and maybe merge the LEGACY statement into the HISTORY section. Since I don't want to deprecate bcopy(), I would put this in the history section too. Technically, this function is not deprecated since it is still a standard BSD function in strings.h. The ifdef for this is already quite complicated and broken, thoough it only attempts to keep up with some of the POSIX churn: from strings.h: #if __BSD_VISIBLE || __POSIX_VISIBLE = 200112 int bcmp(const void *, const void *, size_t) __pure; /* LEGACY */ void bcopy(const void *, void *, size_t); /* LEGACY */ void bzero(void *, size_t); /* LEGACY */ #endif It is POSIX LEGACY, but standard BSD. The POSIX ifdef is quite broken: - before 1996, POSIX didn't have this function, but it also didn't have strings.h so there is no problem (the ifdef is vacuously correct) - between 1996 and 2001, there was an XSI version there may have been a POSIX version that had this function and strings.h too. The ifdef is wrong for any such version since it doesn't mention XSI. Such versions are just unsupported. - between 2001 and 2008, POSIX apparently required bcopy() (and the other functions) but didn't declare them anywhere, except in the XSI case it requires them to be declared in strings.h. The above supports the non-XSI case of this. The XSI case is broken as in any 1996-2001 versions. - the ifdef is not up to date with changing LEGACY to OBSOLETE, but since LEGACY already resulted in omission of the prototypes in the non-XSI case, nothing needed to be changed in this case, and since the XSI case is unsupported nothing need to be changed to turn off the prototypes for XSI either. Correct code here wouldn't have the POSIX ifdef or LEGACY comments, but might having a comment saying that XSI is intentionally unsupported. XSI messes elswhere are supported, and I am suprised that not supporting it here doesn't cause problems. Ifdefs for historical mistakes would cause much larger messes if they were complete. Just near here, there is the mess of the string.h and strings.h. 1980's source code had messy ifdefs in applications for this. C90 didn't exactly help by standardizing the SYSVish string.h. POSIX.1-2001 actively harmed by restoring the BSDish strings.h. FreeBSD handles this problem by including strings.h in string.h if __BSD_VISIBLE and not documenting
svn commit: r286715 - head/lib/libc/string
Author: araujo Date: Thu Aug 13 02:31:23 2015 New Revision: 286715 URL: https://svnweb.freebsd.org/changeset/base/286715 Log: Remove the mention of memcpy(3) that is build on top of bcopy(3). Fix some phrases to make it more clear. Differential Revision:D3378 Reported by: bde@ Reviewed by: wblock Approved by: bapt, rodrigc (mentor) Sponsored by: gandi.net Modified: head/lib/libc/string/bcopy.3 Modified: head/lib/libc/string/bcopy.3 == --- head/lib/libc/string/bcopy.3Thu Aug 13 01:04:26 2015 (r286714) +++ head/lib/libc/string/bcopy.3Thu Aug 13 02:31:23 2015 (r286715) @@ -31,7 +31,7 @@ .\ @(#)bcopy.38.1 (Berkeley) 6/4/93 .\ $FreeBSD$ .\ -.Dd August 11, 2015 +.Dd August 13, 2015 .Dt BCOPY 3 .Os .Sh NAME @@ -58,16 +58,14 @@ If .Fa len is zero, no bytes are copied. .Pp -This function is deprecated (marked as LEGACY in -POSIX.1-2001): use -.Xr memcpy 3 -or +This function is obsolete (marked as LEGACY in +POSIX.1-2001): please use .Xr memmove 3 in new programs. -Note that the first two arguments are -interchanged for -.Xr memcpy 3 -and +Note that +.Fn bcopy +takes its src and dst arguments in the opposite +order from .Xr memmove 3 . POSIX.1-2008 removes the specification of .Fn bcopy . ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286687 - head
On Aug 12, 2015, at 10:46 PM, Julian Elischer jul...@freebsd.org wrote: On 8/13/15 3:00 AM, Warner Losh wrote: Author: imp Date: Wed Aug 12 19:00:47 2015 New Revision: 286687 URL: https://svnweb.freebsd.org/changeset/base/286687 Log: Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ). really? do we build ALL of rescue? that contains most of /bin and lots of /usr/bin. that's a lot.. Can we not just build/bin/sh itself? No, we don’t. Check the logs before complaining. It builds the build-tools target which is empty for the vast majority of rescue. It wasn’t obvious why it was there, until I deleted it. Then it became obvious, but I thought I’d document why. Warner signature.asc Description: Message signed with OpenPGP using GPGMail
Re: svn commit: r286687 - head
On Aug 12, 2015, at 21:46, Julian Elischer jul...@freebsd.org wrote: On 8/13/15 3:00 AM, Warner Losh wrote: Author: imp Date: Wed Aug 12 19:00:47 2015 New Revision: 286687 URL: https://svnweb.freebsd.org/changeset/base/286687 Log: Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ). really? do we build ALL of rescue? that contains most of /bin and lots of /usr/bin. build-tools only builds /bin/sh and bin/tcsh : $ grep BUILDTOOLS rescue/rescue/Makefile CRUNCH_BUILDTOOLS+= bin/sh CRUNCH_BUILDTOOLS+= bin/csh that's a lot.. Can we not just build/bin/sh itself? That would.. probably make more sense (especially in a post-projects/bmake world)… but it needs better comments in Makefile.inc1 . Thanks! -NGie ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286716 - in head/usr.bin: ypcat ypwhich
Author: araujo Date: Thu Aug 13 02:36:37 2015 New Revision: 286716 URL: https://svnweb.freebsd.org/changeset/base/286716 Log: Use nitems instead of sizeof ypaliases/sizeof ypaliases[0]. Make the if statement more expressive. Differential Revision:D3366 Reviewed by: ed Approved by: bapt, rodrigc (mentor) Modified: head/usr.bin/ypcat/ypcat.c head/usr.bin/ypwhich/ypwhich.c Modified: head/usr.bin/ypcat/ypcat.c == --- head/usr.bin/ypcat/ypcat.c Thu Aug 13 02:31:23 2015(r286715) +++ head/usr.bin/ypcat/ypcat.c Thu Aug 13 02:36:37 2015(r286716) @@ -96,7 +96,7 @@ main(int argc, char *argv[]) while ((c = getopt(argc, argv, xd:kt)) != -1) switch (c) { case 'x': - for (i=0; isizeof ypaliases/sizeof ypaliases[0]; i++) + for (i = 0; i nitems(ypaliases); i++) printf(Use \%s\ for \%s\\n, ypaliases[i].alias, ypaliases[i].name); exit(0); @@ -120,8 +120,8 @@ main(int argc, char *argv[]) yp_get_default_domain(domain); inmap = argv[optind]; - if (!notrans) { - for (i=0; isizeof ypaliases/sizeof ypaliases[0]; i++) + if (notrans == 0) { + for (i = 0; i nitems(ypaliases); i++) if (strcmp(inmap, ypaliases[i].alias) == 0) inmap = ypaliases[i].name; } Modified: head/usr.bin/ypwhich/ypwhich.c == --- head/usr.bin/ypwhich/ypwhich.c Thu Aug 13 02:31:23 2015 (r286715) +++ head/usr.bin/ypwhich/ypwhich.c Thu Aug 13 02:36:37 2015 (r286716) @@ -151,7 +151,7 @@ main(int argc, char *argv[]) while ((c = getopt(argc, argv, xd:mt)) != -1) switch (c) { case 'x': - for (i = 0; isizeof ypaliases/sizeof ypaliases[0]; i++) + for (i = 0; i nitems(ypaliases); i++) printf(\%s\ is an alias for \%s\\n, ypaliases[i].alias, ypaliases[i].name); @@ -169,7 +169,7 @@ main(int argc, char *argv[]) usage(); } - if (!domnam) + if (domnam == NULL) yp_get_default_domain(domnam); if (mode == 0) { @@ -206,9 +206,11 @@ main(int argc, char *argv[]) if (argv[optind]) { map = argv[optind]; - for (i = 0; (!notrans) isizeof ypaliases/sizeof ypaliases[0]; i++) - if (strcmp(map, ypaliases[i].alias) == 0) - map = ypaliases[i].name; + if (notrans == 0) { + for (i = 0; i nitems(ypaliases); i++) + if (strcmp(map, ypaliases[i].alias) == 0) + map = ypaliases[i].name; + } r = yp_master(domnam, map, master); switch (r) { case 0: ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286687 - head
On 8/13/15 12:53 PM, Warner Losh wrote: On Aug 12, 2015, at 10:46 PM, Julian Elischer jul...@freebsd.org wrote: On 8/13/15 3:00 AM, Warner Losh wrote: Author: imp Date: Wed Aug 12 19:00:47 2015 New Revision: 286687 URL: https://svnweb.freebsd.org/changeset/base/286687 Log: Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ). really? do we build ALL of rescue? that contains most of /bin and lots of /usr/bin. that's a lot.. Can we not just build/bin/sh itself? I was confused because you put the entry for the entire rescue. not the subdirectory. No, we don’t. Check the logs before complaining. It builds the build-tools target which is empty for the vast majority of rescue. It wasn’t obvious why it was there, until I deleted it. Then it became obvious, but I thought I’d document why. do we build sh through rescue just to get a static binary? It seems a rather non-obvious way to get one. but if we are building it that way anyhow, maybe we should throw a whole bunch of other build time utils in there as well? might speed up the compile.. Warner ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286687 - head
On Aug 12, 2015, at 10:52 PM, Garrett Cooper yaneurab...@gmail.com wrote: On Aug 12, 2015, at 21:46, Julian Elischer jul...@freebsd.org wrote: On 8/13/15 3:00 AM, Warner Losh wrote: Author: imp Date: Wed Aug 12 19:00:47 2015 New Revision: 286687 URL: https://svnweb.freebsd.org/changeset/base/286687 Log: Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ). really? do we build ALL of rescue? that contains most of /bin and lots of /usr/bin. build-tools only builds /bin/sh and bin/tcsh : $ grep BUILDTOOLS rescue/rescue/Makefile CRUNCH_BUILDTOOLS+= bin/sh CRUNCH_BUILDTOOLS+= bin/csh that's a lot.. Can we not just build/bin/sh itself? That would.. probably make more sense (especially in a post-projects/bmake world)… but it needs better comments in Makefile.inc1 . Actually, what we have is totally fine. There’s nothing to see here. This is now commented adequately in Makefile.inc1, and listing things in Makefile.inc1 is totally wrong other than rescue/rescue because rescue builds things with a different MAKEOBJDIRPREFIX. Rather than have a plethora of ‘reach overs’ to get the built build-tools, and create the crazy build dependencies, we waste 2s of your time. If somebody wants to convert rescue.mk and bsd.crunchgen.mk to something more meta-mode friendly, that might be interesting, but it’s independent of Makefile.inc1 (mostly because that’s unused in Meta mode). Warner signature.asc Description: Message signed with OpenPGP using GPGMail
Re: svn commit: r286687 - head
On Aug 12, 2015, at 21:59, Julian Elischer jul...@freebsd.org wrote: On 8/13/15 12:53 PM, Warner Losh wrote: On Aug 12, 2015, at 10:46 PM, Julian Elischer jul...@freebsd.org wrote: On 8/13/15 3:00 AM, Warner Losh wrote: Author: imp Date: Wed Aug 12 19:00:47 2015 New Revision: 286687 URL: https://svnweb.freebsd.org/changeset/base/286687 Log: Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ). really? do we build ALL of rescue? that contains most of /bin and lots of /usr/bin. that's a lot.. Can we not just build/bin/sh itself? I was confused because you put the entry for the entire rescue. not the subdirectory. No, we don’t. Check the logs before complaining. It builds the build-tools target which is empty for the vast majority of rescue. It wasn’t obvious why it was there, until I deleted it. Then it became obvious, but I thought I’d document why. do we build sh through rescue just to get a static binary? It seems a rather non-obvious way to get one. but if we are building it that way anyhow, maybe we should throw a whole bunch of other build time utils in there as well? might speed up the compile.. No. It’s only building bits and pieces needed to bootstrap /bin/sh and /bin/tcsh for /rescue/rescue . ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286718 - head/sys/conf
Author: peter Date: Thu Aug 13 05:42:56 2015 New Revision: 286718 URL: https://svnweb.freebsd.org/changeset/base/286718 Log: Add missing cddl/contrib/opensolaris/uts/common/fs/zfs/bqueue.c that was left out of r286705. Forgotten by: mav Modified: head/sys/conf/files Modified: head/sys/conf/files == --- head/sys/conf/files Thu Aug 13 05:02:04 2015(r286717) +++ head/sys/conf/files Thu Aug 13 05:42:56 2015(r286718) @@ -145,6 +145,7 @@ cddl/contrib/opensolaris/uts/common/fs/z cddl/contrib/opensolaris/uts/common/fs/zfs/bplist.c optional zfs compile-with ${ZFS_C} cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c optional zfs compile-with ${ZFS_C} cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c optional zfs compile-with ${ZFS_C} +cddl/contrib/opensolaris/uts/common/fs/zfs/bqueue.c optional zfs compile-with ${ZFS_C} cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c optional zfs compile-with ${ZFS_C} cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c optional zfs compile-with ${ZFS_C} cddl/contrib/opensolaris/uts/common/fs/zfs/ddt_zap.c optional zfs compile-with ${ZFS_C} ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286655 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: mav Date: Wed Aug 12 08:36:58 2015 New Revision: 286655 URL: https://svnweb.freebsd.org/changeset/base/286655 Log: Fix set of sign extension bugs in r286625. Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Wed Aug 12 07:59:00 2015(r286654) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Wed Aug 12 08:36:58 2015(r286655) @@ -3145,7 +3145,7 @@ arc_available_memory(void) * Cooperate with pagedaemon when it's time for it to scan * and reclaim some pages. */ - n = PAGESIZE * (int64_t)(freemem - zfs_arc_free_target); + n = PAGESIZE * ((int64_t)freemem - zfs_arc_free_target); if (n lowest) { lowest = n; r = FMR_LOTSFREE; @@ -3207,7 +3207,7 @@ arc_available_memory(void) * heap is allocated. (Or, in the calculation, if less than 1/4th is * free) */ - n = vmem_size(heap_arena, VMEM_FREE) - + n = (int64_t)vmem_size(heap_arena, VMEM_FREE) - (vmem_size(heap_arena, VMEM_FREE | VMEM_ALLOC) 2); if (n lowest) { lowest = n; @@ -3228,7 +3228,7 @@ arc_available_memory(void) * memory fragmentation issues. */ if (zio_arena != NULL) { - n = vmem_size(zio_arena, VMEM_FREE) - + n = (int64_t)vmem_size(zio_arena, VMEM_FREE) - (vmem_size(zio_arena, VMEM_ALLOC) 4); if (n lowest) { lowest = n; @@ -3242,7 +3242,8 @@ arc_available_memory(void) */ if (lowest 0) { n = (vmem_size(heap_arena, VMEM_MAXFREE) zfs_max_recordsize) ? - -(vmem_size(heap_arena, VMEM_ALLOC) 4) : INT64_MAX; + -((int64_t)vmem_size(heap_arena, VMEM_ALLOC) 4) : + INT64_MAX; if (n lowest) { lowest = n; r = FMR_ZIO_FRAG; ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286654 - head/sys/compat/cloudabi64
Author: ed Date: Wed Aug 12 07:59:00 2015 New Revision: 286654 URL: https://svnweb.freebsd.org/changeset/base/286654 Log: Make poll() and kqueue() on CloudABI work. This change implements two functions, cloudabi64_kevent_copyin() and cloudabi64_kevent_copyout(), that convert CloudABI structures to FreeBSD's struct kevent. CloudABI uses two structures: subscription_t and event_t. The former is used for input, whereas the latter is used for output. Unlike struct kevent, fields aren't overloaded for multiple purposes or for separate event types. For poll() we call into the newly introduced kern_kevent_anonymous() function that allows us to poll without a file descriptor. This function is not only used by poll(), but also by functions such as sleep() and clock_nanosleep(). Reviewed by: jmg Obtained from:https://github.com/NuxiNL/freebsd Differential Revision:https://reviews.freebsd.org/D3308 Modified: head/sys/compat/cloudabi64/cloudabi64_poll.c Modified: head/sys/compat/cloudabi64/cloudabi64_poll.c == --- head/sys/compat/cloudabi64/cloudabi64_poll.cWed Aug 12 04:03:04 2015(r286653) +++ head/sys/compat/cloudabi64/cloudabi64_poll.cWed Aug 12 07:59:00 2015(r286654) @@ -26,22 +26,260 @@ #include sys/cdefs.h __FBSDID($FreeBSD$); +#include sys/param.h +#include sys/proc.h +#include sys/syscallsubr.h + +#include compat/cloudabi/cloudabi_util.h + #include compat/cloudabi64/cloudabi64_syscalldefs.h #include compat/cloudabi64/cloudabi64_proto.h +/* Converts a FreeBSD signal number to a CloudABI signal number. */ +static cloudabi_signal_t +convert_signal(int sig) +{ + static const cloudabi_signal_t signals[] = { + [SIGABRT] = CLOUDABI_SIGABRT, + [SIGALRM] = CLOUDABI_SIGALRM, + [SIGBUS]= CLOUDABI_SIGBUS, + [SIGCHLD] = CLOUDABI_SIGCHLD, + [SIGCONT] = CLOUDABI_SIGCONT, + [SIGFPE]= CLOUDABI_SIGFPE, + [SIGHUP]= CLOUDABI_SIGHUP, + [SIGILL]= CLOUDABI_SIGILL, + [SIGINT]= CLOUDABI_SIGINT, + [SIGKILL] = CLOUDABI_SIGKILL, + [SIGPIPE] = CLOUDABI_SIGPIPE, + [SIGQUIT] = CLOUDABI_SIGQUIT, + [SIGSEGV] = CLOUDABI_SIGSEGV, + [SIGSTOP] = CLOUDABI_SIGSTOP, + [SIGSYS]= CLOUDABI_SIGSYS, + [SIGTERM] = CLOUDABI_SIGTERM, + [SIGTRAP] = CLOUDABI_SIGTRAP, + [SIGTSTP] = CLOUDABI_SIGTSTP, + [SIGTTIN] = CLOUDABI_SIGTTIN, + [SIGTTOU] = CLOUDABI_SIGTTOU, + [SIGURG]= CLOUDABI_SIGURG, + [SIGUSR1] = CLOUDABI_SIGUSR1, + [SIGUSR2] = CLOUDABI_SIGUSR2, + [SIGVTALRM] = CLOUDABI_SIGVTALRM, + [SIGXCPU] = CLOUDABI_SIGXCPU, + [SIGXFSZ] = CLOUDABI_SIGXFSZ, + }; + + /* Convert unknown signals to SIGABRT. */ + if (sig 0 || sig = nitems(signals) || signals[sig] == 0) + return (SIGABRT); + return (signals[sig]); +} + +struct cloudabi64_kevent_args { + const cloudabi64_subscription_t *in; + cloudabi64_event_t *out; + bool once; +}; + +/* Converts CloudABI's subscription objects to FreeBSD's struct kevent. */ +static int +cloudabi64_kevent_copyin(void *arg, struct kevent *kevp, int count) +{ + cloudabi64_subscription_t sub; + struct cloudabi64_kevent_args *args; + cloudabi_timestamp_t ts; + int error; + + args = arg; + while (count-- 0) { + /* TODO(ed): Copy in multiple entries at once. */ + error = copyin(args-in++, sub, sizeof(sub)); + if (error != 0) + return (error); + + memset(kevp, 0, sizeof(*kevp)); + kevp-udata = (void *)sub.userdata; + switch (sub.type) { + case CLOUDABI_EVENTTYPE_CLOCK: + kevp-filter = EVFILT_TIMER; + kevp-ident = sub.clock.identifier; + kevp-fflags = NOTE_NSECONDS; + if ((sub.clock.flags + CLOUDABI_SUBSCRIPTION_CLOCK_ABSTIME) != 0 + sub.clock.timeout 0) { + /* Convert absolute timestamp to a relative. */ + error = cloudabi_clock_time_get(curthread, + sub.clock.clock_id, ts); + if (error != 0) + return (error); + ts = ts sub.clock.timeout ? 0 : + sub.clock.timeout - ts;
svn commit: r286656 - head/sys/compat/cloudabi64
Author: ed Date: Wed Aug 12 08:41:48 2015 New Revision: 286656 URL: https://svnweb.freebsd.org/changeset/base/286656 Log: Make blocking CloudABI futex operations work. Blocking on locks and condition variables can be accomplished by polling and using the special filters CONDVAR, LOCK_RDLOCK and LOCK_WRLOCK. For now it wouldn't make sense to implement this functionality into kqueue() itself, for the reason that they are CloudABI specific and would require us to resize 'struct kevent' to hold all of the parameters of interest. Add a bandaid to the CloudABI poll system call to call into the futex code directly if it detects specific combinations of events that are used by the C library. Obtained from:https://github.com/NuxiNL/freebsd Modified: head/sys/compat/cloudabi64/cloudabi64_poll.c Modified: head/sys/compat/cloudabi64/cloudabi64_poll.c == --- head/sys/compat/cloudabi64/cloudabi64_poll.cWed Aug 12 08:36:58 2015(r286655) +++ head/sys/compat/cloudabi64/cloudabi64_poll.cWed Aug 12 08:41:48 2015(r286656) @@ -244,6 +244,127 @@ cloudabi64_sys_poll(struct thread *td, s .arg= args, }; + /* +* Bandaid to support CloudABI futex constructs that are not +* implemented through FreeBSD's kqueue(). +*/ + if (uap-nevents == 1) { + cloudabi64_subscription_t sub; + cloudabi64_event_t ev = {}; + int error; + + error = copyin(uap-in, sub, sizeof(sub)); + if (error != 0) + return (error); + ev.userdata = sub.userdata; + ev.type = sub.type; + if (sub.type == CLOUDABI_EVENTTYPE_CONDVAR) { + /* Wait on a condition variable. */ + ev.condvar.condvar = sub.condvar.condvar; + ev.error = cloudabi_convert_errno( + cloudabi_futex_condvar_wait( + td, (cloudabi_condvar_t *)sub.condvar.condvar, + sub.condvar.condvar_scope, + (cloudabi_lock_t *)sub.condvar.lock, + sub.condvar.lock_scope, + CLOUDABI_CLOCK_MONOTONIC, UINT64_MAX, 0)); + td-td_retval[0] = 1; + return (copyout(ev, uap-out, sizeof(ev))); + } else if (sub.type == CLOUDABI_EVENTTYPE_LOCK_RDLOCK) { + /* Acquire a read lock. */ + ev.lock.lock = sub.lock.lock; + ev.error = cloudabi_convert_errno( + cloudabi_futex_lock_rdlock( + td, (cloudabi_lock_t *)sub.lock.lock, + sub.lock.lock_scope, CLOUDABI_CLOCK_MONOTONIC, + UINT64_MAX, 0)); + td-td_retval[0] = 1; + return (copyout(ev, uap-out, sizeof(ev))); + } else if (sub.type == CLOUDABI_EVENTTYPE_LOCK_WRLOCK) { + /* Acquire a write lock. */ + ev.lock.lock = sub.lock.lock; + ev.error = cloudabi_convert_errno( + cloudabi_futex_lock_wrlock( + td, (cloudabi_lock_t *)sub.lock.lock, + sub.lock.lock_scope, CLOUDABI_CLOCK_MONOTONIC, + UINT64_MAX, 0)); + td-td_retval[0] = 1; + return (copyout(ev, uap-out, sizeof(ev))); + } + } else if (uap-nevents == 2) { + cloudabi64_subscription_t sub[2]; + cloudabi64_event_t ev[2] = {}; + int error; + + error = copyin(uap-in, sub, sizeof(sub)); + if (error != 0) + return (error); + ev[0].userdata = sub[0].userdata; + ev[0].type = sub[0].type; + ev[1].userdata = sub[1].userdata; + ev[1].type = sub[1].type; + if (sub[0].type == CLOUDABI_EVENTTYPE_CONDVAR + sub[1].type == CLOUDABI_EVENTTYPE_CLOCK + sub[1].clock.flags == CLOUDABI_SUBSCRIPTION_CLOCK_ABSTIME) { + /* Wait for a condition variable with timeout. */ + ev[0].condvar.condvar = sub[0].condvar.condvar; + ev[1].clock.identifier = sub[1].clock.identifier; + error = cloudabi_futex_condvar_wait( + td, (cloudabi_condvar_t *)sub[0].condvar.condvar, + sub[0].condvar.condvar_scope, + (cloudabi_lock_t *)sub[0].condvar.lock, + sub[0].condvar.lock_scope,
svn commit: r286659 - head/sys/x86/x86
Author: kib Date: Wed Aug 12 09:55:52 2015 New Revision: 286659 URL: https://svnweb.freebsd.org/changeset/base/286659 Log: In x2APIC mode, IPI generation is atomic because it is performed by single ICR MSR write. This is in contrast with the xAPIC mode, where we must read current ICR value, do bit fiddling and perform two 32-bit register writes. As a consequence, there is no need to disable interrupts around ICR value calculation and write. Note that typical users of ipi_raw() and ipi_vectored() take spinlock, which already disables interrupts. For them, the change removes unneeded CLI and POPFL/Q instructions. Tested by:pho Sponsored by: The FreeBSD Foundation MFC after:2 weeks Modified: head/sys/x86/x86/local_apic.c Modified: head/sys/x86/x86/local_apic.c == --- head/sys/x86/x86/local_apic.c Wed Aug 12 09:46:39 2015 (r286658) +++ head/sys/x86/x86/local_apic.c Wed Aug 12 09:55:52 2015 (r286659) @@ -1657,9 +1657,10 @@ native_lapic_ipi_raw(register_t icrlo, u (%s: reserved bits set in ICR LO register, __func__)); /* Set destination in ICR HI register if it is being used. */ - saveintr = intr_disable(); - if (!x2apic_mode) + if (!x2apic_mode) { + saveintr = intr_disable(); icr = lapic_read_icr(); + } if ((icrlo APIC_DEST_MASK) == APIC_DEST_DESTFLD) { if (x2apic_mode) { @@ -1682,7 +1683,8 @@ native_lapic_ipi_raw(register_t icrlo, u vlo |= icrlo; } lapic_write_icr(vhi, vlo); - intr_restore(saveintr); + if (!x2apic_mode) + intr_restore(saveintr); } #defineBEFORE_SPIN 5 ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286658 - in head/sys: amd64/amd64 i386/i386
Author: kib Date: Wed Aug 12 09:46:39 2015 New Revision: 286658 URL: https://svnweb.freebsd.org/changeset/base/286658 Log: Initialization of smp_tlb_wait does not require release semantic, no data is synchronized by store/load to the variable. The lapic_write_icr() function ensures that store buffers are flushed before IPI command is issued. Discussed with: bde Tested by:pho Sponsored by: The FreeBSD Foundation MFC after:2 weeks Modified: head/sys/amd64/amd64/mp_machdep.c head/sys/i386/i386/mp_machdep.c Modified: head/sys/amd64/amd64/mp_machdep.c == --- head/sys/amd64/amd64/mp_machdep.c Wed Aug 12 09:43:12 2015 (r286657) +++ head/sys/amd64/amd64/mp_machdep.c Wed Aug 12 09:46:39 2015 (r286658) @@ -440,7 +440,7 @@ smp_targeted_tlb_shootdown(cpuset_t mask smp_tlb_addr1 = addr1; smp_tlb_addr2 = addr2; smp_tlb_pmap = pmap; - atomic_store_rel_int(smp_tlb_wait, 0); + smp_tlb_wait = 0; if (CPU_ISFULLSET(mask)) { ncpu = othercpus; ipi_all_but_self(vector); Modified: head/sys/i386/i386/mp_machdep.c == --- head/sys/i386/i386/mp_machdep.c Wed Aug 12 09:43:12 2015 (r286657) +++ head/sys/i386/i386/mp_machdep.c Wed Aug 12 09:46:39 2015 (r286658) @@ -504,7 +504,7 @@ smp_tlb_shootdown(u_int vector, vm_offse mtx_lock_spin(smp_ipi_mtx); smp_tlb_addr1 = addr1; smp_tlb_addr2 = addr2; - atomic_store_rel_int(smp_tlb_wait, 0); + smp_tlb_wait = 0; ipi_all_but_self(vector); while (smp_tlb_wait ncpu) ia32_pause(); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286660 - in head: sbin/camcontrol sbin/reboot usr.bin/mkimg usr.sbin/pwd_mkdb usr.sbin/sysrc usr.sbin/wake
Author: brueffer Date: Wed Aug 12 10:34:05 2015 New Revision: 286660 URL: https://svnweb.freebsd.org/changeset/base/286660 Log: Fix a few mandoc warnings. MFC after:1 week Modified: head/sbin/camcontrol/camcontrol.8 head/sbin/reboot/nextboot.8 head/usr.bin/mkimg/mkimg.1 head/usr.sbin/pwd_mkdb/pwd_mkdb.8 head/usr.sbin/sysrc/sysrc.8 head/usr.sbin/wake/wake.8 Modified: head/sbin/camcontrol/camcontrol.8 == --- head/sbin/camcontrol/camcontrol.8 Wed Aug 12 09:55:52 2015 (r286659) +++ head/sbin/camcontrol/camcontrol.8 Wed Aug 12 10:34:05 2015 (r286660) @@ -2183,7 +2183,6 @@ current initiator will be unregistered f The reservation will be moved to relative target port 2 on the target device. The registration will persist across power losses. -.Pp .Bd -literal -offset indent camcontrol attrib sa0 -v -i attr_values -p 1 .Ed Modified: head/sbin/reboot/nextboot.8 == --- head/sbin/reboot/nextboot.8 Wed Aug 12 09:55:52 2015(r286659) +++ head/sbin/reboot/nextboot.8 Wed Aug 12 10:34:05 2015(r286660) @@ -135,4 +135,3 @@ If it scrambles your file system, do not is only able to read ZFS, not write to it. .Pa nextboot.conf will NOT be reset in case of a kernel boot failure. - Modified: head/usr.bin/mkimg/mkimg.1 == --- head/usr.bin/mkimg/mkimg.1 Wed Aug 12 09:55:52 2015(r286659) +++ head/usr.bin/mkimg/mkimg.1 Wed Aug 12 10:34:05 2015(r286660) @@ -327,4 +327,5 @@ utility first appeared in .Sh AUTHORS The .Nm -utility and manpage were written by Marcel Moolenaar marc...@juniper.net +utility and manpage were written by +.An Marcel Moolenaar Aq Mt marc...@juniper.net . Modified: head/usr.sbin/pwd_mkdb/pwd_mkdb.8 == --- head/usr.sbin/pwd_mkdb/pwd_mkdb.8 Wed Aug 12 09:55:52 2015 (r286659) +++ head/usr.sbin/pwd_mkdb/pwd_mkdb.8 Wed Aug 12 10:34:05 2015 (r286660) @@ -132,7 +132,6 @@ The legacy format entries are endianness .Pp The following options may be specified and will affect the generation of legacy entries. -.Pp .Bl -tag -width flag .It Fl B Store data in big-endian format. Modified: head/usr.sbin/sysrc/sysrc.8 == --- head/usr.sbin/sysrc/sysrc.8 Wed Aug 12 09:55:52 2015(r286659) +++ head/usr.sbin/sysrc/sysrc.8 Wed Aug 12 10:34:05 2015(r286660) @@ -223,7 +223,6 @@ For example, the above and below stateme .Dq gif0 starts with an alpha-numeric character .Pq the letter Li g : -.Pp .Bl -tag -width indent+ .It \ .Nm @@ -278,7 +277,6 @@ For example, the above and below stateme .Dq gif0 starts with an alpha-numeric character .Pq the letter Li g : -.Pp .Bl -tag -width indent+ .It \ .Nm Modified: head/usr.sbin/wake/wake.8 == --- head/usr.sbin/wake/wake.8 Wed Aug 12 09:55:52 2015(r286659) +++ head/usr.sbin/wake/wake.8 Wed Aug 12 10:34:05 2015(r286660) @@ -65,4 +65,4 @@ Ethernet host name data base. .Sh AUTHORS .Nm was written by -.Ar Marc Balmer Aq Mt m...@msys.ch . +.An Marc Balmer Aq Mt m...@msys.ch . ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286661 - head/sys/compat/cloudabi
Author: ed Date: Wed Aug 12 11:07:03 2015 New Revision: 286661 URL: https://svnweb.freebsd.org/changeset/base/286661 Log: Use CAP_EVENT instead of CAP_PDWAIT. The cloudlibc pdwait() function ends up using FreeBSD's kqueue() in combination with EVFILT_PROCDESC. This depends on CAP_EVENT -- not CAP_PDWAIT. Obtained from:https://github.com/NuxiNL/freebsd Modified: head/sys/compat/cloudabi/cloudabi_fd.c head/sys/compat/cloudabi/cloudabi_proc.c Modified: head/sys/compat/cloudabi/cloudabi_fd.c == --- head/sys/compat/cloudabi/cloudabi_fd.c Wed Aug 12 10:34:05 2015 (r286660) +++ head/sys/compat/cloudabi/cloudabi_fd.c Wed Aug 12 11:07:03 2015 (r286661) @@ -74,7 +74,7 @@ __FBSDID($FreeBSD$); MAPPING(CLOUDABI_RIGHT_MEM_MAP_EXEC, CAP_MMAP_X)\ MAPPING(CLOUDABI_RIGHT_POLL_FD_READWRITE, CAP_EVENT)\ MAPPING(CLOUDABI_RIGHT_POLL_MODIFY, CAP_KQUEUE_CHANGE) \ - MAPPING(CLOUDABI_RIGHT_POLL_PROC_TERMINATE, CAP_PDWAIT) \ + MAPPING(CLOUDABI_RIGHT_POLL_PROC_TERMINATE, CAP_EVENT) \ MAPPING(CLOUDABI_RIGHT_POLL_WAIT, CAP_KQUEUE_EVENT) \ MAPPING(CLOUDABI_RIGHT_PROC_EXEC, CAP_FEXECVE) \ MAPPING(CLOUDABI_RIGHT_SOCK_ACCEPT, CAP_ACCEPT) \ @@ -380,7 +380,8 @@ cloudabi_remove_conflicting_rights(cloud *inheriting = 0; break; case CLOUDABI_FILETYPE_PROCESS: - *base = ~CLOUDABI_RIGHT_FILE_ADVISE; + *base = ~(CLOUDABI_RIGHT_FILE_ADVISE | + CLOUDABI_RIGHT_POLL_FD_READWRITE); *inheriting = 0; break; case CLOUDABI_FILETYPE_REGULAR_FILE: Modified: head/sys/compat/cloudabi/cloudabi_proc.c == --- head/sys/compat/cloudabi/cloudabi_proc.cWed Aug 12 10:34:05 2015 (r286660) +++ head/sys/compat/cloudabi/cloudabi_proc.cWed Aug 12 11:07:03 2015 (r286661) @@ -74,7 +74,7 @@ cloudabi_sys_proc_fork(struct thread *td struct proc *p2; int error, fd; - cap_rights_init(fcaps.fc_rights, CAP_FSTAT, CAP_PDWAIT); + cap_rights_init(fcaps.fc_rights, CAP_FSTAT, CAP_EVENT); error = fork1(td, RFFDG | RFPROC | RFPROCDESC, 0, p2, fd, 0, fcaps); if (error != 0) return (error); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286657 - in head/sys: amd64/amd64 i386/i386
Author: kib Date: Wed Aug 12 09:43:12 2015 New Revision: 286657 URL: https://svnweb.freebsd.org/changeset/base/286657 Log: AP should load aps_ready with acquire semantic to see BSP updates to the SMP structures, synchronized with the load by release store in release_aps(). The change is formal, x86 strong memory model implicitely provided the guarantees. Discussed with: bde Tested by:pho Sponsored by: The FreeBSD Foundation MFC after:2 weeks Modified: head/sys/amd64/amd64/mp_machdep.c head/sys/i386/i386/mp_machdep.c Modified: head/sys/amd64/amd64/mp_machdep.c == --- head/sys/amd64/amd64/mp_machdep.c Wed Aug 12 08:41:48 2015 (r286656) +++ head/sys/amd64/amd64/mp_machdep.c Wed Aug 12 09:43:12 2015 (r286657) @@ -282,7 +282,7 @@ init_secondary(void) mp_naps++; /* Spin until the BSP releases the AP's. */ - while (!aps_ready) + while (atomic_load_acq_int(aps_ready) == 0) ia32_pause(); init_secondary_tail(); Modified: head/sys/i386/i386/mp_machdep.c == --- head/sys/i386/i386/mp_machdep.c Wed Aug 12 08:41:48 2015 (r286656) +++ head/sys/i386/i386/mp_machdep.c Wed Aug 12 09:43:12 2015 (r286657) @@ -291,7 +291,7 @@ init_secondary(void) CHECK_WRITE(0x39, 6); /* Spin until the BSP releases the AP's. */ - while (!aps_ready) + while (atomic_load_acq_int(aps_ready) == 0) ia32_pause(); /* BSP may have changed PTD while we were waiting */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286671 - head/etc/rc.d
Author: feld (ports committer) Date: Wed Aug 12 16:22:10 2015 New Revision: 286671 URL: https://svnweb.freebsd.org/changeset/base/286671 Log: etc/rc.d/hostname: permit setting hostname if already set Approved by: dteske Differential Revision:https://reviews.freebsd.org/D2577 Modified: head/etc/rc.d/hostname Modified: head/etc/rc.d/hostname == --- head/etc/rc.d/hostname Wed Aug 12 16:17:00 2015(r286670) +++ head/etc/rc.d/hostname Wed Aug 12 16:22:10 2015(r286671) @@ -39,16 +39,13 @@ stop_cmd=: hostname_start() { - # If we are not inside a jail, set the host name if it is not already set. - # If we are inside a jail, set the host name even if it is already set, - # but first check if it is permitted. + # If we are not inside a jail, set the host name. + # If we are inside a jail, set the host name if it is permitted. # if [ `$SYSCTL_N security.jail.jailed` -eq 1 ]; then if [ `$SYSCTL_N security.jail.set_hostname_allowed` -eq 0 ]; then return fi - elif [ -n `/bin/hostname -s` ]; then - return else # If we're not in a jail and rc.conf doesn't specify a # hostname, see if we can get one from kenv. ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286662 - head/sys/kern
On Wed, Aug 12, 2015 at 7:30 AM, Ed Schouten e...@freebsd.org wrote: Author: ed Date: Wed Aug 12 11:30:31 2015 New Revision: 286662 URL: https://svnweb.freebsd.org/changeset/base/286662 Log: Unignore signals when starting CloudABI processes. As CloudABI processes cannot adjust their signal handlers, we need to make sure that we start up CloudABI processes with consistent signal masks. Though the POSIx standard signal behavior is all right, we do It ... is? I thought it caused all sorts of frustrating problems, some discussion of which is given at https://ldpreload.com/blog/signalfd-is-useless -Ben ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286672 - in head: . sys/sys
Author: imp Date: Wed Aug 12 16:43:15 2015 New Revision: 286672 URL: https://svnweb.freebsd.org/changeset/base/286672 Log: Crunchgen needs to be bootstrapped to pick up the STRIP-STRIPBIN changes to prevent the 'rescue: not found' errors from happening. Bump FreeBSD_version to 1100078 since there's been no version bumps since this change was made. Only people that installed since r284356 really need to do this bootstrapping, but since crunchgen needs to bootstrap for other reasons, bumping the number was the simplest. Modified: head/Makefile.inc1 head/sys/sys/param.h Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Wed Aug 12 16:22:10 2015(r286671) +++ head/Makefile.inc1 Wed Aug 12 16:43:15 2015(r286672) @@ -1304,7 +1304,8 @@ _lex= usr.bin/lex # r277259 crunchide: Correct 64-bit section header offset # r281674 crunchide: always include both 32- and 64-bit ELF support -.if ${BOOTSTRAPPING} 1100071 +# r285986 crunchen: use STRIPBIN rather than STRIP +.if ${BOOTSTRAPPING} 1100078 _crunch= usr.sbin/crunch .endif Modified: head/sys/sys/param.h == --- head/sys/sys/param.hWed Aug 12 16:22:10 2015(r286671) +++ head/sys/sys/param.hWed Aug 12 16:43:15 2015(r286672) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100077 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100078 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286672 - in head: . sys/sys
On 12 August 2015 at 12:43, Warner Losh i...@freebsd.org wrote: Only people that installed since r284356 really need to do this bootstrapping, but since crunchgen needs to bootstrap for other reasons, bumping the number was the simplest. Perhaps we should always leave the tests as BOOSTRAPPING value, rather than introducing ranges. It seems to me that building a few small tools even when not necessary isn't a big price to pay for the simplicity. ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286674 - head/sys/arm64/arm64
Author: andrew Date: Wed Aug 12 17:06:22 2015 New Revision: 286674 URL: https://svnweb.freebsd.org/changeset/base/286674 Log: Set the counter-timer virtual offset to a know value, it may not have been set by the boot code and are reset to an implementation defined value that may be unknown. Sponsored by: ABT Systems Ltd Modified: head/sys/arm64/arm64/locore.S Modified: head/sys/arm64/arm64/locore.S == --- head/sys/arm64/arm64/locore.S Wed Aug 12 16:53:37 2015 (r286673) +++ head/sys/arm64/arm64/locore.S Wed Aug 12 17:06:22 2015 (r286674) @@ -220,6 +220,14 @@ drop_to_el1: /* Don't trap to EL2 for CP15 traps */ msr hstr_el2, xzr + /* Enable access to the physical timers at EL1 */ + mrs x2, cnthctl_el2 + orr x2, x2, #(CNTHCTL_EL1PCTEN | CNTHCTL_EL1PCEN) + msr cnthctl_el2, x2 + + /* Set the counter offset to a known value */ + msr cntvoff_el2, xzr + /* Hypervisor trap functions */ adr x2, hyp_vectors msr vbar_el2, x2 ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286675 - head/sys/arm64/include
Author: andrew Date: Wed Aug 12 17:09:57 2015 New Revision: 286675 URL: https://svnweb.freebsd.org/changeset/base/286675 Log: Add the CNTHCTL_EL2 register bits missed in r286674 Modified: head/sys/arm64/include/armreg.h Modified: head/sys/arm64/include/armreg.h == --- head/sys/arm64/include/armreg.h Wed Aug 12 17:06:22 2015 (r286674) +++ head/sys/arm64/include/armreg.h Wed Aug 12 17:09:57 2015 (r286675) @@ -41,6 +41,13 @@ #defineWRITE_SPECIALREG(reg, val) \ __asm __volatile(msr__STRING(reg) , %0 : : r((uint64_t)val)) +/* CNTHCTL_EL2 - Counter-timer Hypervisor Control register */ +#defineCNTHCTL_EVNTI_MASK (0xf 4) /* Bit to trigger event stream */ +#defineCNTHCTL_EVNTDIR (1 3) /* Control transition trigger bit */ +#defineCNTHCTL_EVNTEN (1 2) /* Enable event stream */ +#defineCNTHCTL_EL1PCEN (1 1) /* Allow EL0/1 physical timer access */ +#defineCNTHCTL_EL1PCTEN(1 0) /*Allow EL0/1 physical counter access*/ + /* CPACR_EL1 */ #defineCPACR_FPEN_MASK (0x3 20) #define CPACR_FPEN_TRAP_ALL1 (0x0 20) /* Traps from EL0 and EL1 */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286669 - head/sys/netinet
Author: hiren Date: Wed Aug 12 16:08:37 2015 New Revision: 286669 URL: https://svnweb.freebsd.org/changeset/base/286669 Log: Remove unused TCPTV_SRTTDFLT. We initialize srtt with TCPTV_SRTTBASE when we don't have any rtt estimate. Differential Revision:D3334 Sponsored by: Limelight Networks Modified: head/sys/netinet/tcp_timer.h Modified: head/sys/netinet/tcp_timer.h == --- head/sys/netinet/tcp_timer.hWed Aug 12 15:48:14 2015 (r286668) +++ head/sys/netinet/tcp_timer.hWed Aug 12 16:08:37 2015 (r286669) @@ -76,7 +76,6 @@ #defineTCPTV_SRTTBASE 0 /* base roundtrip time; if 0, no idea yet */ #defineTCPTV_RTOBASE ( 3*hz)/* assumed RTO if no info */ -#defineTCPTV_SRTTDFLT ( 3*hz)/* assumed RTT if no info */ #defineTCPTV_PERSMIN ( 5*hz)/* retransmit persistence */ #defineTCPTV_PERSMAX ( 60*hz)/* maximum persist interval */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286670 - head/sys/kern
Author: ed Date: Wed Aug 12 16:17:00 2015 New Revision: 286670 URL: https://svnweb.freebsd.org/changeset/base/286670 Log: Properly return ENOTDIR when calling *at() on a non-vnode. We already properly return ENOTDIR when calling *at() on a non-directory vnode, but it turns out that if you call it on a socket, we see EINVAL. Patch up namei to properly translate this to ENOTDIR. Modified: head/sys/kern/vfs_lookup.c Modified: head/sys/kern/vfs_lookup.c == --- head/sys/kern/vfs_lookup.c Wed Aug 12 16:08:37 2015(r286669) +++ head/sys/kern/vfs_lookup.c Wed Aug 12 16:17:00 2015(r286670) @@ -269,6 +269,8 @@ namei(struct nameidata *ndp) AUDIT_ARG_ATFD2(ndp-ni_dirfd); error = fgetvp_rights(td, ndp-ni_dirfd, rights, ndp-ni_filecaps, dp); + if (error == EINVAL) + error = ENOTDIR; #ifdef CAPABILITIES /* * If file descriptor doesn't have all rights, ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286663 - in head/share/man: man4 man4/man4.i386 man7 man8 man9
Author: brueffer Date: Wed Aug 12 11:56:19 2015 New Revision: 286663 URL: https://svnweb.freebsd.org/changeset/base/286663 Log: Fix mandoc warnings/errors. MFC after:1 week Modified: head/share/man/man4/cloudabi.4 head/share/man/man4/ctl.4 head/share/man/man4/em.4 head/share/man/man4/gre.4 head/share/man/man4/hptiop.4 head/share/man/man4/man4.i386/wl.4 head/share/man/man4/ng_btsocket.4 head/share/man/man4/siftr.4 head/share/man/man4/snp.4 head/share/man/man4/uftdi.4 head/share/man/man4/vt.4 head/share/man/man7/release.7 head/share/man/man8/nanobsd.8 head/share/man/man8/uefi.8 head/share/man/man8/yp.8 head/share/man/man9/PCI_IOV_ADD_VF.9 head/share/man/man9/PCI_IOV_INIT.9 head/share/man/man9/altq.9 head/share/man/man9/ifnet.9 Modified: head/share/man/man4/cloudabi.4 == --- head/share/man/man4/cloudabi.4 Wed Aug 12 11:30:31 2015 (r286662) +++ head/share/man/man4/cloudabi.4 Wed Aug 12 11:56:19 2015 (r286663) @@ -99,5 +99,4 @@ cloudlibc on GitHub: CloudABI support first appeared in .Fx 11.0 . .Sh AUTHORS -Nuxi: -.Pa https://nuxi.nl/ . +.An Nuxi : Pa https://nuxi.nl/ . Modified: head/share/man/man4/ctl.4 == --- head/share/man/man4/ctl.4 Wed Aug 12 11:30:31 2015(r286662) +++ head/share/man/man4/ctl.4 Wed Aug 12 11:56:19 2015(r286663) @@ -119,6 +119,7 @@ In the event that there is no response w forcibly terminated. Set to 0 to disable sending NOP-In PDUs. Defaults to 5. +.El .Sh SEE ALSO .Xr ctladm 8 , .Xr ctld 8 , Modified: head/share/man/man4/em.4 == --- head/share/man/man4/em.4Wed Aug 12 11:30:31 2015(r286662) +++ head/share/man/man4/em.4Wed Aug 12 11:56:19 2015(r286663) @@ -307,5 +307,4 @@ The driver was written by .An Intel Corporation Aq Mt free...@intel.com . .Sh BUGS -.Pp Activating EM_MULTIQUEUE support requires MSI-X features. Modified: head/share/man/man4/gre.4 == --- head/share/man/man4/gre.4 Wed Aug 12 11:30:31 2015(r286662) +++ head/share/man/man4/gre.4 Wed Aug 12 11:56:19 2015(r286663) @@ -154,7 +154,6 @@ ifconfig greN create ifconfig greN inet 198.51.100.1 203.0.113.1 ifconfig greN inet tunnel 198.51.100.1 203.0.113.1 tunnelfib 1 .Ed -.Pp .Sh NOTES The MTU of .Nm Modified: head/share/man/man4/hptiop.4 == --- head/share/man/man4/hptiop.4Wed Aug 12 11:30:31 2015 (r286662) +++ head/share/man/man4/hptiop.4Wed Aug 12 11:56:19 2015 (r286663) @@ -135,4 +135,5 @@ device driver first appeared in .Sh AUTHORS The .Nm -driver was written by HighPoint Technologies, Inc. +driver was written by +.An HighPoint Technologies, Inc. Modified: head/share/man/man4/man4.i386/wl.4 == --- head/share/man/man4/man4.i386/wl.4 Wed Aug 12 11:30:31 2015 (r286662) +++ head/share/man/man4/man4.i386/wl.4 Wed Aug 12 11:56:19 2015 (r286663) @@ -165,7 +165,9 @@ ported the Mach drivers to BSDI. ported them to .Fx 2.1 . .An Michael Smith -ported the wl driver only to 2.2.2. +ported the +.Nm +driver only to 2.2.2. Jim and Michael have been maintaining them. The current state of the driver is NOT ANYONE'S Modified: head/share/man/man4/ng_btsocket.4 == --- head/share/man/man4/ng_btsocket.4 Wed Aug 12 11:30:31 2015 (r286662) +++ head/share/man/man4/ng_btsocket.4 Wed Aug 12 11:56:19 2015 (r286663) @@ -45,8 +45,8 @@ module implements three Netgraph node ty Each type in its turn implements one protocol within .Dv PF_BLUETOOTH domain. -.Sh Dv BLUETOOTH_PROTO_HCI Sh protocol -.Ss Dv SOCK_RAW Ss HCI sockets +.Sh Dv BLUETOOTH_PROTO_HCI protocol +.Ss Dv SOCK_RAW HCI sockets Implemented by .Nm btsock_hci_raw Netgraph type. @@ -147,7 +147,7 @@ level can be used to obtain via or change via .Xr setsockopt 2 raw HCI socket's filter. -.Sh Dv BLUETOOTH_PROTO_L2CAP Sh protocol +.Sh Dv BLUETOOTH_PROTO_L2CAP protocol The Bluetooth L2CAP socket address is defined as follows: .Bd -literal -offset indent /* Bluetooth version of struct sockaddr for L2CAP sockets */ @@ -158,7 +158,7 @@ struct sockaddr_l2cap { bdaddr_t l2cap_bdaddr; /* address */ }; .Ed -.Ss Dv SOCK_RAW Ss L2CAP sockets +.Ss Dv SOCK_RAW L2CAP sockets Implemented by .Nm btsock_l2c_raw Netgraph type. @@ -204,7 +204,7 @@ The variable, that can be examined and set via .Xr sysctl 8 , controls the control request timeout (in seconds) for raw L2CAP sockets. -.Ss Dv SOCK_SEQPACKET Ss L2CAP sockets +.Ss Dv
svn commit: r286662 - head/sys/kern
Author: ed Date: Wed Aug 12 11:30:31 2015 New Revision: 286662 URL: https://svnweb.freebsd.org/changeset/base/286662 Log: Unignore signals when starting CloudABI processes. As CloudABI processes cannot adjust their signal handlers, we need to make sure that we start up CloudABI processes with consistent signal masks. Though the POSIx standard signal behavior is all right, we do need to make sure that we ignore SIGPIPE, as it would otherwise be hard to interact with pipes and sockets. Extend execsigs() to iterate over ps_sigignore and call sigdflt() for each of the ignored signals. Reviewed by: kib Obtained from:https://github.com/NuxiNL/freebsd Differential Revision:https://reviews.freebsd.org/D3365 Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c == --- head/sys/kern/kern_sig.cWed Aug 12 11:07:03 2015(r286661) +++ head/sys/kern/kern_sig.cWed Aug 12 11:30:31 2015(r286662) @@ -952,6 +952,7 @@ sigdflt(struct sigacts *ps, int sig) void execsigs(struct proc *p) { + sigset_t osigignore; struct sigacts *ps; int sig; struct thread *td; @@ -971,6 +972,24 @@ execsigs(struct proc *p) if ((sigprop(sig) SA_IGNORE) != 0) sigqueue_delete_proc(p, sig); } + + /* +* As CloudABI processes cannot modify signal handlers, fully +* reset all signals to their default behavior. Do ignore +* SIGPIPE, as it would otherwise be impossible to recover from +* writes to broken pipes and sockets. +*/ + if (SV_PROC_ABI(p) == SV_ABI_CLOUDABI) { + osigignore = ps-ps_sigignore; + while (SIGNOTEMPTY(osigignore)) { + sig = sig_ffs(osigignore); + SIGDELSET(osigignore, sig); + if (sig != SIGPIPE) + sigdflt(ps, sig); + } + SIGADDSET(ps-ps_sigignore, SIGPIPE); + } + /* * Reset stack state to the user stack. * Clear set of signals caught on the signal stack. ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286672 - in head: . sys/sys
On Aug 12, 2015, at 11:07 AM, Ed Maste carpedd...@gmail.com wrote: On 12 August 2015 at 12:43, Warner Losh i...@freebsd.org wrote: Only people that installed since r284356 really need to do this bootstrapping, but since crunchgen needs to bootstrap for other reasons, bumping the number was the simplest. Perhaps we should always leave the tests as BOOSTRAPPING value, rather than introducing ranges. It seems to me that building a few small tools even when not necessary isn't a big price to pay for the simplicity. I tend to agree, and that’s why I left it like this on -current. For stable, I could see both sides. If I made the test strictly , then it would effectively always build on the most common scenario of building stable on stable. I opted to include a comment about the window on -stable. I also plan on removing it after a few months since this window was so short relatively to the release cycle. Several folks had comments about this issue, which is why I went ahead and put the seat belts in place, at least for now. Warner signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r286677 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Author: mav Date: Wed Aug 12 17:21:41 2015 New Revision: 286677 URL: https://svnweb.freebsd.org/changeset/base/286677 Log: MFV r286224: 5695 dmu_sync'ed holes do not retain birth time illumos/illumos-gate@70163ac57e58ace1c5c94dfbe85dca5a974eff36 https://www.illumos.org/issues/5695 In dmu_sync_ready(), a hole block pointer will have it's logical size explicitly set as it's necessary for replay purposes. To undo this, dmu_sync_done() will zero out any hole that it finds. This becomes a problem when using the hole_birth feature, as this will also wipe out any birth time that might have happened to be set on the hole. ... As a fix, the logic to zero out a hole is only applied to old style holes with a birth time of zero. Holes created with the hole_birth feature enabled will have a non-zero birth time, and will be skipped (thus preserving the ltime, type, and level information as well). In addition, zdb was updated to also print the ltime, type, and level information for these new style holes. Previously, only the logical birth time would be printed. Author: Prakash Surya prakash.su...@delphix.com Reviewed by: Matthew Ahrens mahr...@delphix.com Reviewed by: George Wilson geo...@delphix.com Reviewed by: Christopher Siden christopher.si...@delphix.com Reviewed by: Bayard Bell buffer.g.overf...@gmail.com Approved by: Dan McDonald dan...@omniti.com Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Wed Aug 12 17:19:52 2015(r286676) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Wed Aug 12 17:21:41 2015(r286677) @@ -1484,7 +1484,19 @@ dmu_sync_done(zio_t *zio, arc_buf_t *buf dr-dt.dl.dr_overridden_by = *zio-io_bp; dr-dt.dl.dr_override_state = DR_OVERRIDDEN; dr-dt.dl.dr_copies = zio-io_prop.zp_copies; - if (BP_IS_HOLE(dr-dt.dl.dr_overridden_by)) + + /* +* Old style holes are filled with all zeros, whereas +* new-style holes maintain their lsize, type, level, +* and birth time (see zio_write_compress). While we +* need to reset the BP_SET_LSIZE() call that happened +* in dmu_sync_ready for old style holes, we do *not* +* want to wipe out the information contained in new +* style holes. Thus, only zero out the block pointer if +* it's an old style hole. +*/ + if (BP_IS_HOLE(dr-dt.dl.dr_overridden_by) + dr-dt.dl.dr_overridden_by.blk_birth == 0) BP_ZERO(dr-dt.dl.dr_overridden_by); } else { dr-dt.dl.dr_override_state = DR_NOT_OVERRIDDEN; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Wed Aug 12 17:19:52 2015(r286676) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Wed Aug 12 17:21:41 2015(r286677) @@ -536,12 +536,13 @@ _NOTE(CONSTCOND) } while (0) if (bp == NULL) { \ len += func(buf + len, size - len, NULL); \ } else if (BP_IS_HOLE(bp)) {\ - len += func(buf + len, size - len, hole); \ - if (bp-blk_birth 0) {\ - len += func(buf + len, size - len, \ -birth=%lluL, \ - (u_longlong_t)bp-blk_birth); \ - } \ + len += func(buf + len, size - len, \ + HOLE [L%llu %s] \ + size=%llxL birth=%lluL, \ + (u_longlong_t)BP_GET_LEVEL(bp), \ + type, \ + (u_longlong_t)BP_GET_LSIZE(bp), \ + (u_longlong_t)bp-blk_birth); \ } else if (BP_IS_EMBEDDED(bp)) {\ len = func(buf + len, size - len, \ EMBEDDED [L%llu %s] et=%u %s \
Re: svn commit: r286667 - in head/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86
[CC ed] On Aug 12, 2015, at 10:37 AM, Ed Schouten e...@nuxi.nl wrote: Hi Marcel, 2015-08-12 17:26 GMT+02:00 Marcel Moolenaar mar...@freebsd.org: Better support memory mapped console devices, such as VGA and EFI frame buffers and memory mapped UARTs. This change causes my FreeBSD instance in Virtualbox 4.3.28 (OS X) to crash. As soon as the kernel initializes the graphics on startup (read: before printing any messages), I see random garbage appear on screen, followed by a popup dialog from Virtualbox that a fatal machine exception has occurred. Would you mind creating a PR so that we can track the various console issues pre and post this change. Details as to how to reproduce would be much appreciated! Thanks, -- Marcel Moolenaar mar...@xcllnt.net signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r286683 - in head: cddl/contrib/opensolaris/lib/libzfs_core/common sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys
Author: mav Date: Wed Aug 12 18:23:08 2015 New Revision: 286683 URL: https://svnweb.freebsd.org/changeset/base/286683 Log: MFV r286682: 5765 add support for estimating send stream size with lzc_send_space when source is a bookmark Reviewed by: Matthew Ahrens mahr...@delphix.com Reviewed by: Christopher Siden christopher.si...@delphix.com Reviewed by: Steven Hartland kill...@multiplay.co.uk Reviewed by: Bayard Bell buffer.g.overf...@gmail.com Approved by: Albert Lee tr...@nexenta.com Author: Max Grossman max.gross...@delphix.com illumos/illumos-gate@643da460c8ca583e39ce053081754e24087f84c8 Modified: head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c == --- head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Wed Aug 12 18:08:40 2015(r286682) +++ head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Wed Aug 12 18:23:08 2015(r286683) @@ -20,7 +20,7 @@ */ /* - * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. */ @@ -532,18 +532,30 @@ lzc_send(const char *snapname, const cha } /* - * If fromsnap is NULL, a full (non-incremental) stream will be estimated. + * from can be NULL, a snapshot, or a bookmark. + * + * If from is NULL, a full (non-incremental) stream will be estimated. This + * is calculated very efficiently. + * + * If from is a snapshot, lzc_send_space uses the deadlists attached to + * each snapshot to efficiently estimate the stream size. + * + * If from is a bookmark, the indirect blocks in the destination snapshot + * are traversed, looking for blocks with a birth time since the creation TXG of + * the snapshot this bookmark was created from. This will result in + * significantly more I/O and be less efficient than a send space estimation on + * an equivalent snapshot. */ int -lzc_send_space(const char *snapname, const char *fromsnap, uint64_t *spacep) +lzc_send_space(const char *snapname, const char *from, uint64_t *spacep) { nvlist_t *args; nvlist_t *result; int err; args = fnvlist_alloc(); - if (fromsnap != NULL) - fnvlist_add_string(args, fromsnap, fromsnap); + if (from != NULL) + fnvlist_add_string(args, from, from); err = lzc_ioctl(ZFS_IOC_SEND_SPACE, snapname, args, result); nvlist_free(args); if (err == 0) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Wed Aug 12 18:08:40 2015(r286682) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Wed Aug 12 18:23:08 2015(r286683) @@ -856,6 +856,40 @@ dmu_send(const char *tosnap, const char return (err); } +static int +dmu_adjust_send_estimate_for_indirects(dsl_dataset_t *ds, uint64_t size, +uint64_t *sizep) +{ + int err; + /* +* Assume that space (both on-disk and in-stream) is dominated by +* data. We will adjust for indirect blocks and the copies property, +* but ignore per-object space used (eg, dnodes and DRR_OBJECT records). +*/ + + /* +* Subtract out approximate space used by indirect blocks. +* Assume most space is used by data blocks (non-indirect, non-dnode). +* Assume all blocks are recordsize. Assume ditto blocks and +* internal fragmentation counter out compression. +* +* Therefore, space used by indirect blocks is sizeof(blkptr_t) per +* block, which we observe in practice. +*/ + uint64_t recordsize; + err = dsl_prop_get_int_ds(ds, recordsize, recordsize); + if (err != 0) + return (err); + size -= size / recordsize * sizeof (blkptr_t); + + /* Add in the space for the record associated with each block. */ + size += size / recordsize * sizeof (dmu_replay_record_t); + + *sizep = size; + + return (0); +} + int dmu_send_estimate(dsl_dataset_t *ds, dsl_dataset_t *fromds, uint64_t *sizep) { @@ -891,33 +925,61 @@ dmu_send_estimate(dsl_dataset_t *ds, dsl return (err); } - /* -* Assume that space (both on-disk and in-stream) is dominated by -* data. We will
svn commit: r286687 - head
Author: imp Date: Wed Aug 12 19:00:47 2015 New Revision: 286687 URL: https://svnweb.freebsd.org/changeset/base/286687 Log: Document build-tools better. Add rescue back because it builds /bin/sh which has a build-tools target (see commit for how build-tools and cross-tools differ). Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Wed Aug 12 18:47:30 2015(r286686) +++ head/Makefile.inc1 Wed Aug 12 19:00:47 2015(r286687) @@ -219,11 +219,16 @@ INSTALLTMP!= /usr/bin/mktemp -d -u -t in # 2. build-tools stage [TMAKE] # This stage is responsible for creating the object # tree and building any tools that are needed during -# the build process. +# the build process. Some programs are listed during +# this phase because they build binaires to generate +# files needed to build these programs. This stage also +# builds the 'build-tools' target rather than 'all'. # 3. cross-tools stage [XMAKE] # This stage is responsible for creating any tools that # are needed for building the system. A cross-compiler is one -# of them. +# of them. This differs from build tools in two ways: +# 1. the 'all' target is built rather than 'build-tools' +# 2. these tools are installed into TMPPATH for stage 4. # 4. world stage [WMAKE] # This stage actually builds the world. # 5. install stage (optional) [IMAKE] @@ -1432,6 +1437,11 @@ _share= share/syscons/scrnmaps _gcc_tools= gnu/usr.bin/cc/cc_tools .endif +.if ${MK_RESCUE} != no +# rescue includes programs that have build-tools targets +_rescue=rescue +.endif + build-tools: .MAKE .for _tool in \ bin/csh \ @@ -1439,6 +1449,7 @@ build-tools: .MAKE ${LOCAL_TOOL_DIRS} \ lib/ncurses/ncurses \ lib/ncurses/ncursesw \ +${_rescue} ${_share} \ usr.bin/awk \ lib/libmagic \ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286689 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Author: mav Date: Wed Aug 12 19:10:29 2015 New Revision: 286689 URL: https://svnweb.freebsd.org/changeset/base/286689 Log: MFV r284763: 5981 Deadlock in dmu_objset_find_dp illumos/illumos-gate@1d3f896f5469c69c1339890ec3d68e9feddb0343 https://www.illumos.org/issues/5981 When dmu_objset_find_dp gets called with a read lock held, it fans out the work to the task queue. Each task in turn acquires its own read lock before calling the callback. If during this process anyone tries to a acquire a write lock, it will stall all read lock requests.Thus the tasks will never finish, the read lock of the caller will never get freed and the write lock never acquired. deadlock. Reviewed by: Matthew Ahrens mahr...@delphix.com Reviewed by: Dan McDonald dan...@omniti.com Approved by: Robert Mustacchi r...@joyent.com Author: Arne Jansen jan...@webgods.de Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/rrwlock.h Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.cWed Aug 12 19:06:35 2015(r286688) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.cWed Aug 12 19:10:29 2015(r286689) @@ -1746,7 +1746,15 @@ dmu_objset_find_dp_cb(void *arg) dmu_objset_find_ctx_t *dcp = arg; dsl_pool_t *dp = dcp-dc_dp; - dsl_pool_config_enter(dp, FTAG); + /* +* We need to get a pool_config_lock here, as there are several +* asssert(pool_config_held) down the stack. Getting a lock via +* dsl_pool_config_enter is risky, as it might be stalled by a +* pending writer. This would deadlock, as the write lock can +* only be granted when our parent thread gives up the lock. +* The _prio interface gives us priority over a pending writer. +*/ + dsl_pool_config_enter_prio(dp, FTAG); dmu_objset_find_dp_impl(dcp); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Wed Aug 12 19:06:35 2015(r286688) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Wed Aug 12 19:10:29 2015(r286689) @@ -1139,6 +1139,13 @@ dsl_pool_config_enter(dsl_pool_t *dp, vo } void +dsl_pool_config_enter_prio(dsl_pool_t *dp, void *tag) +{ + ASSERT(!rrw_held(dp-dp_config_rwlock, RW_READER)); + rrw_enter_read_prio(dp-dp_config_rwlock, tag); +} + +void dsl_pool_config_exit(dsl_pool_t *dp, void *tag) { rrw_exit(dp-dp_config_rwlock, tag); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c Wed Aug 12 19:06:35 2015(r286688) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c Wed Aug 12 19:10:29 2015(r286689) @@ -159,8 +159,8 @@ rrw_destroy(rrwlock_t *rrl) refcount_destroy(rrl-rr_linked_rcount); } -void -rrw_enter_read(rrwlock_t *rrl, void *tag) +static void +rrw_enter_read_impl(rrwlock_t *rrl, boolean_t prio, void *tag) { mutex_enter(rrl-rr_lock); #if !defined(DEBUG) defined(_KERNEL) @@ -176,7 +176,7 @@ rrw_enter_read(rrwlock_t *rrl, void *tag ASSERT(refcount_count(rrl-rr_anon_rcount) = 0); while (rrl-rr_writer != NULL || (rrl-rr_writer_wanted - refcount_is_zero(rrl-rr_anon_rcount) + refcount_is_zero(rrl-rr_anon_rcount) !prio rrn_find(rrl) == NULL)) cv_wait(rrl-rr_cv, rrl-rr_lock); @@ -192,6 +192,25 @@ rrw_enter_read(rrwlock_t *rrl, void *tag } void +rrw_enter_read(rrwlock_t *rrl, void *tag) +{ + rrw_enter_read_impl(rrl, B_FALSE, tag); +} + +/* + * take a read lock even if there are pending write lock requests. if we want + * to take a lock reentrantly, but from different threads (that have a + * relationship to each other), the normal detection mechanism to overrule + * the pending writer does not work, so we have to give an explicit hint here. + */ +void +rrw_enter_read_prio(rrwlock_t *rrl, void *tag) +{ + rrw_enter_read_impl(rrl, B_TRUE, tag); +} + + +void rrw_enter_write(rrwlock_t *rrl) { mutex_enter(rrl-rr_lock); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
svn commit: r286691 - head
Author: delphij Date: Wed Aug 12 19:21:58 2015 New Revision: 286691 URL: https://svnweb.freebsd.org/changeset/base/286691 Log: Fix build. Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Wed Aug 12 19:18:54 2015(r286690) +++ head/Makefile.inc1 Wed Aug 12 19:21:58 2015(r286691) @@ -1449,7 +1449,7 @@ build-tools: .MAKE ${LOCAL_TOOL_DIRS} \ lib/ncurses/ncurses \ lib/ncurses/ncursesw \ -${_rescue} +${_rescue} \ ${_share} \ usr.bin/awk \ lib/libmagic \ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286692 - head/sys/arm/ti/am335x
Author: ian Date: Wed Aug 12 19:25:22 2015 New Revision: 286692 URL: https://svnweb.freebsd.org/changeset/base/286692 Log: Add a MODULE_VERSION(), because other things MODULE_DEPEND() on this. Modified: head/sys/arm/ti/am335x/am335x_prcm.c Modified: head/sys/arm/ti/am335x/am335x_prcm.c == --- head/sys/arm/ti/am335x/am335x_prcm.cWed Aug 12 19:21:58 2015 (r286691) +++ head/sys/arm/ti/am335x/am335x_prcm.cWed Aug 12 19:25:22 2015 (r286692) @@ -456,6 +456,7 @@ static devclass_t am335x_prcm_devclass; DRIVER_MODULE(am335x_prcm, simplebus, am335x_prcm_driver, am335x_prcm_devclass, 0, 0); +MODULE_VERSION(am335x_prcm, 1); MODULE_DEPEND(am335x_prcm, ti_scm, 1, 1, 1); static struct am335x_clk_details* ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286693 - head/sys/arm/ti
Author: ian Date: Wed Aug 12 19:26:36 2015 New Revision: 286693 URL: https://svnweb.freebsd.org/changeset/base/286693 Log: Remove a bogus printf that whines every time loading a driver module triggers a fresh round of probing. Modified: head/sys/arm/ti/ti_scm.c Modified: head/sys/arm/ti/ti_scm.c == --- head/sys/arm/ti/ti_scm.cWed Aug 12 19:25:22 2015(r286692) +++ head/sys/arm/ti/ti_scm.cWed Aug 12 19:26:36 2015(r286693) @@ -96,8 +96,6 @@ ti_scm_probe(device_t dev) return (ENXIO); if (ti_scm_sc) { - printf(%s: multiple SCM modules in device tree data, ignoring\n, - __func__); return (EEXIST); } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286678 - head/sys/arm/ti
Author: ian Date: Wed Aug 12 17:23:15 2015 New Revision: 286678 URL: https://svnweb.freebsd.org/changeset/base/286678 Log: Add a routine to return the hardware instance/unit number from ti,hwmods, given the hardware name. The ti,hwmods property is used (among other things) to associate an fdt node with a specific instance of some hardware. For example given a device node that contains the property ti,hwmods = timer3, if you call this passing timer as the hwmod string to look for it would return 3. Modified: head/sys/arm/ti/ti_hwmods.c head/sys/arm/ti/ti_hwmods.h Modified: head/sys/arm/ti/ti_hwmods.c == --- head/sys/arm/ti/ti_hwmods.c Wed Aug 12 17:21:41 2015(r286677) +++ head/sys/arm/ti/ti_hwmods.c Wed Aug 12 17:23:15 2015(r286678) @@ -168,3 +168,35 @@ int ti_hwmods_contains(device_t dev, con return (result); } + +int +ti_hwmods_get_unit(device_t dev, const char *hwmod) +{ + phandle_t node; + int l, len, hwmodlen, result; + char *name; + char *buf; + + if ((node = ofw_bus_get_node(dev)) == 0) + return (0); + + if ((len = OF_getprop_alloc(node, ti,hwmods, 1, (void**)name)) = 0) + return (0); + + buf = name; + hwmodlen = strlen(hwmod); + result = 0; + while (len 0) { + if (strncmp(name, hwmod, hwmodlen) == 0) { +result = (int)strtoul(name + hwmodlen, NULL, 10); + break; + } + /* Slide to the next sub-string. */ + l = strlen(name) + 1; + name += l; + len -= l; + } + + free(buf, M_OFWPROP); + return (result); +} Modified: head/sys/arm/ti/ti_hwmods.h == --- head/sys/arm/ti/ti_hwmods.h Wed Aug 12 17:21:41 2015(r286677) +++ head/sys/arm/ti/ti_hwmods.h Wed Aug 12 17:23:15 2015(r286678) @@ -31,4 +31,7 @@ clk_ident_t ti_hwmods_get_clock(device_t dev); int ti_hwmods_contains(device_t dev, const char *hwmod); +/* Returns the N from hwmodN in the ti,hwmods property; 0 on failure. */ +int ti_hwmods_get_unit(device_t dev, const char *hwmod); + #endif /* _TI_HWMODS_H_ */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286679 - in head: cddl/contrib/opensolaris cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs sys/cddl/contr...
Author: mav Date: Wed Aug 12 17:32:58 2015 New Revision: 286679 URL: https://svnweb.freebsd.org/changeset/base/286679 Log: Record mergeinfo. Modified: Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286680 - head/sys/compat/cloudabi64
Author: ed Date: Wed Aug 12 17:42:20 2015 New Revision: 286680 URL: https://svnweb.freebsd.org/changeset/base/286680 Log: Add the last remaining system calls: send() and recv(). There is still one TODO item for these calls: add file descriptor passing. The data structures are already prepared for this. It's just the translation that's missing. Obtained from:http://github.com/NuxiNL/freebsd Modified: head/sys/compat/cloudabi64/cloudabi64_sock.c Modified: head/sys/compat/cloudabi64/cloudabi64_sock.c == --- head/sys/compat/cloudabi64/cloudabi64_sock.cWed Aug 12 17:32:58 2015(r286679) +++ head/sys/compat/cloudabi64/cloudabi64_sock.cWed Aug 12 17:42:20 2015(r286680) @@ -26,23 +26,119 @@ #include sys/cdefs.h __FBSDID($FreeBSD$); +#include sys/param.h +#include sys/kernel.h +#include sys/malloc.h +#include sys/proc.h +#include sys/socket.h +#include sys/syscallsubr.h +#include sys/systm.h +#include sys/uio.h + +#include compat/cloudabi/cloudabi_util.h + #include compat/cloudabi64/cloudabi64_syscalldefs.h #include compat/cloudabi64/cloudabi64_proto.h +static MALLOC_DEFINE(M_SOCKET, socket, CloudABI socket); + int cloudabi64_sys_sock_recv(struct thread *td, struct cloudabi64_sys_sock_recv_args *uap) { + struct sockaddr_storage ss; + cloudabi64_recv_in_t ri; + cloudabi64_recv_out_t ro = {}; + cloudabi64_iovec_t iovobj; + struct msghdr msghdr = {}; + size_t i; + int error; + + error = copyin(uap-in, ri, sizeof(ri)); + if (error != 0) + return (error); + + /* Convert results in cloudabi_recv_in_t to struct msghdr. */ + if (ri.ri_datalen UIO_MAXIOV) + return (EINVAL); + msghdr.msg_iovlen = ri.ri_datalen; + msghdr.msg_iov = malloc(msghdr.msg_iovlen * sizeof(struct iovec), + M_SOCKET, M_WAITOK); + for (i = 0; i msghdr.msg_iovlen; i++) { + error = copyin(((cloudabi64_iovec_t *)ri.ri_data)[i], iovobj, + sizeof(iovobj)); + if (error != 0) { + free(msghdr.msg_iov, M_SOCKET); + return (error); + } + msghdr.msg_iov[i].iov_base = (void *)iovobj.iov_base; + msghdr.msg_iov[i].iov_len = iovobj.iov_len; + } + msghdr.msg_name = ss; + msghdr.msg_namelen = sizeof(ss); + if (ri.ri_flags CLOUDABI_MSG_PEEK) + msghdr.msg_flags |= MSG_PEEK; + if (ri.ri_flags CLOUDABI_MSG_WAITALL) + msghdr.msg_flags |= MSG_WAITALL; - /* Not implemented. */ - return (ENOSYS); + /* TODO(ed): Add file descriptor passing. */ + error = kern_recvit(td, uap-s, msghdr, UIO_SYSSPACE, NULL); + free(msghdr.msg_iov, M_SOCKET); + if (error != 0) + return (error); + + /* Convert results in msghdr to cloudabi_recv_out_t. */ + ro.ro_datalen = td-td_retval[0]; + cloudabi_convert_sockaddr((struct sockaddr *)ss, + MIN(msghdr.msg_namelen, sizeof(ss)), ro.ro_peername); + td-td_retval[0] = 0; + return (copyout(ro, uap-out, sizeof(ro))); } int cloudabi64_sys_sock_send(struct thread *td, struct cloudabi64_sys_sock_send_args *uap) { + cloudabi64_send_in_t si; + cloudabi64_send_out_t so = {}; + cloudabi64_ciovec_t iovobj; + struct msghdr msghdr = {}; + size_t i; + int error, flags; + + error = copyin(uap-in, si, sizeof(si)); + if (error != 0) + return (error); + + /* Convert results in cloudabi_send_in_t to struct msghdr. */ + if (si.si_datalen UIO_MAXIOV) + return (EINVAL); + msghdr.msg_iovlen = si.si_datalen; + msghdr.msg_iov = malloc(msghdr.msg_iovlen * sizeof(struct iovec), + M_SOCKET, M_WAITOK); + for (i = 0; i msghdr.msg_iovlen; i++) { + error = copyin(((cloudabi64_ciovec_t *)si.si_data)[i], iovobj, + sizeof(iovobj)); + if (error != 0) { + free(msghdr.msg_iov, M_SOCKET); + return (error); + } + msghdr.msg_iov[i].iov_base = (void *)iovobj.iov_base; + msghdr.msg_iov[i].iov_len = iovobj.iov_len; + } + + flags = MSG_NOSIGNAL; + if (si.si_flags CLOUDABI_MSG_EOR) + flags |= MSG_EOR; + + /* TODO(ed): Add file descriptor passing. */ + error = kern_sendit(td, uap-s, msghdr, flags, NULL, UIO_USERSPACE); + free(msghdr.msg_iov, M_SOCKET); + if (error != 0) + return (error); - /* Not implemented. */ - return (ENOSYS); + /* Convert results in msghdr to cloudabi_send_out_t. */ + so.so_datalen = td-td_retval[0]; + td-td_retval[0] = 0; + return (copyout(so, uap-out,
Re: svn commit: r286667 - in head/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86
On Wed, Aug 12, 2015 at 03:26:32PM +, Marcel Moolenaar wrote: Author: marcel Date: Wed Aug 12 15:26:32 2015 New Revision: 286667 URL: https://svnweb.freebsd.org/changeset/base/286667 Log: Better support memory mapped console devices, such as VGA and EFI frame buffers and memory mapped UARTs. Thanks, that makes my laptop usable on FreeBSD: boot on EFI correctly then able to Use scfb Xorg driver instead of VESA (waiting for newer KMS this is a relief!) Thanks a lot. Bapt pgpnVlGSKADIJ.pgp Description: PGP signature
svn commit: r286686 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Author: mav Date: Wed Aug 12 18:47:30 2015 New Revision: 286686 URL: https://svnweb.freebsd.org/changeset/base/286686 Log: MFV r284762: 5269 zpool import slow illumos/illumos-gate@12380e1e701fda28c9e9f32d01cafb54af279eb5 https://www.illumos.org/issues/5269 When importing a pool (at boot or with zpool import) with many filesystem, the process can take minutes. It doesn't matter whether the pool has been exported cleanly or uncleanly. The problem is that each dataset has its own log chain. On import, all datasets have to be checked if there are logs to replay. The idea is to speed up this process by paralellizing it. Reviewed by: Matthew Ahrens mahr...@delphix.com Reviewed by: George Wilson geo...@delphix.com Reviewed by: Dan McDonald dan...@omniti.com Approved by: Dan McDonald dan...@omniti.com Author: Arne Jansen jan...@webgods.de Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.cWed Aug 12 18:39:49 2015(r286685) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.cWed Aug 12 18:47:30 2015(r286686) @@ -25,6 +25,7 @@ * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2015, STRATO AG, Inc. All rights reserved. */ /* Portions Copyright 2010 Robert Milkowski */ @@ -49,6 +50,7 @@ #include sys/sa.h #include sys/zfs_onexit.h #include sys/dsl_destroy.h +#include sys/vdev.h /* * Needed to close a window in dnode_move() that allows the objset to be freed @@ -56,6 +58,16 @@ */ krwlock_t os_lock; +/* + * Tunable to overwrite the maximum number of threads for the parallization + * of dmu_objset_find_dp, needed to speed up the import of pools with many + * datasets. + * Default is 4 times the number of leaf vdevs. + */ +int dmu_find_threads = 0; + +static void dmu_objset_find_dp_cb(void *arg); + void dmu_objset_init(void) { @@ -504,6 +516,25 @@ dmu_objset_hold(const char *name, void * return (err); } +static int +dmu_objset_own_impl(dsl_dataset_t *ds, dmu_objset_type_t type, +boolean_t readonly, void *tag, objset_t **osp) +{ + int err; + + err = dmu_objset_from_ds(ds, osp); + if (err != 0) { + dsl_dataset_disown(ds, tag); + } else if (type != DMU_OST_ANY type != (*osp)-os_phys-os_type) { + dsl_dataset_disown(ds, tag); + return (SET_ERROR(EINVAL)); + } else if (!readonly dsl_dataset_is_snapshot(ds)) { + dsl_dataset_disown(ds, tag); + return (SET_ERROR(EROFS)); + } + return (err); +} + /* * dsl_pool must not be held when this is called. * Upon successful return, there will be a longhold on the dataset, @@ -525,21 +556,26 @@ dmu_objset_own(const char *name, dmu_obj dsl_pool_rele(dp, FTAG); return (err); } - - err = dmu_objset_from_ds(ds, osp); + err = dmu_objset_own_impl(ds, type, readonly, tag, osp); dsl_pool_rele(dp, FTAG); - if (err != 0) { - dsl_dataset_disown(ds, tag); - } else if (type != DMU_OST_ANY type != (*osp)-os_phys-os_type) { - dsl_dataset_disown(ds, tag); - return (SET_ERROR(EINVAL)); - } else if (!readonly ds-ds_is_snapshot) { - dsl_dataset_disown(ds, tag); - return (SET_ERROR(EROFS)); - } + return (err); } +int +dmu_objset_own_obj(dsl_pool_t *dp, uint64_t obj, dmu_objset_type_t type, +boolean_t readonly, void *tag, objset_t **osp) +{ + dsl_dataset_t *ds; + int err; + + err = dsl_dataset_own_obj(dp, obj, tag, ds); + if (err != 0) + return (err); + + return (dmu_objset_own_impl(ds, type, readonly, tag, osp)); +} + void dmu_objset_rele(objset_t *os, void *tag) { @@ -1580,30 +1616,41 @@ dmu_dir_list_next(objset_t *os, int name return (0); } -/* - * Find objsets under and including ddobj, call
Re: svn commit: r286667 - in head/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86
Hi Marcel, 2015-08-12 17:26 GMT+02:00 Marcel Moolenaar mar...@freebsd.org: Better support memory mapped console devices, such as VGA and EFI frame buffers and memory mapped UARTs. This change causes my FreeBSD instance in Virtualbox 4.3.28 (OS X) to crash. As soon as the kernel initializes the graphics on startup (read: before printing any messages), I see random garbage appear on screen, followed by a popup dialog from Virtualbox that a fatal machine exception has occurred. HTH, -- Ed Schouten e...@nuxi.nl Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717 ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286681 - head/sys/kern
Author: ed Date: Wed Aug 12 17:46:26 2015 New Revision: 286681 URL: https://svnweb.freebsd.org/changeset/base/286681 Log: Perform cleanups in response to D3307. - Document the kern_kevent_anonymous() function. - Add assertions to ensure that we don't silently leave the kqueue linked from a file descriptor table. Reviewed by: jmg Differential Revision:https://reviews.freebsd.org/D3364 Modified: head/sys/kern/kern_event.c Modified: head/sys/kern/kern_event.c == --- head/sys/kern/kern_event.c Wed Aug 12 17:42:20 2015(r286680) +++ head/sys/kern/kern_event.c Wed Aug 12 17:46:26 2015(r286681) @@ -975,6 +975,10 @@ kern_kevent_fp(struct thread *td, struct return (error); } +/* + * Performs a kevent() call on a temporarily created kqueue. This can be + * used to perform one-shot polling, similar to poll() and select(). + */ int kern_kevent_anonymous(struct thread *td, int nevents, struct kevent_copyops *k_ops) @@ -1831,6 +1835,8 @@ static void kqueue_destroy(struct kqueue *kq) { + KASSERT(kq-kq_fdp == NULL, + (kqueue still attached to a file descriptor)); seldrain(kq-kq_sel); knlist_destroy(kq-kq_sel.si_note); mtx_destroy(kq-kq_lock); @@ -1863,6 +1869,7 @@ kqueue_close(struct file *fp, struct thr * take the sleepable lock after non-sleepable. */ fdp = kq-kq_fdp; + kq-kq_fdp = NULL; if (!sx_xlocked(FILEDESC_LOCK(fdp))) { FILEDESC_XLOCK(fdp); filedesc_unlock = 1; ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286676 - head
Author: imp Date: Wed Aug 12 17:19:52 2015 New Revision: 286676 URL: https://svnweb.freebsd.org/changeset/base/286676 Log: Why on earth have we been building rescue as a build tool for the past 12 years? Nothing downstream in the build uses it. Eliminate it as a build tool. Reviewed by: emaste@ (just delete it) Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Wed Aug 12 17:09:57 2015(r286675) +++ head/Makefile.inc1 Wed Aug 12 17:19:52 2015(r286676) @@ -1432,15 +1432,10 @@ _share= share/syscons/scrnmaps _gcc_tools= gnu/usr.bin/cc/cc_tools .endif -.if ${MK_RESCUE} != no -_rescue= rescue/rescue -.endif - build-tools: .MAKE .for _tool in \ bin/csh \ bin/sh \ -${_rescue} \ ${LOCAL_TOOL_DIRS} \ lib/ncurses/ncurses \ lib/ncurses/ncursesw \ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r286696 - head/sys/arm/ti/am335x
Author: ian Date: Wed Aug 12 19:40:32 2015 New Revision: 286696 URL: https://svnweb.freebsd.org/changeset/base/286696 Log: Remove all dregs of the old PPS driver from this code, in preparation for redoing it as a separate driver. Now that each hardware timer is handled by a separate instance of the timer driver, it no longer makes sense to bundle the pps driver with the regular timecounter code. (When all 8 timers were handled by one driver there was no choice about this.) Split the hardware register definitions out to their own file, so that the new pps driver (coming in a separate commit later) can share them. With the PPS driver gone, the question of which hardware timer to use for what purpose becomes much easier (some instances can't do the PPS capture). Now we can just hardcore timer2 for eventtimer and timer3 for timecounter. This also now only instantiates devices for the 2 hardware timers actually used to implement eventtimer and timecounter. This is required so that other drivers can come along and attach to other hardware timers to provide other functionality. (In addition to PPS, this hardware can also do PWM stuff, general pulse width and frequency measurements, etc. Maybe some day we'll have drivers for those things.) Added: head/sys/arm/ti/am335x/am335x_dmtreg.h (contents, props changed) Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c == --- head/sys/arm/ti/am335x/am335x_dmtimer.c Wed Aug 12 19:39:11 2015 (r286695) +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Wed Aug 12 19:40:32 2015 (r286696) @@ -30,79 +30,22 @@ __FBSDID($FreeBSD$); #include sys/param.h #include sys/systm.h #include sys/bus.h -#include sys/conf.h #include sys/kernel.h #include sys/module.h #include sys/malloc.h #include sys/rman.h -#include sys/taskqueue.h #include sys/timeet.h -#include sys/timepps.h #include sys/timetc.h -#include sys/watchdog.h #include machine/bus.h -#include machine/cpu.h -#include machine/intr.h -#include opt_ntp.h - -#include dev/fdt/fdt_common.h #include dev/ofw/openfirm.h #include dev/ofw/ofw_bus.h #include dev/ofw/ofw_bus_subr.h -#include machine/bus.h - #include arm/ti/ti_prcm.h #include arm/ti/ti_hwmods.h -#include arm/ti/ti_pinmux.h -#defineAM335X_NUM_TIMERS 8 - -#defineDMT_TIDR0x00/* Identification Register */ -#defineDMT_TIOCP_CFG 0x10/* OCP Configuration Reg */ -#define DMT_TIOCP_RESET (1 0) /* TIOCP perform soft reset */ -#defineDMT_IQR_EOI 0x20/* IRQ End-Of-Interrupt Reg */ -#defineDMT_IRQSTATUS_RAW 0x24/* IRQSTATUS Raw Reg */ -#defineDMT_IRQSTATUS 0x28/* IRQSTATUS Reg */ -#defineDMT_IRQENABLE_SET 0x2c/* IRQSTATUS Set Reg */ -#defineDMT_IRQENABLE_CLR 0x30/* IRQSTATUS Clear Reg */ -#defineDMT_IRQWAKEEN 0x34/* IRQ Wakeup Enable Reg */ -#define DMT_IRQ_MAT (1 0) /* IRQ: Match */ -#define DMT_IRQ_OVF (1 1) /* IRQ: Overflow */ -#define DMT_IRQ_TCAR(1 2) /* IRQ: Capture */ -#define DMT_IRQ_MASK(DMT_IRQ_TCAR | DMT_IRQ_OVF | DMT_IRQ_MAT) -#defineDMT_TCLR0x38/* Control Register */ -#define DMT_TCLR_START (1 0) /* Start timer */ -#define DMT_TCLR_AUTOLOAD (1 1) /* Auto-reload on overflow */ -#define DMT_TCLR_PRES_MASK (7 2) /* Prescaler mask */ -#define DMT_TCLR_PRES_ENABLE(1 5) /* Prescaler enable */ -#define DMT_TCLR_COMP_ENABLE(1 6) /* Compare enable */ -#define DMT_TCLR_PWM_HIGH (1 7) /* PWM default output high */ -#define DMT_TCLR_CAPTRAN_MASK (3 8) /* Capture transition mask */ -#define DMT_TCLR_CAPTRAN_NONE (0 8) /* Capture: none */ -#define DMT_TCLR_CAPTRAN_LOHI (1 8) /* Capture lo-hi transition */ -#define DMT_TCLR_CAPTRAN_HILO (2 8) /* Capture hi-lo transition */ -#define DMT_TCLR_CAPTRAN_BOTH (3 8) /* Capture both transitions */ -#define DMT_TCLR_TRGMODE_MASK (3 10) /* Trigger output mode mask */ -#define DMT_TCLR_TRGMODE_NONE (0 10) /* Trigger off */ -#define DMT_TCLR_TRGMODE_OVFL (1 10) /* Trigger on overflow */ -#define DMT_TCLR_TRGMODE_BOTH (2 10) /* Trigger on match + ovflow */ -#define DMT_TCLR_PWM_PTOGGLE(1 12) /* PWM toggles */ -#define DMT_TCLR_CAP_MODE_2ND (1 13) /* Capture second event mode */ -#define DMT_TCLR_GPO_CFG
svn commit: r286695 - head
Author: imp Date: Wed Aug 12 19:39:11 2015 New Revision: 286695 URL: https://svnweb.freebsd.org/changeset/base/286695 Log: Fix the fixing of the build I broke. rescue/rescue has the right target, but rescue doesn't. Pointy hat: imp@ Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Wed Aug 12 19:35:35 2015(r286694) +++ head/Makefile.inc1 Wed Aug 12 19:39:11 2015(r286695) @@ -1439,7 +1439,7 @@ _gcc_tools= gnu/usr.bin/cc/cc_tools .if ${MK_RESCUE} != no # rescue includes programs that have build-tools targets -_rescue=rescue +_rescue=rescue/rescue .endif build-tools: .MAKE ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r286667 - in head/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86
On Aug 12, 2015, at 10:37 AM, Ed Schouten e...@nuxi.nl wrote: Hi Marcel, 2015-08-12 17:26 GMT+02:00 Marcel Moolenaar mar...@freebsd.org: Better support memory mapped console devices, such as VGA and EFI frame buffers and memory mapped UARTs. This change causes my FreeBSD instance in Virtualbox 4.3.28 (OS X) to crash. As soon as the kernel initializes the graphics on startup (read: before printing any messages), I see random garbage appear on screen, followed by a popup dialog from Virtualbox that a fatal machine exception has occurred. No problems are seen with VB 5.0 on Mac OS X and having BIOS (don’t know if VB even supports UEFI) and with FreeBSD/amd64. Maybe upgrading to 4.3.30 resolves the issue? -- Marcel Moolenaar mar...@xcllnt.net signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r286698 - head/sys/kern
Author: oshogbo Date: Wed Aug 12 20:08:54 2015 New Revision: 286698 URL: https://svnweb.freebsd.org/changeset/base/286698 Log: When the wait*(2) syscalls wait for any process (P_ALL), they should ignore processes created with the pdfork(2) syscall. PR: 201054 Approved by: pjd (mentor) Discussed with: emaste, rwatson Modified: head/sys/kern/kern_exit.c Modified: head/sys/kern/kern_exit.c == --- head/sys/kern/kern_exit.c Wed Aug 12 19:48:49 2015(r286697) +++ head/sys/kern/kern_exit.c Wed Aug 12 20:08:54 2015(r286698) @@ -981,6 +981,10 @@ proc_to_reap(struct thread *td, struct p switch (idtype) { case P_ALL: + if (p-p_procdesc != NULL) { + PROC_UNLOCK(p); + return (0); + } break; case P_PID: if (p-p_pid != (pid_t)id) { ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org