Re: svn commit: r317277 - head/sys/crypto/chacha20
On Apr 21, 2017, at 18:06, Dag-Erling Smørgrav wrote: > > Author: des > Date: Sat Apr 22 01:06:23 2017 > New Revision: 317277 > URL: https://svnweb.freebsd.org/changeset/base/317277 > > Log: > Fix counter increment in Salsa and ChaCha. > > In my eagerness to eliminate a branch which is taken once per 2^38 > bytes of keystream, I forgot that the state words are in host order. > Thus, the counter increment code worked fine on little-endian > machines, but not on big-endian ones. Switch to a simpler (branchful) > solution. I’m surprised there’s no mention of who reviewed your change, especially when you’re changing crypto code. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r301172 - head/contrib/blacklist
On Fri, 2016-06-03 at 08:50 +0200, Jan Beich wrote: > Kurt Lidl writes: > > > Author: lidl > > Date: Wed Jun 1 22:04:10 2016 > > New Revision: 301172 > > URL: https://svnweb.freebsd.org/changeset/base/301172 > > > > Log: > > Import NetBSD's blacklist source from vendor tree > > > > This import includes The basic blacklist library and utility > > programs, > > to add a system-wide packet filtering notification mechanism to > > FreeBSD. > > > > The rational behind the daemon was given by Christos Zoulas in a > > presentation at vBSDcon 2015: https://youtu.be/fuuf8G28mjs > > > > Reviewed by: rpaulo > > Approved by: rpaulo > > Obtained from:NetBSD > > Relnotes: YES > > Can you track FreeBSD version in manpages? Maybe ping upstream, so > they > add .Fx as well. > > $ fgrep .Nx contrib/blacklist/**/*.[0-9] > contrib/blacklist/bin/blacklistctl.8:.Nx 7 . > contrib/blacklist/bin/blacklistd.8:.Nx 7 . > contrib/blacklist/bin/blacklistd.conf.5:.Nx 7 . > > $ man blacklistd | col -b | fgrep -A1 HISTORY > HISTORY > blacklistd appeared in NetBSD 7. We don't really need to submit that change to NetBSD. Just change the man page in FreeBSD and hopefully future merges won't remove it. ;-) -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r289549 - in head: contrib/wpa/hostapd contrib/wpa/hs20/client contrib/wpa/patches contrib/wpa/src/ap contrib/wpa/src/common contrib/wpa/src/crypto contrib/wpa/src/drivers contrib/wpa/s...
Author: rpaulo Date: Sun Oct 18 21:38:25 2015 New Revision: 289549 URL: https://svnweb.freebsd.org/changeset/base/289549 Log: Update hostapd/wpa_supplicant to version 2.5. Tested by several people on current@/wireless@. Relnotes: yes Added: head/contrib/wpa/patches/openssl-0.9.8zf-tls-extensions.patch - copied unchanged from r289285, vendor/wpa/dist/patches/openssl-0.9.8zf-tls-extensions.patch head/contrib/wpa/src/crypto/sha384-prf.c - copied unchanged from r289285, vendor/wpa/dist/src/crypto/sha384-prf.c head/contrib/wpa/src/fst/ - copied from r289285, vendor/wpa/dist/src/fst/ head/contrib/wpa/wpa_supplicant/eapol_test.py - copied unchanged from r289285, vendor/wpa/dist/wpa_supplicant/eapol_test.py head/contrib/wpa/wpa_supplicant/p2p_supplicant_sd.c - copied unchanged from r289285, vendor/wpa/dist/wpa_supplicant/p2p_supplicant_sd.c Deleted: head/contrib/wpa/src/crypto/crypto_cryptoapi.c head/contrib/wpa/src/crypto/tls_schannel.c Modified: head/contrib/wpa/hostapd/ChangeLog head/contrib/wpa/hostapd/config_file.c head/contrib/wpa/hostapd/config_file.h head/contrib/wpa/hostapd/ctrl_iface.c head/contrib/wpa/hostapd/defconfig head/contrib/wpa/hostapd/hlr_auc_gw.c head/contrib/wpa/hostapd/hlr_auc_gw.milenage_db head/contrib/wpa/hostapd/hostapd.conf head/contrib/wpa/hostapd/hostapd_cli.c head/contrib/wpa/hostapd/main.c head/contrib/wpa/hs20/client/Makefile head/contrib/wpa/hs20/client/osu_client.c head/contrib/wpa/hs20/client/spp_client.c head/contrib/wpa/src/ap/accounting.c head/contrib/wpa/src/ap/acs.c head/contrib/wpa/src/ap/ap_config.c head/contrib/wpa/src/ap/ap_config.h head/contrib/wpa/src/ap/ap_drv_ops.c head/contrib/wpa/src/ap/ap_drv_ops.h head/contrib/wpa/src/ap/ap_list.c head/contrib/wpa/src/ap/ap_list.h head/contrib/wpa/src/ap/authsrv.c head/contrib/wpa/src/ap/beacon.c head/contrib/wpa/src/ap/beacon.h head/contrib/wpa/src/ap/ctrl_iface_ap.c head/contrib/wpa/src/ap/dfs.c head/contrib/wpa/src/ap/drv_callbacks.c head/contrib/wpa/src/ap/eap_user_db.c head/contrib/wpa/src/ap/hostapd.c head/contrib/wpa/src/ap/hostapd.h head/contrib/wpa/src/ap/hw_features.c head/contrib/wpa/src/ap/hw_features.h head/contrib/wpa/src/ap/ieee802_11.c head/contrib/wpa/src/ap/ieee802_11.h head/contrib/wpa/src/ap/ieee802_11_auth.c head/contrib/wpa/src/ap/ieee802_11_auth.h head/contrib/wpa/src/ap/ieee802_11_ht.c head/contrib/wpa/src/ap/ieee802_11_vht.c head/contrib/wpa/src/ap/ieee802_1x.c head/contrib/wpa/src/ap/ieee802_1x.h head/contrib/wpa/src/ap/ndisc_snoop.c head/contrib/wpa/src/ap/sta_info.c head/contrib/wpa/src/ap/sta_info.h head/contrib/wpa/src/ap/utils.c head/contrib/wpa/src/ap/vlan_init.c head/contrib/wpa/src/ap/vlan_init.h head/contrib/wpa/src/ap/vlan_util.c head/contrib/wpa/src/ap/wmm.c head/contrib/wpa/src/ap/wpa_auth.c head/contrib/wpa/src/ap/wpa_auth.h head/contrib/wpa/src/ap/wpa_auth_ft.c head/contrib/wpa/src/ap/wpa_auth_glue.c head/contrib/wpa/src/ap/wpa_auth_i.h head/contrib/wpa/src/ap/wpa_auth_ie.c head/contrib/wpa/src/ap/wps_hostapd.c head/contrib/wpa/src/ap/x_snoop.c head/contrib/wpa/src/common/common_module_tests.c head/contrib/wpa/src/common/defs.h head/contrib/wpa/src/common/hw_features_common.c head/contrib/wpa/src/common/hw_features_common.h head/contrib/wpa/src/common/ieee802_11_common.c head/contrib/wpa/src/common/ieee802_11_common.h head/contrib/wpa/src/common/ieee802_11_defs.h head/contrib/wpa/src/common/privsep_commands.h head/contrib/wpa/src/common/qca-vendor.h head/contrib/wpa/src/common/sae.c head/contrib/wpa/src/common/sae.h head/contrib/wpa/src/common/version.h head/contrib/wpa/src/common/wpa_common.c head/contrib/wpa/src/common/wpa_common.h head/contrib/wpa/src/common/wpa_ctrl.c head/contrib/wpa/src/common/wpa_ctrl.h head/contrib/wpa/src/crypto/crypto.h head/contrib/wpa/src/crypto/crypto_module_tests.c head/contrib/wpa/src/crypto/crypto_openssl.c head/contrib/wpa/src/crypto/dh_groups.c head/contrib/wpa/src/crypto/fips_prf_openssl.c head/contrib/wpa/src/crypto/ms_funcs.c head/contrib/wpa/src/crypto/ms_funcs.h head/contrib/wpa/src/crypto/random.c head/contrib/wpa/src/crypto/sha1-tlsprf.c head/contrib/wpa/src/crypto/sha1-tprf.c head/contrib/wpa/src/crypto/sha256-kdf.c head/contrib/wpa/src/crypto/sha384.h head/contrib/wpa/src/crypto/tls.h head/contrib/wpa/src/crypto/tls_gnutls.c head/contrib/wpa/src/crypto/tls_internal.c head/contrib/wpa/src/crypto/tls_none.c head/contrib/wpa/src/crypto/tls_openssl.c head/contrib/wpa/src/drivers/driver.h head/contrib/wpa/src/drivers/driver_bsd.c head/contrib/wpa/src/drivers/driver_ndis.c head/contrib/wpa/src/drivers/driver_nl80211.h head/contrib/wpa/src/drivers/driver_nl80211_android.c head/contrib/wpa/src/drivers/driver_nl80211_capa.c head/contrib/wpa/src/drivers/driver_nl80211_event.c head/contrib/wpa/src/drivers/dr
svn commit: r289262 - head/usr.sbin/config
Author: rpaulo Date: Tue Oct 13 20:25:03 2015 New Revision: 289262 URL: https://svnweb.freebsd.org/changeset/base/289262 Log: Fix two memory leaks in config(8). PR: 202145 Submitted by: Kurt Lidl Modified: head/usr.sbin/config/mkmakefile.c Modified: head/usr.sbin/config/mkmakefile.c == --- head/usr.sbin/config/mkmakefile.c Tue Oct 13 20:24:57 2015 (r289261) +++ head/usr.sbin/config/mkmakefile.c Tue Oct 13 20:25:03 2015 (r289262) @@ -623,6 +623,7 @@ do_xxfiles(char *tag, FILE *fp) slen = strlen(suff); fprintf(fp, "%sFILES=", SUFF); + free(SUFF); lpos = 8; STAILQ_FOREACH(tp, &ftab, f_next) if (tp->f_type != NODEPEND) { @@ -641,6 +642,7 @@ do_xxfiles(char *tag, FILE *fp) fprintf(fp, "%s ", tp->f_fn); lpos += len + 1; } + free(suff); if (lpos != 8) putc('\n', fp); } ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288657 - head/sys/netinet6
On Sun, 2015-10-04 at 08:21 +, Alexander V. Chernikov wrote: > Author: melifaro > Date: Sun Oct 4 08:21:15 2015 > New Revision: 288657 > URL: https://svnweb.freebsd.org/changeset/base/288657 > > Log: > Add __noinline attribute to several functions to ease dtrace > instrumentation > What instrumentation? Is there a DTrace script in userland that uses these functions? If not, this should not have been committed as you just made the code slower. This is one of those changes that should be kept in your own repository. -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
On Fri, 2015-10-02 at 12:10 -0700, Adrian Chadd wrote: > On 2 October 2015 at 11:04, Rui Paulo wrote: > > On Thu, 2015-09-24 at 08:29 -0700, Adrian Chadd wrote: > > > ... I'm confused about the "load it by hand" stuff in net80211. > > > Why > > > don't we just do the kldload at that point? > > > > > > > I was talking about ieee80211_load_module. net80211 module auto > > loading doesn't work probably because kern_kldload() can't be > > called > > from certain contexts. > > hm, can we do it from a taskqueue? > Sure, but I suspect the caller might not want to sleep waiting for the taskqueue to terminate. I really haven't looked into it, sorry... It might be a better idea to check if the driver does software and/or hardware crypto and load the appropriate modules at that time. Then check which ratesel module should be used and load that as well. The list continues :-) -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288362 - head/sys/cddl/dev/sdt
On Tue, 2015-09-29 at 11:58 +, Andriy Gapon wrote: > Author: avg > Date: Tue Sep 29 11:58:21 2015 > New Revision: 288362 > URL: https://svnweb.freebsd.org/changeset/base/288362 > > Log: > sdt: start checking version field when parsing probe definitions > > This is an extra safety measure. > > MFC after: 21 days > > Modified: > head/sys/cddl/dev/sdt/sdt.c > > Modified: head/sys/cddl/dev/sdt/sdt.c > = > = > --- head/sys/cddl/dev/sdt/sdt.c Tue Sep 29 11:55:26 2015 > (r288361) > +++ head/sys/cddl/dev/sdt/sdt.c Tue Sep 29 11:58:21 2015 > (r288362) > @@ -141,6 +141,12 @@ sdt_create_probe(struct sdt_probe *probe > char *to; > size_t len; > > + if (probe->version != (int)sizeof(*probe)) { > + printf("ignoring probe %p, version %u expected > %u\n", > + probe, probe->version, (int)sizeof(*probe)); > + return; > + } > + > Not picking on your change, but this version management sounds like a bad idea to me... -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
On Thu, 2015-09-24 at 08:29 -0700, Adrian Chadd wrote: > ... I'm confused about the "load it by hand" stuff in net80211. Why > don't we just do the kldload at that point? > I was talking about ieee80211_load_module. net80211 module auto loading doesn't work probably because kern_kldload() can't be called from certain contexts. -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
Those were the issues that I encountered when I started using MINIMAL. I didn't do a thorough investigation. Auto loading is a much bigger problem that just loading drivers for PCI/USB/etc devices. For example, net80211 doesn't auto load the wlan crypto modules by default nor the amrr module. On Mon, 2015-09-21 at 17:59 -0600, Warner Losh wrote: > Apart from the inlining issue John raised (which I agree with his > solution on, btw) > and the one cam ctl module, what other modules are meaningfully > different when > compiled as modules. > > Assume that the auto-loading bit is solved, at least for devices on > self-enumerating > busses. > > Warner > > > > On Sep 21, 2015, at 4:53 PM, Rui Paulo wrote: > > > > No, that doesn't work very well. Not only the modules don't auto > > -load, the way the modules are compiled is different. See, for > > example, cam ctl which doesn't compile the sg code when it's built > > into the kernel, but compiles it when it's built as a module. The > > sg code is currently buggy and causes insta-panics with GNOME 3 > > (perhaps the auto-mounter in hald (?)). > > -- > > Rui Paulo > > > > > > On Sep 21, 2015, at 11:24 AM, Adrian Chadd > > wrote: > > > > > Hi, > > > > > > Warner has been working on the modular kernel thing. But > > > honestly, I > > > think we should just start biting that bullet and ship a modules > > > -only > > > GENERIC by default.. > > > > > > > > > -a > > > > > > > > > On 21 September 2015 at 11:02, Rui Paulo wrote: > > > > So, we're going to keep ignoring the problem and keep patching > > > > things up? > > > > It's a bit sad that a single driver (pmspcv) is able to cause > > > > so much > > > > problems. > > > > > > > > -- > > > > Rui Paulo > > > > > > > > > > > > On Sep 17, 2015, at 01:36 PM, John Baldwin > > > > wrote: > > > > > > > > Author: jhb > > > > Date: Thu Sep 17 20:36:46 2015 > > > > New Revision: 287934 > > > > URL: https://svnweb.freebsd.org/changeset/base/287934 > > > > > > > > > > > > Log: > > > > The EFI boot loader allocates a single chunk of contiguous > > > > memory to > > > > hold the kernel, modules, and any other loaded data. This > > > > memory block > > > > is relocated to the kernel's expected location during the > > > > transfer of > > > > control from the loader to the kernel. > > > > > > > > The GENERIC kernel on amd64 has recently grown such that a > > > > kernel + zfs.ko > > > > no longer fits in the default staging size. Bump the default > > > > size from > > > > 32MB to 48MB to provide more breathing room. > > > > > > > > PR: 201679 > > > > Reviewed by: imp > > > > MFC after: 1 week > > > > Differential Revision: https://reviews.freebsd.org/D3666 > > > > > > > > > > > > Modified: > > > > head/sys/boot/efi/loader/copy.c > > > > > > > > Modified: head/sys/boot/efi/loader/copy.c > > > > === > > > > === > > > > --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015 > > > > (r287933) > > > > +++ head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:46 2015 > > > > (r287934) > > > > @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); > > > > #include > > > > > > > > #ifndef EFI_STAGING_SIZE > > > > -#define EFI_STAGING_SIZE 32 > > > > +#define EFI_STAGING_SIZE 48 > > > > #endif > > > > > > > > #define STAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096) > > > > > -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
I gave you feedback: it crashed somewhere else. I haven't had time to work on it. However, go ahead and commit that fix. That code was clearly wrong. On Mon, 2015-09-21 at 23:21 -0700, Scott Long wrote: > As a side note, I’m still waiting for feedback on the patch I sent > you for scsi_sg. I’d like to get this fixed. > > Scott > > > On Sep 21, 2015, at 3:53 PM, Rui Paulo wrote: > > > > No, that doesn't work very well. Not only the modules don't auto > > -load, the way the modules are compiled is different. See, for > > example, cam ctl which doesn't compile the sg code when it's built > > into the kernel, but compiles it when it's built as a module. The > > sg code is currently buggy and causes insta-panics with GNOME 3 > > (perhaps the auto-mounter in hald (?)). > > -- > > Rui Paulo > > > > > > On Sep 21, 2015, at 11:24 AM, Adrian Chadd > > wrote: > > > > > Hi, > > > > > > Warner has been working on the modular kernel thing. But > > > honestly, I > > > think we should just start biting that bullet and ship a modules > > > -only > > > GENERIC by default.. > > > > > > > > > -a > > > > > > > > > On 21 September 2015 at 11:02, Rui Paulo wrote: > > > > So, we're going to keep ignoring the problem and keep patching > > > > things up? > > > > It's a bit sad that a single driver (pmspcv) is able to cause > > > > so much > > > > problems. > > > > > > > > -- > > > > Rui Paulo > > > > > > > > > > > > On Sep 17, 2015, at 01:36 PM, John Baldwin > > > > wrote: > > > > > > > > Author: jhb > > > > Date: Thu Sep 17 20:36:46 2015 > > > > New Revision: 287934 > > > > URL: https://svnweb.freebsd.org/changeset/base/287934 > > > > > > > > > > > > Log: > > > > The EFI boot loader allocates a single chunk of contiguous > > > > memory to > > > > hold the kernel, modules, and any other loaded data. This > > > > memory block > > > > is relocated to the kernel's expected location during the > > > > transfer of > > > > control from the loader to the kernel. > > > > > > > > The GENERIC kernel on amd64 has recently grown such that a > > > > kernel + zfs.ko > > > > no longer fits in the default staging size. Bump the default > > > > size from > > > > 32MB to 48MB to provide more breathing room. > > > > > > > > PR: 201679 > > > > Reviewed by: imp > > > > MFC after: 1 week > > > > Differential Revision: https://reviews.freebsd.org/D3666 > > > > > > > > > > > > Modified: > > > > head/sys/boot/efi/loader/copy.c > > > > > > > > Modified: head/sys/boot/efi/loader/copy.c > > > > === > > > > === > > > > --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015 > > > > (r287933) > > > > +++ head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:46 2015 > > > > (r287934) > > > > @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); > > > > #include > > > > > > > > #ifndef EFI_STAGING_SIZE > > > > -#define EFI_STAGING_SIZE 32 > > > > +#define EFI_STAGING_SIZE 48 > > > > #endif > > > > > > > > #define STAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096) > > > > > -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
No, that doesn't work very well. Not only the modules don't auto-load, the way the modules are compiled is different. See, for example, cam ctl which doesn't compile the sg code when it's built into the kernel, but compiles it when it's built as a module. The sg code is currently buggy and causes insta-panics with GNOME 3 (perhaps the auto-mounter in hald (?)). -- Rui Paulo On Sep 21, 2015, at 11:24 AM, Adrian Chadd wrote: Hi, Warner has been working on the modular kernel thing. But honestly, I think we should just start biting that bullet and ship a modules-only GENERIC by default.. -a On 21 September 2015 at 11:02, Rui Paulo wrote: So, we're going to keep ignoring the problem and keep patching things up? It's a bit sad that a single driver (pmspcv) is able to cause so much problems. -- Rui Paulo On Sep 17, 2015, at 01:36 PM, John Baldwin wrote: Author: jhb Date: Thu Sep 17 20:36:46 2015 New Revision: 287934 URL: https://svnweb.freebsd.org/changeset/base/287934 Log: The EFI boot loader allocates a single chunk of contiguous memory to hold the kernel, modules, and any other loaded data. This memory block is relocated to the kernel's expected location during the transfer of control from the loader to the kernel. The GENERIC kernel on amd64 has recently grown such that a kernel + zfs.ko no longer fits in the default staging size. Bump the default size from 32MB to 48MB to provide more breathing room. PR: 201679 Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D3666 Modified: head/sys/boot/efi/loader/copy.c Modified: head/sys/boot/efi/loader/copy.c == --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015 (r287933) +++ head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:46 2015 (r287934) @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); #include #ifndef EFI_STAGING_SIZE -#define EFI_STAGING_SIZE 32 +#define EFI_STAGING_SIZE 48 #endif #define STAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096) ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
So, we're going to keep ignoring the problem and keep patching things up? It's a bit sad that a single driver (pmspcv) is able to cause so much problems. -- Rui Paulo On Sep 17, 2015, at 01:36 PM, John Baldwin wrote: Author: jhb Date: Thu Sep 17 20:36:46 2015 New Revision: 287934 URL: https://svnweb.freebsd.org/changeset/base/287934 Log: The EFI boot loader allocates a single chunk of contiguous memory to hold the kernel, modules, and any other loaded data. This memory block is relocated to the kernel's expected location during the transfer of control from the loader to the kernel. The GENERIC kernel on amd64 has recently grown such that a kernel + zfs.ko no longer fits in the default staging size. Bump the default size from 32MB to 48MB to provide more breathing room. PR:201679 Reviewed by:imp MFC after: 1 week Differential Revision:https://reviews.freebsd.org/D3666 Modified: head/sys/boot/efi/loader/copy.c Modified: head/sys/boot/efi/loader/copy.c == --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015(r287933) +++ head/sys/boot/efi/loader/copy.cThu Sep 17 20:36:46 2015 (r287934) @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); #include #ifndef EFI_STAGING_SIZE -#define EFI_STAGING_SIZE32 +#defineEFI_STAGING_SIZE48 #endif #defineSTAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096) ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287299 - head/sys/boot/efi/loader/arch/amd64
On Sun, 2015-08-30 at 01:40 +, Marcel Moolenaar wrote: > Author: marcel > Date: Sun Aug 30 01:39:59 2015 > New Revision: 287299 > URL: https://svnweb.freebsd.org/changeset/base/287299 > > Log: > Add a gop command to help diagnose VT efifb problems. The gop > command has the following sub-commands: > list - list all possible modes (paged) > get - return the current mode > set - set the current mode to > This is duplicating the functionality of the `mode' command. Please remove the mode command. Also, 'gop' is pretty weird for a command name. Maybe we can change that to something more user friendly? -- Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r286794 - head/sys/conf
Author: rpaulo Date: Fri Aug 14 22:58:32 2015 New Revision: 286794 URL: https://svnweb.freebsd.org/changeset/base/286794 Log: sys/conf: pass NMFLAGS to nm(1) via genassym.sh. Modified: head/sys/conf/files.amd64 head/sys/conf/kern.post.mk Modified: head/sys/conf/files.amd64 == --- head/sys/conf/files.amd64 Fri Aug 14 22:57:13 2015(r286793) +++ head/sys/conf/files.amd64 Fri Aug 14 22:58:32 2015(r286794) @@ -40,7 +40,7 @@ ia32_genassym.o standard \ # ia32_assym.h standard\ dependency "$S/kern/genassym.sh ia32_genassym.o" \ - compile-with"env NM='${NM}' sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \ + compile-with"env NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \ no-obj no-implicit-rule before-depend \ clean "ia32_assym.h" # Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Fri Aug 14 22:57:13 2015(r286793) +++ head/sys/conf/kern.post.mk Fri Aug 14 22:58:32 2015(r286794) @@ -174,7 +174,7 @@ hack.So: Makefile ./assym.s: assym.s assym.s: $S/kern/genassym.sh genassym.o - NM='${NM}' sh $S/kern/genassym.sh genassym.o > ${.TARGET} + NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET} genassym.o: $S/$M/$M/genassym.c ${CC} -c ${CFLAGS:N-fno-common} $S/$M/$M/genassym.c ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r286793 - head/sys/kern
Author: rpaulo Date: Fri Aug 14 22:57:13 2015 New Revision: 286793 URL: https://svnweb.freebsd.org/changeset/base/286793 Log: genassym.sh: call nm(1) with NMFLAGS. Modified: head/sys/kern/genassym.sh Modified: head/sys/kern/genassym.sh == --- head/sys/kern/genassym.sh Fri Aug 14 22:55:23 2015(r286792) +++ head/sys/kern/genassym.sh Fri Aug 14 22:57:13 2015(r286793) @@ -10,7 +10,7 @@ usage() work() { - ${NM:='nm'} "$1" | ${AWK:='awk'} ' + ${NM:='nm'} ${NMFLAGS} "$1" | ${AWK:='awk'} ' / C .*sign$/ { sign = substr($1, length($1) - 3, 4) sub("^0*", "", sign) ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r286792 - head/share/mk
Author: rpaulo Date: Fri Aug 14 22:55:23 2015 New Revision: 286792 URL: https://svnweb.freebsd.org/changeset/base/286792 Log: bsd.lib.mk: pass NMFLAGS to the lorder script. Modified: head/share/mk/bsd.lib.mk Modified: head/share/mk/bsd.lib.mk == --- head/share/mk/bsd.lib.mkFri Aug 14 22:54:52 2015(r286791) +++ head/share/mk/bsd.lib.mkFri Aug 14 22:55:23 2015(r286792) @@ -171,7 +171,7 @@ _LIBS= lib${LIB_PRIVATE}${LIB}.a lib${LIB_PRIVATE}${LIB}.a: ${OBJS} ${STATICOBJS} @${ECHO} building static ${LIB} library @rm -f ${.TARGET} - ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} + ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} ${RANLIB} ${RANLIBFLAGS} ${.TARGET} .endif @@ -185,7 +185,7 @@ NOPATH_FILES+= ${POBJS} lib${LIB_PRIVATE}${LIB}_p.a: ${POBJS} @${ECHO} building profiled ${LIB} library @rm -f ${.TARGET} - ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD} + ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${POBJS} | tsort -q` ${ARADD} ${RANLIB} ${RANLIBFLAGS} ${.TARGET} .endif @@ -250,7 +250,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS} .endif ${_LD} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ -o ${.TARGET} -Wl,-soname,${SONAME} \ - `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD} + `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${SOBJS} | tsort -q` ${LDADD} .if ${MK_CTF} != "no" ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS} .endif ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r286791 - in head: share/mk usr.bin/lorder
Author: rpaulo Date: Fri Aug 14 22:54:52 2015 New Revision: 286791 URL: https://svnweb.freebsd.org/changeset/base/286791 Log: Introduce a new make variable: NMFLAGS. As the name indicates, these are flags to pass to nm(1). The newer binutils have a plugin mechanism so, to build something with LLVM's LTO, we need to pass flags to nm(1). This commit also extends lorder(1) to pass NMFLAGS to nm(1). Modified: head/share/mk/sys.mk head/usr.bin/lorder/lorder.1 head/usr.bin/lorder/lorder.sh Modified: head/share/mk/sys.mk == --- head/share/mk/sys.mkFri Aug 14 22:02:14 2015(r286790) +++ head/share/mk/sys.mkFri Aug 14 22:54:52 2015(r286791) @@ -167,6 +167,7 @@ MAKE?= make .if !defined(%POSIX) NM ?= nm +NMFLAGS?= OBJC ?= cc OBJCFLAGS ?= ${OBJCINCLUDES} ${CFLAGS} -Wno-import Modified: head/usr.bin/lorder/lorder.1 == --- head/usr.bin/lorder/lorder.1Fri Aug 14 22:02:14 2015 (r286790) +++ head/usr.bin/lorder/lorder.1Fri Aug 14 22:54:52 2015 (r286791) @@ -28,7 +28,7 @@ .\" @(#)lorder.1 8.2 (Berkeley) 4/28/95 .\" $FreeBSD$ .\" -.Dd October 25, 2006 +.Dd August 14, 2015 .Dt LORDER 1 .Os .Sh NAME @@ -68,6 +68,9 @@ Path to the .Xr nm 1 binary, defaults to .Dq Li nm . +.It Ev NMFLAGS +Flags to pass to +.Xr nm 1 . .El .Sh EXAMPLES .Bd -literal -offset indent Modified: head/usr.bin/lorder/lorder.sh == --- head/usr.bin/lorder/lorder.sh Fri Aug 14 22:02:14 2015 (r286790) +++ head/usr.bin/lorder/lorder.sh Fri Aug 14 22:54:52 2015 (r286791) @@ -60,7 +60,7 @@ done # # if the line has " U " it's a globally undefined symbol, put it into # the reference file. -${NM} -go $* | sed " +${NM} ${NMFLAGS} -go $* | sed " / [TDW] / { s/:.* [TDW] / / w $S ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r286581 - head/sys/conf
Author: rpaulo Date: Mon Aug 10 16:32:47 2015 New Revision: 286581 URL: https://svnweb.freebsd.org/changeset/base/286581 Log: Fix a comment for iwm. Submitted by: brueffer Modified: head/sys/conf/options Modified: head/sys/conf/options == --- head/sys/conf/options Mon Aug 10 14:03:39 2015(r286580) +++ head/sys/conf/options Mon Aug 10 16:32:47 2015(r286581) @@ -851,7 +851,7 @@ MWL_DIAGAPI opt_mwl.h MWL_AGGR_SIZE opt_mwl.h MWL_TX_NODROP opt_mwl.h -# Options for the Intel 802.11n wireless driver +# Options for the Intel 802.11ac wireless driver IWM_DEBUG opt_iwm.h # Options for the Intel 802.11n wireless driver ___ 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: r286476 - in head/sys/modules: . iwm
Author: rpaulo Date: Sat Aug 8 21:09:41 2015 New Revision: 286476 URL: https://svnweb.freebsd.org/changeset/base/286476 Log: Build the iwm and iwmfw modules by default on x86. Modified: head/sys/modules/Makefile head/sys/modules/iwm/Makefile Modified: head/sys/modules/Makefile == --- head/sys/modules/Makefile Sat Aug 8 21:08:35 2015(r286475) +++ head/sys/modules/Makefile Sat Aug 8 21:09:41 2015(r286476) @@ -174,6 +174,8 @@ SUBDIR= \ ${_ispfw} \ ${_iwi} \ ${_iwifw} \ + ${_iwm} \ + ${_iwmfw} \ ${_iwn} \ ${_iwnfw} \ ${_ix} \ @@ -575,20 +577,18 @@ _ida= ida _iir= iir _ipmi= ipmi _ips= ips -_ipw= ipw -.if ${MK_SOURCELESS_UCODE} != "no" -_ipwfw=ipwfw -.endif _isci= isci +_ipw= ipw _iwi= iwi -.if ${MK_SOURCELESS_UCODE} != "no" -_iwifw=iwifw -.endif +_iwm= iwm _iwn= iwn +_ixgb= ixgb .if ${MK_SOURCELESS_UCODE} != "no" +_ipwfw=ipwfw +_iwifw=iwifw +_iwmfw=iwmfw _iwnfw=iwnfw .endif -_ixgb= ixgb .if ${MK_OFED} != "no" || defined(ALL_MODULES) _mlx4= mlx4 _mlx4ib= mlx4ib Modified: head/sys/modules/iwm/Makefile == --- head/sys/modules/iwm/Makefile Sat Aug 8 21:08:35 2015 (r286475) +++ head/sys/modules/iwm/Makefile Sat Aug 8 21:09:41 2015 (r286476) @@ -9,9 +9,8 @@ SRCS+= if_iwm_mac_ctxt.c if_iwm_phy_ctxt SRCS+= if_iwm_power.c if_iwm_scan.c # bus layer SRCS+= if_iwm_pcie_trans.c - SRCS+= device_if.h bus_if.h pci_if.h opt_wlan.h -CFLAGS+= -DIWM_DEBUG -I${.CURDIR}/../../dev/iwm +CFLAGS+= -DIWM_DEBUG .include ___ 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: r286475 - head/sys/dev/iwm
Author: rpaulo Date: Sat Aug 8 21:08:35 2015 New Revision: 286475 URL: https://svnweb.freebsd.org/changeset/base/286475 Log: iwm: use the proper include path for iwm headers. Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_binding.c head/sys/dev/iwm/if_iwm_mac_ctxt.c head/sys/dev/iwm/if_iwm_pcie_trans.c head/sys/dev/iwm/if_iwm_phy_ctxt.c head/sys/dev/iwm/if_iwm_phy_db.c head/sys/dev/iwm/if_iwm_power.c head/sys/dev/iwm/if_iwm_scan.c head/sys/dev/iwm/if_iwm_time_event.c head/sys/dev/iwm/if_iwm_util.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Sat Aug 8 21:08:10 2015(r286474) +++ head/sys/dev/iwm/if_iwm.c Sat Aug 8 21:08:35 2015(r286475) @@ -148,19 +148,19 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include +#include const uint8_t iwm_nvm_channels[] = { /* 2.4 GHz */ Modified: head/sys/dev/iwm/if_iwm_binding.c == --- head/sys/dev/iwm/if_iwm_binding.c Sat Aug 8 21:08:10 2015 (r286474) +++ head/sys/dev/iwm/if_iwm_binding.c Sat Aug 8 21:08:35 2015 (r286475) @@ -148,11 +148,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* * BEGIN iwlwifi/mvm/binding.c Modified: head/sys/dev/iwm/if_iwm_mac_ctxt.c == --- head/sys/dev/iwm/if_iwm_mac_ctxt.c Sat Aug 8 21:08:10 2015 (r286474) +++ head/sys/dev/iwm/if_iwm_mac_ctxt.c Sat Aug 8 21:08:35 2015 (r286475) @@ -148,11 +148,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* * BEGIN mvm/mac-ctxt.c Modified: head/sys/dev/iwm/if_iwm_pcie_trans.c == --- head/sys/dev/iwm/if_iwm_pcie_trans.cSat Aug 8 21:08:10 2015 (r286474) +++ head/sys/dev/iwm/if_iwm_pcie_trans.cSat Aug 8 21:08:35 2015 (r286475) @@ -148,11 +148,10 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include - -#include +#include +#include +#include +#include /* * This is a subset of what's in linux iwlwifi/pcie/trans.c. Modified: head/sys/dev/iwm/if_iwm_phy_ctxt.c == --- head/sys/dev/iwm/if_iwm_phy_ctxt.c Sat Aug 8 21:08:10 2015 (r286474) +++ head/sys/dev/iwm/if_iwm_phy_ctxt.c Sat Aug 8 21:08:35 2015 (r286475) @@ -148,18 +148,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include -#include - -#if 0 -#include -#include -#include -#include -#endif -#include +#include +#include +#include +#include +#include /* * BEGIN iwlwifi/mvm/phy-ctxt.c Modified: head/sys/dev/iwm/if_iwm_phy_db.c == --- head/sys/dev/iwm/if_iwm_phy_db.cSat Aug 8 21:08:10 2015 (r286474) +++ head/sys/dev/iwm/if_iwm_phy_db.cSat Aug 8 21:08:35 2015 (r286475) @@ -148,11 +148,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* * BEGIN iwl-phy-db.c Modified: head/sys/dev/iwm/if_iwm_power.c == --- head/sys/dev/iwm/if_iwm_power.c Sat Aug 8 21:08:10 2015 (r286474) +++ head/sys/dev/iwm/if_iwm_power.c Sat Aug 8 21:08:35 2015 (r286475) @@ -132,11 +132,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* * BEGIN mvm/power.c Modified: head/sys/dev/iwm/if_iwm_scan.c == --- head/sys/dev/iwm/if_iwm_scan.c Sat Aug 8 21:08:10 2015 (r286474) +++ head/sys/dev/iwm/if_iwm_scan.c Sat Aug 8 21:08:35 2015 (r286475) @@ -148,21 +148,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include -#include -#if 0 -#include -#include -#include -#include -#include -#include -#include -#endif - -#include +#include +#include +#include +#include +#include /* * BEGIN mvm/scan.c Modified: head/sys/dev/iwm/if_iwm_time_event.c
svn commit: r286474 - head/sys/conf
Author: rpaulo Date: Sat Aug 8 21:08:10 2015 New Revision: 286474 URL: https://svnweb.freebsd.org/changeset/base/286474 Log: sys/conf/files: add iwm and iwmfw. Modified: head/sys/conf/files Modified: head/sys/conf/files == --- head/sys/conf/files Sat Aug 8 20:56:30 2015(r286473) +++ head/sys/conf/files Sat Aug 8 21:08:10 2015(r286474) @@ -1605,6 +1605,58 @@ iwi_monitor.fw optional iwimonitorfw | compile-with"${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwi_monitor.fw" +dev/iwm/if_iwm.c optional iwm +dev/iwm/if_iwm_binding.c optional iwm +dev/iwm/if_iwm_mac_ctxt.c optional iwm +dev/iwm/if_iwm_pcie_trans.coptional iwm +dev/iwm/if_iwm_phy_ctxt.c optional iwm +dev/iwm/if_iwm_phy_db.coptional iwm +dev/iwm/if_iwm_power.c optional iwm +dev/iwm/if_iwm_scan.c optional iwm +dev/iwm/if_iwm_time_event.coptional iwm +dev/iwm/if_iwm_util.c optional iwm +iwm3160fw.coptional iwm3160fw | iwmfw \ + compile-with"${AWK} -f $S/tools/fw_stub.awk iwm3160.fw:iwm3160fw -miwm3160fw -c${.TARGET}" \ + no-implicit-rule before-depend local\ + clean "iwm3160fw.c" +iwm3160fw.fwo optional iwm3160fw | iwmfw \ + dependency "iwm3160.fw"\ + compile-with"${NORMAL_FWO}" \ + no-implicit-rule\ + clean "iwm3160fw.fwo" +iwm3160.fw optional iwm3160fw | iwmfw \ + dependency "$S/contrib/dev/iwm/iwm-3160-9.fw.uu" \ + compile-with"${NORMAL_FW}" \ + no-obj no-implicit-rule \ + clean "iwm3160.fw" +iwm7260fw.coptional iwm7260fw | iwmfw \ + compile-with"${AWK} -f $S/tools/fw_stub.awk iwm7260.fw:iwm7260fw -miwm7260fw -c${.TARGET}" \ + no-implicit-rule before-depend local\ + clean "iwm7260fw.c" +iwm7260fw.fwo optional iwm7260fw | iwmfw \ + dependency "iwm7260.fw"\ + compile-with"${NORMAL_FWO}" \ + no-implicit-rule\ + clean "iwm7260fw.fwo" +iwm7260.fw optional iwm7260fw | iwmfw \ + dependency "$S/contrib/dev/iwm/iwm-7260-9.fw.uu" \ + compile-with"${NORMAL_FW}" \ + no-obj no-implicit-rule \ + clean "iwm7260.fw" +iwm7265fw.coptional iwm7265fw | iwmfw \ + compile-with"${AWK} -f $S/tools/fw_stub.awk iwm7265.fw:iwm7265fw -miwm7265fw -c${.TARGET}" \ + no-implicit-rule before-depend local\ + clean "iwm7265fw.c" +iwm7265fw.fwo optional iwm7265fw | iwmfw \ + dependency "iwm7265.fw"\ + compile-with"${NORMAL_FWO}" \ + no-implicit-rule\ + clean "iwm7265fw.fwo" +iwm7265.fw optional iwm7265fw | iwmfw \ + dependency "$S/contrib/dev/iwm/iwm-7265-9.fw.uu" \ + compile-with"${NORMAL_FW}" \ + no-obj no-implicit-rule \ + clean "iwm7265.fw" dev/iwn/if_iwn.c optional iwn iwn1000fw.coptional iwn1000fw | iwnfw \ compile-with"${AWK} -f $S/tools/fw_stub.awk iwn1000.fw:iwn1000fw -miwn1000fw -c${.TARGET}" \ ___ 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: r286472 - head/sys/conf
Author: rpaulo Date: Sat Aug 8 20:45:47 2015 New Revision: 286472 URL: https://svnweb.freebsd.org/changeset/base/286472 Log: Add nodevice iwmfw to WITHOUT_SOURCELESS_UCODE. Modified: head/sys/conf/WITHOUT_SOURCELESS_UCODE Modified: head/sys/conf/WITHOUT_SOURCELESS_UCODE == --- head/sys/conf/WITHOUT_SOURCELESS_UCODE Sat Aug 8 20:45:12 2015 (r286471) +++ head/sys/conf/WITHOUT_SOURCELESS_UCODE Sat Aug 8 20:45:47 2015 (r286472) @@ -20,6 +20,7 @@ nodevice cp nodevice ctau nodevice ipwfw nodevice iwifw +nodevice iwmfw nodevice iwnfw nodevice wpifw ___ 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: r286471 - head/sys/conf
Author: rpaulo Date: Sat Aug 8 20:45:12 2015 New Revision: 286471 URL: https://svnweb.freebsd.org/changeset/base/286471 Log: sys/conf/options: add IWM_DEBUG. Modified: head/sys/conf/options Modified: head/sys/conf/options == --- head/sys/conf/options Sat Aug 8 20:34:55 2015(r286470) +++ head/sys/conf/options Sat Aug 8 20:45:12 2015(r286471) @@ -852,6 +852,9 @@ MWL_AGGR_SIZE opt_mwl.h MWL_TX_NODROP opt_mwl.h # Options for the Intel 802.11n wireless driver +IWM_DEBUG opt_iwm.h + +# Options for the Intel 802.11n wireless driver IWN_DEBUG opt_iwn.h # Options for the Intel 3945ABG wireless driver ___ 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: r286466 - head/sys/dev/iwm
Author: rpaulo Date: Sat Aug 8 20:07:25 2015 New Revision: 286466 URL: https://svnweb.freebsd.org/changeset/base/286466 Log: iwm: fix a KASSERT: s/ds_size/ds_len/. Modified: head/sys/dev/iwm/if_iwm_util.c Modified: head/sys/dev/iwm/if_iwm_util.c == --- head/sys/dev/iwm/if_iwm_util.c Sat Aug 8 19:29:59 2015 (r286465) +++ head/sys/dev/iwm/if_iwm_util.c Sat Aug 8 20:07:25 2015 (r286466) @@ -163,7 +163,7 @@ iwm_dma_map_mem(void *arg, bus_dma_segme KASSERT(nsegs <= 2, ("too many DMA segments, %d should be <= 2", nsegs)); if (nsegs > 1) - KASSERT(segs[1].ds_addr == segs[0].ds_addr + segs[0].ds_size, + KASSERT(segs[1].ds_addr == segs[0].ds_addr + segs[0].ds_len, ("fragmented DMA memory")); *(bus_addr_t *)arg = segs[0].ds_addr; } @@ -402,4 +402,3 @@ iwm_free_resp(struct iwm_softc *sc, stru sc->sc_wantresp = -1; wakeup(&sc->sc_wantresp); } - ___ 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: r286442 - head/sys/modules/iwmfw
Author: rpaulo Date: Sat Aug 8 06:08:20 2015 New Revision: 286442 URL: https://svnweb.freebsd.org/changeset/base/286442 Log: iwmfw: fix the path to the firmware file. Modified: head/sys/modules/iwmfw/Makefile.inc Modified: head/sys/modules/iwmfw/Makefile.inc == --- head/sys/modules/iwmfw/Makefile.inc Sat Aug 8 06:06:48 2015 (r286441) +++ head/sys/modules/iwmfw/Makefile.inc Sat Aug 8 06:08:20 2015 (r286442) @@ -14,5 +14,5 @@ FIRMWS= ${_FIRM}:${KMOD} # #FIRMWARE_LICENSE= -${_FIRM}: ${.CURDIR}/${_FIRM}.uu +${_FIRM}: ${.CURDIR}/../../../contrib/dev/iwm/${_FIRM}.uu uudecode -p $? > ${.TARGET} ___ 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: r286441 - in head: share/man/man4 sys/contrib/dev/iwm sys/dev/iwm sys/modules/iwm sys/modules/iwmfw sys/modules/iwmfw/iwm3160fw sys/modules/iwmfw/iwm7260fw sys/modules/iwmfw/iwm7265fw
Author: rpaulo Date: Sat Aug 8 06:06:48 2015 New Revision: 286441 URL: https://svnweb.freebsd.org/changeset/base/286441 Log: Import OpenBSD's iwm WiFi driver for Intel 3160/7260/7265. There are still several bugs, but I've been using it for a while now. Thanks to all the testers and to Adrian for his help with this driver. This driver isn't connected to the build yet, but it will be soon. There's no MFC planned because the driver isn't very stable yet. Reviewed by: adrian Obtained from:https://github.com/rpaulo/iwm Tested by:adrian, gjb, dumbbell (others that I forgot). Relnotes: yes Added: head/share/man/man4/iwm.4 (contents, props changed) head/share/man/man4/iwmfw.4 (contents, props changed) head/sys/contrib/dev/iwm/ head/sys/contrib/dev/iwm/LICENSE head/sys/contrib/dev/iwm/iwm-3160-9.fw.uu (contents, props changed) head/sys/contrib/dev/iwm/iwm-7260-9.fw.uu (contents, props changed) head/sys/contrib/dev/iwm/iwm-7265-9.fw.uu (contents, props changed) head/sys/dev/iwm/ head/sys/dev/iwm/if_iwm.c (contents, props changed) head/sys/dev/iwm/if_iwm_binding.c (contents, props changed) head/sys/dev/iwm/if_iwm_binding.h (contents, props changed) head/sys/dev/iwm/if_iwm_debug.h (contents, props changed) head/sys/dev/iwm/if_iwm_mac_ctxt.c (contents, props changed) head/sys/dev/iwm/if_iwm_mac_ctxt.h (contents, props changed) head/sys/dev/iwm/if_iwm_pcie_trans.c (contents, props changed) head/sys/dev/iwm/if_iwm_pcie_trans.h (contents, props changed) head/sys/dev/iwm/if_iwm_phy_ctxt.c (contents, props changed) head/sys/dev/iwm/if_iwm_phy_ctxt.h (contents, props changed) head/sys/dev/iwm/if_iwm_phy_db.c (contents, props changed) head/sys/dev/iwm/if_iwm_phy_db.h (contents, props changed) head/sys/dev/iwm/if_iwm_power.c (contents, props changed) head/sys/dev/iwm/if_iwm_power.h (contents, props changed) head/sys/dev/iwm/if_iwm_scan.c (contents, props changed) head/sys/dev/iwm/if_iwm_scan.h (contents, props changed) head/sys/dev/iwm/if_iwm_time_event.c (contents, props changed) head/sys/dev/iwm/if_iwm_time_event.h (contents, props changed) head/sys/dev/iwm/if_iwm_util.c (contents, props changed) head/sys/dev/iwm/if_iwm_util.h (contents, props changed) head/sys/dev/iwm/if_iwmreg.h (contents, props changed) head/sys/dev/iwm/if_iwmvar.h (contents, props changed) head/sys/modules/iwm/ head/sys/modules/iwm/Makefile (contents, props changed) head/sys/modules/iwmfw/ head/sys/modules/iwmfw/Makefile (contents, props changed) head/sys/modules/iwmfw/Makefile.inc (contents, props changed) head/sys/modules/iwmfw/iwm3160fw/ head/sys/modules/iwmfw/iwm3160fw/Makefile (contents, props changed) head/sys/modules/iwmfw/iwm7260fw/ head/sys/modules/iwmfw/iwm7260fw/Makefile (contents, props changed) head/sys/modules/iwmfw/iwm7265fw/ head/sys/modules/iwmfw/iwm7265fw/Makefile (contents, props changed) Added: head/share/man/man4/iwm.4 == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/iwm.4 Sat Aug 8 06:06:48 2015(r286441) @@ -0,0 +1,153 @@ +.\" Copyright (c) 2004-2006 +.\"Damien Bergamini . All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\"notice unmodified, this list of conditions, and the following +.\"disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\"notice, this list of conditions and the following disclaimer in the +.\"documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd July 1, 2015 +.Dt IWM 4 +.Os +.Sh NAME +.Nm iwm +.Nd Intel IEEE 802.11ac wireless network driver +.Sh SYNOPSIS +To compile this driver into the kernel, +include the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device
svn commit: r286294 - head/sys/arm/conf
Author: rpaulo Date: Tue Aug 4 19:04:02 2015 New Revision: 286294 URL: https://svnweb.freebsd.org/changeset/base/286294 Log: BEAGLEBONE: remove dtrace from MODULES_EXTRA. This config is already building all modules, so we don't need the MODULES_EXTRA definition. It was also causing problems to users who rely on MODULES_OVERRIDE to do the right thing. Discussed with: ian Modified: head/sys/arm/conf/BEAGLEBONE Modified: head/sys/arm/conf/BEAGLEBONE == --- head/sys/arm/conf/BEAGLEBONETue Aug 4 18:59:54 2015 (r286293) +++ head/sys/arm/conf/BEAGLEBONETue Aug 4 19:04:02 2015 (r286294) @@ -32,7 +32,6 @@ makeoptions MODULES_EXTRA="dtb/am335x" optionsKDTRACE_HOOKS # Kernel DTrace hooks optionsDDB_CTF # all architectures - kernel ELF linker loads CTF data makeoptionsWITH_CTF=1 -makeoptionsMODULES_EXTRA+="opensolaris dtrace dtrace/profile dtrace/fbt" optionsHZ=100 optionsSCHED_4BSD # 4BSD scheduler ___ 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: r284585 - head/sys/dev/atkbdc
Author: rpaulo Date: Fri Jun 19 00:10:30 2015 New Revision: 284585 URL: https://svnweb.freebsd.org/changeset/base/284585 Log: Synaptics: fix a problem with trackpoint passthrough. There was a inconsistency which led to enable passthrough commands being interpreted as actual touchpad commands. Submitted by: Jan Kokemüller MFC after:1 week Modified: head/sys/dev/atkbdc/psm.c Modified: head/sys/dev/atkbdc/psm.c == --- head/sys/dev/atkbdc/psm.c Fri Jun 19 00:00:32 2015(r284584) +++ head/sys/dev/atkbdc/psm.c Fri Jun 19 00:10:30 2015(r284585) @@ -4839,9 +4839,7 @@ enable_synaptics(struct psm_softc *sc, e synaptics_set_mode(sc, synaptics_preferred_mode(sc)); if (trackpoint_support && synhw.capPassthrough) { - synaptics_passthrough_on(sc); enable_trackpoint(sc, arg); - synaptics_passthrough_off(sc); } VLOG(3, (LOG_DEBUG, "synaptics: END init (%d buttons)\n", buttons)); @@ -5096,16 +5094,29 @@ enable_trackpoint(struct psm_softc *sc, KBDC kbdc = sc->kbdc; int id; + /* +* If called from enable_synaptics(), make sure that passthrough +* mode is enabled so we can reach the trackpoint. +* However, passthrough mode must be disabled before setting the +* trackpoint parameters, as rackpoint_command() enables and disables +* passthrough mode on its own. +*/ + if (sc->synhw.capPassthrough) + synaptics_passthrough_on(sc); + if (send_aux_command(kbdc, 0xe1) != PSM_ACK || read_aux_data(kbdc) != 0x01) - return (FALSE); + goto no_trackpoint; id = read_aux_data(kbdc); if (id < 0x01) - return (FALSE); + goto no_trackpoint; if (arg == PROBE) sc->tphw = id; if (!trackpoint_support) - return (FALSE); + goto no_trackpoint; + + if (sc->synhw.capPassthrough) + synaptics_passthrough_off(sc); if (arg == PROBE) { trackpoint_sysctl_create_tree(sc); @@ -5122,6 +5133,12 @@ enable_trackpoint(struct psm_softc *sc, set_trackpoint_parameters(sc); return (TRUE); + +no_trackpoint: + if (sc->synhw.capPassthrough) + synaptics_passthrough_off(sc); + + return (FALSE); } /* Interlink electronics VersaPad */ ___ 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: r284476 - head/usr.sbin/syslogd
Author: rpaulo Date: Tue Jun 16 22:42:19 2015 New Revision: 284476 URL: https://svnweb.freebsd.org/changeset/base/284476 Log: syslogd: re-read the timezone when receive a SIGHUP. syslogd already re-reads the configuration file and the hostname when receiving a SIGHUP, so it makes sense to reset the timezone. Special care was taken to ensure we don't break installations running with a custom TZ variable. PR: 196905 Submitted by: Kurt Lidl Sponsored by: Pi-Coral, Inc. Modified: head/usr.sbin/syslogd/syslogd.c Modified: head/usr.sbin/syslogd/syslogd.c == --- head/usr.sbin/syslogd/syslogd.c Tue Jun 16 22:31:38 2015 (r284475) +++ head/usr.sbin/syslogd/syslogd.c Tue Jun 16 22:42:19 2015 (r284476) @@ -1603,6 +1603,24 @@ init(int signo) } /* +* Load / reload timezone data (in case it changed). +* +* Just calling tzset() again does not work, the timezone code +* caches the result. However, by setting the TZ variable, one +* can defeat the caching and have the timezone code really +* reload the timezone data. Respect any initial setting of +* TZ, in case the system is configured specially. +*/ + dprintf("loading timezone data via tzset()\n"); + if (getenv("TZ")) { + tzset(); + } else { + setenv("TZ", ":/etc/localtime", 1); + tzset(); + unsetenv("TZ"); + } + + /* * Close all open log files. */ Initialized = 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"
svn commit: r284475 - head/usr.sbin/syslogd
Author: rpaulo Date: Tue Jun 16 22:31:38 2015 New Revision: 284475 URL: https://svnweb.freebsd.org/changeset/base/284475 Log: syslogd: don't leak finet0. Submitted by: Kurt Lidl Sponsored by: Pi-Coral, Inc. Modified: head/usr.sbin/syslogd/syslogd.c Modified: head/usr.sbin/syslogd/syslogd.c == --- head/usr.sbin/syslogd/syslogd.c Tue Jun 16 22:26:22 2015 (r284474) +++ head/usr.sbin/syslogd/syslogd.c Tue Jun 16 22:31:38 2015 (r284475) @@ -587,6 +587,7 @@ main(int argc, char *argv[]) finet[(*finet)+i] = finet0[i]; } *finet = total - 1; + free(finet0); } } } ___ 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: r284474 - head/usr.sbin/syslogd
Author: rpaulo Date: Tue Jun 16 22:26:22 2015 New Revision: 284474 URL: https://svnweb.freebsd.org/changeset/base/284474 Log: syslogd: support multiple -b options. It's now possible to bind multiple sockets to different IP addresses. PR: 159305 Submitted by: Kurt Lidl Sponsored by: Pi-Coral, Inc. Modified: head/usr.sbin/syslogd/syslogd.8 head/usr.sbin/syslogd/syslogd.c Modified: head/usr.sbin/syslogd/syslogd.8 == --- head/usr.sbin/syslogd/syslogd.8 Tue Jun 16 22:25:08 2015 (r284473) +++ head/usr.sbin/syslogd/syslogd.8 Tue Jun 16 22:26:22 2015 (r284474) @@ -28,7 +28,7 @@ .\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd March 3, 2015 +.Dd June 16, 2015 .Dt SYSLOGD 8 .Os .Sh NAME @@ -194,6 +194,8 @@ The default .Ar service is .Ql syslog . +This option can be specified multiple times to bind to +multiple addresses and/or ports. .It Fl C Create log files that do not exist (permission is set to .Li 0600 ) . Modified: head/usr.sbin/syslogd/syslogd.c == --- head/usr.sbin/syslogd/syslogd.c Tue Jun 16 22:25:08 2015 (r284473) +++ head/usr.sbin/syslogd/syslogd.c Tue Jun 16 22:26:22 2015 (r284474) @@ -124,6 +124,15 @@ const char ctty[] = _PATH_CONSOLE; #defineMAXUNAMES 20 /* maximum number of user names */ /* + * List of hosts for binding. + */ +static STAILQ_HEAD(, host) hqueue; +struct host { + char*name; + STAILQ_ENTRY(host) next; +}; + +/* * Unix sockets. * We have two default sockets, one with 666 permissions, * and one for privileged programs. @@ -275,7 +284,7 @@ static int Foreground = 0; /* Run in for static int resolve = 1;/* resolve hostname */ static charLocalHostName[MAXHOSTNAMELEN]; /* our hostname */ static const char *LocalDomain;/* our local domain name */ -static int *finet; /* Internet datagram socket */ +static int *finet; /* Internet datagram sockets */ static int fklog = -1; /* /dev/klog */ static int Initialized;/* set when we have initialized ourselves */ static int MarkInterval = 20 * 60; /* interval between marks in seconds */ @@ -348,10 +357,10 @@ main(int argc, char *argv[]) struct sockaddr_storage frominet; fd_set *fdsr = NULL; char line[MAXLINE + 1]; - char *bindhostname; const char *hname; struct timeval tv, *tvp; struct sigaction sact; + struct host *host; struct funix *fx, *fx1; sigset_t mask; pid_t ppid = 1, spid; @@ -360,7 +369,8 @@ main(int argc, char *argv[]) if (madvise(NULL, 0, MADV_PROTECT) != 0) dprintf("madvise() failed: %s\n", strerror(errno)); - bindhostname = NULL; + STAILQ_INIT(&hqueue); + while ((ch = getopt(argc, argv, "468Aa:b:cCdf:Fkl:m:nNop:P:sS:Tuv")) != -1) switch (ch) { @@ -383,8 +393,13 @@ main(int argc, char *argv[]) usage(); break; case 'b': - bindhostname = optarg; + { + if ((host = malloc(sizeof(struct host))) == NULL) + err(1, "malloc failed"); + host->name = optarg; + STAILQ_INSERT_TAIL(&hqueue, host, next); break; + } case 'c': no_compress++; break; @@ -433,7 +448,7 @@ main(int argc, char *argv[]) if (strlen(name) >= sizeof(sunx.sun_path)) errx(1, "%s path too long, exiting", name); if ((fx = malloc(sizeof(struct funix))) == NULL) - errx(1, "malloc failed"); + err(1, "malloc failed"); fx->s = -1; fx->name = name; fx->mode = mode; @@ -555,8 +570,26 @@ main(int argc, char *argv[]) } increase_rcvbuf(fx->s); } - if (SecureMode <= 1) - finet = socksetup(family, bindhostname); + if (SecureMode <= 1) { + if (STAILQ_EMPTY(&hqueue)) + finet = socksetup(family, NULL); + STAILQ_FOREACH(host, &hqueue, next) { + int *finet0, total; + finet0 = socksetup(family, host->name); + if (finet0 && !finet) { + finet = finet0; + } else if (finet0 && finet) { + total = *finet0 + *finet + 1; + finet = realloc(finet, total * sizeof(
svn commit: r284248 - head/sys/dev/ichsmb
Author: rpaulo Date: Wed Jun 10 22:39:10 2015 New Revision: 284248 URL: https://svnweb.freebsd.org/changeset/base/284248 Log: ichsmb: add Intel Wellsburg device ID. Submitted by: Michael Allen MFC after:1 week Sponsored by: Pi-Coral, Inc. Modified: head/sys/dev/ichsmb/ichsmb_pci.c Modified: head/sys/dev/ichsmb/ichsmb_pci.c == --- head/sys/dev/ichsmb/ichsmb_pci.cWed Jun 10 22:37:09 2015 (r284247) +++ head/sys/dev/ichsmb/ichsmb_pci.cWed Jun 10 22:39:10 2015 (r284248) @@ -91,6 +91,7 @@ __FBSDID("$FreeBSD$"); #define ID_LPTLP 0x9c228086 #define ID_WCPT0x8ca28086 #define ID_WCPTLP 0x9ca28086 +#defineID_WELLSBURG0x8d228086 #define PCIS_SERIALBUS_SMBUS_PROGIF0x00 @@ -212,6 +213,9 @@ ichsmb_pci_probe(device_t dev) case ID_COLETOCRK: device_set_desc(dev, "Intel Coleto Creek SMBus controller"); break; + case ID_WELLSBURG: + device_set_desc(dev, "Intel Wellsburg SMBus controller"); + break; default: return (ENXIO); } ___ 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: r284247 - head/sys/dev/ichsmb
Author: rpaulo Date: Wed Jun 10 22:37:09 2015 New Revision: 284247 URL: https://svnweb.freebsd.org/changeset/base/284247 Log: ichsmb: remove whitespace. Modified: head/sys/dev/ichsmb/ichsmb_pci.c Modified: head/sys/dev/ichsmb/ichsmb_pci.c == --- head/sys/dev/ichsmb/ichsmb_pci.cWed Jun 10 22:33:56 2015 (r284246) +++ head/sys/dev/ichsmb/ichsmb_pci.cWed Jun 10 22:37:09 2015 (r284247) @@ -5,7 +5,7 @@ * Copyright (c) 2000 Whistle Communications, Inc. * All rights reserved. * Author: Archie Cobbs - * + * * Subject to the following obligations and disclaimer of warranty, use and * redistribution of this software, in source or object code forms, with or * without modifications are expressly permitted by Whistle Communications; @@ -16,7 +16,7 @@ *Communications, Inc. trademarks, including the mark "WHISTLE *COMMUNICATIONS" on advertising, endorsements, or otherwise except as *such appears in the above copyright notice or in the software. - * + * * THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND * TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE, ___ 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: r283678 - head/sys/dev/acpi_support
Author: rpaulo Date: Fri May 29 05:28:24 2015 New Revision: 283678 URL: https://svnweb.freebsd.org/changeset/base/283678 Log: acpi_ibm: add per-model default events mask. Add support for the hotkeys on a Lenovo X1 3rd gen. This also enables event reporting by default. Modified: head/sys/dev/acpi_support/acpi_ibm.c Modified: head/sys/dev/acpi_support/acpi_ibm.c == --- head/sys/dev/acpi_support/acpi_ibm.cFri May 29 04:22:57 2015 (r283677) +++ head/sys/dev/acpi_support/acpi_ibm.cFri May 29 05:28:24 2015 (r283678) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "opt_acpi.h" #include +#include #include #include #include @@ -261,6 +262,37 @@ static struct { { NULL, 0, NULL, 0 } }; +/* + * Per-model default list of event mask. + */ +#defineACPI_IBM_HKEY_RFKILL_MASK (1 << 4) +#defineACPI_IBM_HKEY_DSWITCH_MASK (1 << 6) +#defineACPI_IBM_HKEY_BRIGHTNESS_UP_MASK(1 << 15) +#defineACPI_IBM_HKEY_BRIGHTNESS_DOWN_MASK (1 << 16) +#defineACPI_IBM_HKEY_SEARCH_MASK (1 << 18) +#defineACPI_IBM_HKEY_MICMUTE_MASK (1 << 26) +#defineACPI_IBM_HKEY_SETTINGS_MASK (1 << 28) +#defineACPI_IBM_HKEY_VIEWOPEN_MASK (1 << 30) +#defineACPI_IBM_HKEY_VIEWALL_MASK (1 << 31) + +struct acpi_ibm_models { + const char *maker; + const char *product; + uint32_t eventmask; +} acpi_ibm_models[] = { + { "LENOVO", "20BSCTO1WW", + ACPI_IBM_HKEY_RFKILL_MASK | + ACPI_IBM_HKEY_DSWITCH_MASK | + ACPI_IBM_HKEY_BRIGHTNESS_UP_MASK | + ACPI_IBM_HKEY_BRIGHTNESS_DOWN_MASK | + ACPI_IBM_HKEY_SEARCH_MASK | + ACPI_IBM_HKEY_MICMUTE_MASK | + ACPI_IBM_HKEY_SETTINGS_MASK | + ACPI_IBM_HKEY_VIEWOPEN_MASK | + ACPI_IBM_HKEY_VIEWALL_MASK + } +}; + ACPI_SERIAL_DECL(ibm, "ACPI IBM extras"); static int acpi_ibm_probe(device_t dev); @@ -354,7 +386,9 @@ acpi_ibm_probe(device_t dev) static int acpi_ibm_attach(device_t dev) { + int i; struct acpi_ibm_softc *sc; + char *maker, *product; devclass_t ec_devclass; ACPI_FUNCTION_TRACE((char *)(uintptr_t) __func__); @@ -448,6 +482,27 @@ acpi_ibm_attach(device_t dev) sc->led_dev = led_create_state(ibm_led, sc, "thinklight", (sc->light_val ? 1 : 0)); + /* Enable per-model events. */ + maker = kern_getenv("smbios.system.maker"); + product = kern_getenv("smbios.system.product"); + for (i = 0; i < nitems(acpi_ibm_models); i++) { + if (strcmp(maker, acpi_ibm_models[i].maker) == 0 && + strcmp(product, acpi_ibm_models[i].product) == 0) { + ACPI_SERIAL_BEGIN(ibm); + acpi_ibm_sysctl_set(sc, ACPI_IBM_METHOD_EVENTMASK, + acpi_ibm_models[i].eventmask); + ACPI_SERIAL_END(ibm); + } + } + freeenv(maker); + freeenv(product); + + /* Enable events by default. */ + ACPI_SERIAL_BEGIN(ibm); + acpi_ibm_sysctl_set(sc, ACPI_IBM_METHOD_EVENTS, 1); + ACPI_SERIAL_END(ibm); + + return (0); } @@ -770,7 +825,6 @@ acpi_ibm_sysctl_init(struct acpi_ibm_sof switch (method) { case ACPI_IBM_METHOD_EVENTS: - /* Events are disabled by default */ return (TRUE); case ACPI_IBM_METHOD_EVENTMASK: @@ -1229,7 +1283,6 @@ acpi_ibm_notify(ACPI_HANDLE h, UINT32 no for (;;) { acpi_GetInteger(acpi_get_handle(dev), IBM_NAME_EVENTS_GET, &event); - if (event == 0) break; ___ 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: r283138 - head/sys/arm/ti
Author: rpaulo Date: Wed May 20 06:23:01 2015 New Revision: 283138 URL: https://svnweb.freebsd.org/changeset/base/283138 Log: ti_pruss: pass the correct IRQ to userland. Also, fix several problems with the kqueue notification. Submitted by: Manuel Stühn freebsdnewbie at freenet.de Modified: head/sys/arm/ti/ti_pruss.c head/sys/arm/ti/ti_pruss.h Modified: head/sys/arm/ti/ti_pruss.c == --- head/sys/arm/ti/ti_pruss.c Wed May 20 05:49:52 2015(r283137) +++ head/sys/arm/ti/ti_pruss.c Wed May 20 06:23:01 2015(r283138) @@ -70,7 +70,8 @@ static void ti_pruss_kq_read_detach(s static int ti_pruss_kq_read_event(struct knote *, long); static d_kqfilter_tti_pruss_kqfilter; -#defineTI_PRUSS_IRQS 8 +#defineTI_PRUSS_IRQS 8 + struct ti_pruss_softc { struct mtx sc_mtx; struct resource *sc_mem_res; @@ -119,6 +120,7 @@ static struct resource_spec ti_pruss_irq { SYS_RES_IRQ, 7, RF_ACTIVE }, { -1, 0, 0 } }; +CTASSERT(TI_PRUSS_IRQS == nitems(ti_pruss_irq_spec) - 1); static struct ti_pruss_irq_arg { intirq; @@ -166,6 +168,7 @@ ti_pruss_attach(device_t dev) sc = device_get_softc(dev); rid = 0; mtx_init(&sc->sc_mtx, "TI PRUSS", NULL, MTX_DEF); + knlist_init_mtx(&sc->sc_selinfo.si_note, &sc->sc_mtx); sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); if (sc->sc_mem_res == NULL) { @@ -219,6 +222,9 @@ ti_pruss_detach(device_t dev) rman_get_rid(sc->sc_irq_res[i]), sc->sc_irq_res[i]); } + knlist_clear(&sc->sc_selinfo.si_note, 0); + knlist_destroy(&sc->sc_selinfo.si_note); + mtx_destroy(&sc->sc_mtx); if (sc->sc_mem_res) bus_release_resource(dev, SYS_RES_MEMORY, rman_get_rid(sc->sc_mem_res), sc->sc_mem_res); @@ -231,13 +237,23 @@ ti_pruss_detach(device_t dev) static void ti_pruss_intr(void *arg) { - struct ti_pruss_irq_arg *iap; - struct ti_pruss_softc *sc; - - iap = arg; - sc = iap->sc; - DPRINTF("interrupt %p", sc); - KNOTE_UNLOCKED(&sc->sc_selinfo.si_note, iap->irq); + int val; + struct ti_pruss_irq_arg *iap = arg; + struct ti_pruss_softc *sc = iap->sc; + /* +* Interrupts pr1_host_intr[0:7] are mapped to +* Host-2 to Host-9 of PRU-ICSS IRQ-controller. +*/ + const int pru_int = iap->irq + 2; + const int pru_int_mask = (1 << pru_int); + + val = ti_pruss_reg_read(sc, PRUSS_AM33XX_INTC + PRUSS_INTC_HIER); + DPRINTF("interrupt %p, %d", sc, pru_int); + if (!(val & pru_int_mask)) + return; + ti_pruss_reg_write(sc, PRUSS_AM33XX_INTC + PRUSS_INTC_HIDISR, + pru_int); + KNOTE_UNLOCKED(&sc->sc_selinfo.si_note, pru_int); } static int Modified: head/sys/arm/ti/ti_pruss.h == --- head/sys/arm/ti/ti_pruss.h Wed May 20 05:49:52 2015(r283137) +++ head/sys/arm/ti/ti_pruss.h Wed May 20 06:23:01 2015(r283138) @@ -33,4 +33,8 @@ #definePRUSS_AM33XX_REV0x4e82A900 #definePRUSS_AM33XX_INTC 0x2 +#define PRUSS_INTC_HIER0x1500 +#define PRUSS_INTC_HIDISR 0x0038 +#define PRUSS_INTC_HIPIR_BASE 0x0900 + #endif /* _TI_PRUSS_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"
Re: svn commit: r283025 - head/cddl/contrib/opensolaris/lib/libdtrace/common
On Sunday 17 May 2015 03:59:09 Mark Johnston wrote: > Author: markj > Date: Sun May 17 03:59:08 2015 > New Revision: 283025 > URL: https://svnweb.freebsd.org/changeset/base/283025 > > Log: > As dtrace(1) processes D libraries under /usr/lib/dtrace, the compiler may > return an error if one of the depends_on directives in a library is not > satisfied. In this case, libdtrace is supposed to ignore the library and > carry on. However, the remainder of the library may still be buffered by > the lexer, causing libdtrace to erroneously continue processing it on the > next call to yyparse(). Fix this by explicitly flushing the input buffer > each time the compiler state is reset. Hmm, nice catch! -- Rui Paulo ___ 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: r283012 - head/sys/dev/acpi_support
Author: rpaulo Date: Sat May 16 20:06:39 2015 New Revision: 283012 URL: https://svnweb.freebsd.org/changeset/base/283012 Log: acpi_ibm: whitespace. Modified: head/sys/dev/acpi_support/acpi_ibm.c Modified: head/sys/dev/acpi_support/acpi_ibm.c == --- head/sys/dev/acpi_support/acpi_ibm.cSat May 16 20:04:49 2015 (r283011) +++ head/sys/dev/acpi_support/acpi_ibm.cSat May 16 20:06:39 2015 (r283012) @@ -530,7 +530,7 @@ acpi_ibm_sysctl(SYSCTL_HANDLER_ARGS) int error = 0; int function; int method; - + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = (struct acpi_ibm_softc *)oidp->oid_arg1; @@ -823,7 +823,7 @@ acpi_ibm_sysctl_init(struct acpi_ibm_sof return (FALSE); case ACPI_IBM_METHOD_FANSPEED: - /* + /* * Some models report the fan speed in levels from 0-7 * Newer models report it contiguously */ @@ -834,7 +834,7 @@ acpi_ibm_sysctl_init(struct acpi_ibm_sof case ACPI_IBM_METHOD_FANLEVEL: case ACPI_IBM_METHOD_FANSTATUS: - /* + /* * Fan status is only supported on those models, * which report fan RPM contiguously, not in levels */ @@ -871,10 +871,10 @@ acpi_ibm_thermal_sysctl(SYSCTL_HANDLER_A for (int i = 0; i < 8; ++i) { temp_cmd[3] = '0' + i; - - /* + + /* * The TMPx methods seem to return +/- 128 or 0 -* when the respecting sensor is not available +* when the respecting sensor is not available */ if (ACPI_FAILURE(acpi_GetInteger(sc->ec_handle, temp_cmd, &temp[i])) || ABS(temp[i]) == 128 || temp[i] == 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: r282948 - head/lib/libthr/thread
On Friday 15 May 2015 08:40:17 Konstantin Belousov wrote: > Author: kib > Date: Fri May 15 08:40:17 2015 > New Revision: 282948 > URL: https://svnweb.freebsd.org/changeset/base/282948 > > Log: > Some third-party malloc(3) implementations use pthread_setspecific(3) > to handle per-thread information. Since our pthread_setspecific() > implementation calls calloc(3) to allocate per-thread specific data > storage, things get complicated. > > Switch the allocator to use bare mmap(2). There is some loss of the > allocated page, since e.g. on amd64, PTHREAD_KEYS_MAX * sizeof(struct > pthread_specific_elem) is 3K (it actually spans whole page due to > padding), but I believe it is more acceptable than additional code for > specialized allocator(). > > The alternatives would either to make the specific data array be part of > the struct thread, or use internal bindings to call the libc malloc, > avoiding interposing. > > Also do the style pass over the thr_spec.c, esp. simplify the > conditionals nesting by returning early when an error detected. > Remove trivial comments. > > Found by: y...@rawbw.com > PR: 200138 > Sponsored by: The FreeBSD Foundation > MFC after: 2 weeks Thanks! I think umem might be affected as well. -- Rui Paulo ___ 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: r282910 - head
Author: rpaulo Date: Thu May 14 17:37:10 2015 New Revision: 282910 URL: https://svnweb.freebsd.org/changeset/base/282910 Log: ObsoleteFiles: add lib32 entries for libyaml missed in r262407. Pointy hat: bapt Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Thu May 14 17:12:45 2015(r282909) +++ head/ObsoleteFiles.inc Thu May 14 17:37:10 2015(r282910) @@ -649,6 +649,10 @@ OLD_FILES+=usr/lib/private/libyaml.a OLD_FILES+=usr/lib/private/libyaml.so OLD_FILES+=usr/lib/private/libyaml.so.1 OLD_FILES+=usr/lib/private/libyaml_p.a +OLD_FILES+=usr/lib32/private/libyaml.a +OLD_FILES+=usr/lib32/private/libyaml.so +OLD_FILES+=usr/lib32/private/libyaml.so.1 +OLD_FILES+=usr/lib32/private/libyaml_p.a # 20140216: new clang import which bumps version from 3.3 to 3.4. OLD_FILES+=usr/bin/llvm-prof OLD_FILES+=usr/bin/llvm-ranlib ___ 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: r282827 - in head/sys: arm/ti/am335x boot/fdt/dts/arm
On Wednesday 13 May 2015 01:10:28 Luiz Otavio O Souza wrote: > Author: loos > Date: Wed May 13 01:10:28 2015 > New Revision: 282827 > URL: https://svnweb.freebsd.org/changeset/base/282827 > > Log: > Add support for the power button on BeagleBone Black. > > Shutdown and turn off the board when the power button is pressed. > > Submitted by: Michal Meloun > Relnotes: yes Cool! But... > > Modified: > head/sys/arm/ti/am335x/am335x_pmic.c > head/sys/boot/fdt/dts/arm/beaglebone-black.dts > > Modified: head/sys/arm/ti/am335x/am335x_pmic.c > > == --- head/sys/arm/ti/am335x/am335x_pmic.c Wed May 13 00:28:36 > 2015 (r282826) +++ head/sys/arm/ti/am335x/am335x_pmic.c Wed May 13 01:10:28 > 2015 (r282827) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include > #include > #include > #include > @@ -58,12 +59,20 @@ __FBSDID("$FreeBSD$"); > #define TPS65217D0x6 > > /* TPS65217 Reisters */ > -#define TPS65217_CHIPID_REG 0x00 > -#define TPS65217_STATUS_REG 0x0A > -#define TPS65217_STATUS_OFF (1U << 7) > -#define TPS65217_STATUS_ACPWR (1U << 3) > -#define TPS65217_STATUS_USBPWR (1U << 2) > -#define TPS65217_STATUS_BT (1U << 0) > +#define TPS65217_CHIPID_REG 0x00 > +#define TPS65217_INT_REG0x02 > +#define TPS65217_INT_PBM (1U << 6) > +#define TPS65217_INT_ACM (1U << 5) > +#define TPS65217_INT_USBM (1U << 4) > +#define TPS65217_INT_PBI (1U << 2) > +#define TPS65217_INT_ACI (1U << 1) > +#define TPS65217_INT_USBI (1U << 0) > + > +#define TPS65217_STATUS_REG 0x0A > +#define TPS65217_STATUS_OFF(1U << 7) > +#define TPS65217_STATUS_ACPWR (1U << 3) > +#define TPS65217_STATUS_USBPWR (1U << 2) > +#define TPS65217_STATUS_BT (1U << 0) > > #define MAX_IIC_DATA_SIZE2 > > @@ -72,6 +81,8 @@ struct am335x_pmic_softc { > device_tsc_dev; > uint32_tsc_addr; > struct intr_config_hook enum_hook; > + struct resource *sc_irq_res; > + void*sc_intrhand; > }; > > static void am335x_pmic_shutdown(void *, int); > @@ -105,6 +116,38 @@ am335x_pmic_write(device_t dev, uint8_t > return (iicbus_transfer(dev, msg, 1)); > } > > +static void > +am335x_pmic_intr(void *arg) > +{ > + struct am335x_pmic_softc *sc = (struct am335x_pmic_softc *)arg; > + uint8_t int_reg, status_reg; > + int rv; > + char notify_buf[16]; > + > + THREAD_SLEEPING_OK(); > + rv = am335x_pmic_read(sc->sc_dev, TPS65217_INT_REG, &int_reg, 1); Scary! The correct way to handle this case is to start a task(9). Why wasn't that done here? -- Rui Paulo ___ 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: r282734 - in head/sys: dev/atkbdc sys
Author: rpaulo Date: Sun May 10 20:36:57 2015 New Revision: 282734 URL: https://svnweb.freebsd.org/changeset/base/282734 Log: synaptics: more support for semi-MT trackpads. Several improvements to the Synaptics driver to support semi-multitouch trackpads and some other fixes: - Two finger scrolling support for "semi-MT" touchpads. Those include many of the older Synaptics touchpads before "true" multitouch support (indicated by capMultiFinger). Semi-MT touchpads can report a second finger position, but the X or Y coordinate may be swapped with some coordinate of the first finger. This is a result of how the hardware works internally. Therefore, all that can be reliably extracted is the bounding box of the two finger positions. Semi-MT touchpads can be recognized by the capAdvancedGestures capability bit. After setting the mode byte, advanced gestures mode has to be enabled. Then, data packets compatible with the capMultiFinger format are sent, so the same two finger scrolling code can be leveraged. Enabling advanced gestures mode on true multitouch touchpads should be harmless. Linux seems to always enable advanced gestures mode. - Put mode setting logic into own functions synaptics_preferred_mode() and synaptics_set_mode() to have this in one place. synaptics_passthrough_on() and synaptics_passthrough_off() currently always use 0xc1 as the mode byte, which may be wrong for touchpads that don't have capExtended. - Expose X and Y resolution of touchpad to userland. Also expose minimum and maximum X and Y coordinates. This is useful for programs in userspace that read raw PSM packets (with PSM_LEVEL_NATIVE enabled) and need to interpret the coordinates. - Also send "extended w mode" packets (see section 3.2.9 of 511-000275-01_RevB.pdf) to userspace if PSM_LEVEL_NATIVE is enabled. This is useful for userspace programs/drivers such as xf86-input-synaptics that can handle these packets. - Fix parsing of nExtendedQueries, and request extended/continued capability bits depending on this value. - capReportsMax, capClearPad, capAdvancedGestures and capCoveredPad must be extracted from status[0] and not status[2], I think. Submitted by: Jan Kokemüller jan.kokemueller at gmail.com Modified: head/sys/dev/atkbdc/psm.c head/sys/sys/mouse.h Modified: head/sys/dev/atkbdc/psm.c == --- head/sys/dev/atkbdc/psm.c Sun May 10 20:02:26 2015(r282733) +++ head/sys/dev/atkbdc/psm.c Sun May 10 20:36:57 2015(r282734) @@ -483,6 +483,8 @@ static probefunc_t enable_versapad; static void set_trackpoint_parameters(struct psm_softc *sc); static void synaptics_passthrough_on(struct psm_softc *sc); static void synaptics_passthrough_off(struct psm_softc *sc); +static int synaptics_preferred_mode(struct psm_softc *sc); +static void synaptics_set_mode(struct psm_softc *sc, int mode_byte); static struct { int model; @@ -933,14 +935,8 @@ doopen(struct psm_softc *sc, int command get_mouse_status(sc->kbdc, stat, 0, 3); if ((SYNAPTICS_VERSION_GE(sc->synhw, 7, 5) || stat[1] == 0x47) && - stat[2] == 0x40) { - /* Set the mode byte -- request wmode where -* available */ - if (sc->synhw.capExtended) - mouse_ext_command(sc->kbdc, 0xc1); - else - mouse_ext_command(sc->kbdc, 0xc0); - set_mouse_sampling_rate(sc->kbdc, 20); +stat[2] == 0x40) { + synaptics_set_mode(sc, synaptics_preferred_mode(sc)); VLOG(5, (LOG_DEBUG, "psm%d: Synaptis Absolute Mode " "hopefully restored\n", sc->unit)); @@ -2176,6 +2172,20 @@ psmioctl(struct cdev *dev, u_long cmd, c (*(int *)addr > PSM_LEVEL_MAX)) return (EINVAL); sc->mode.level = *(int *)addr; + + if (sc->hw.model == MOUSE_MODEL_SYNAPTICS) { + /* +* If we are entering PSM_LEVEL_NATIVE, we want to +* enable sending of "extended W mode" packets to +* userland. Reset the mode of the touchpad so that the +* change in the level is picked up. +*/ + error = block_mouse_data(sc, &command_byte); + if (error) + return (error); + synaptics_set_mode(sc, synaptics_preferred_mode(sc)); + unblock_mouse_data(sc, command_byte); + } break; case MOUSE_GETSTATUS: @@ -2865,7 +2875,8 @@ proc_synaptics(str
Re: svn commit: r282728 - head/sys/boot/efi/loader/arch/i386
On Sunday 10 May 2015 13:30:22 Ian Lepore wrote: > Author: ian > Date: Sun May 10 13:30:21 2015 > New Revision: 282728 > URL: https://svnweb.freebsd.org/changeset/base/282728 > > Log: > Don't check the return value from self_reloc(), it can't fail and doesn't > return a value. > > Despite what I said in my prior commit, it turns out this one platform > was checking the return value from the old self-reloc code (which returned > a hard-coded 0). Mea culpa. :-) -- Rui Paulo ___ 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: r281807 - head/usr.sbin/wpa
Author: rpaulo Date: Tue Apr 21 02:00:37 2015 New Revision: 281807 URL: https://svnweb.freebsd.org/changeset/base/281807 Log: Fix wpa/hostapd build without OpenSSL. Modified: head/usr.sbin/wpa/Makefile.crypto Modified: head/usr.sbin/wpa/Makefile.crypto == --- head/usr.sbin/wpa/Makefile.crypto Tue Apr 21 01:45:11 2015 (r281806) +++ head/usr.sbin/wpa/Makefile.crypto Tue Apr 21 02:00:37 2015 (r281807) @@ -53,7 +53,8 @@ SRCS+=tls_openssl.c .endif .if defined(CONFIG_INTERNAL_AES) -SRCS+= aes-internal.c \ +SRCS+= aes-unwrap.c aes-wrap.c \ + aes-internal.c \ aes-internal-dec.c \ aes-internal-enc.c .endif @@ -92,7 +93,7 @@ SRCS+=md4-internal.c .endif .if defined(CONFIG_INTERNAL_MD5) -SRCS+= md5-internal.c +SRCS+= md5.c md5-internal.c .endif .if defined(NEED_FIPS186_2_PRF) ___ 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: r281806 - in head: contrib/wpa contrib/wpa/hostapd contrib/wpa/hs20 contrib/wpa/patches contrib/wpa/src/ap contrib/wpa/src/common contrib/wpa/src/crypto contrib/wpa/src/drivers contrib/...
Author: rpaulo Date: Tue Apr 21 01:45:11 2015 New Revision: 281806 URL: https://svnweb.freebsd.org/changeset/base/281806 Log: Merge wpa_supplicant/hostapd 2.4. Major changes are: SAE, Suite B, RFC 7268, EAP-PKE, ACS, and tons of bug fixes. Relnotes: yes Added: head/contrib/wpa/CONTRIBUTIONS - copied unchanged from r281682, vendor/wpa/dist/CONTRIBUTIONS head/contrib/wpa/hostapd/hapd_module_tests.c - copied unchanged from r281682, vendor/wpa/dist/hostapd/hapd_module_tests.c head/contrib/wpa/hostapd/wps-ap-nfc.py - copied unchanged from r281682, vendor/wpa/dist/hostapd/wps-ap-nfc.py head/contrib/wpa/hs20/ - copied from r281682, vendor/wpa/dist/hs20/ head/contrib/wpa/patches/openssl-0.9.8za-tls-extensions.patch - copied unchanged from r281682, vendor/wpa/dist/patches/openssl-0.9.8za-tls-extensions.patch head/contrib/wpa/src/ap/acs.c - copied unchanged from r281682, vendor/wpa/dist/src/ap/acs.c head/contrib/wpa/src/ap/acs.h - copied unchanged from r281682, vendor/wpa/dist/src/ap/acs.h head/contrib/wpa/src/ap/bss_load.c - copied unchanged from r281682, vendor/wpa/dist/src/ap/bss_load.c head/contrib/wpa/src/ap/bss_load.h - copied unchanged from r281682, vendor/wpa/dist/src/ap/bss_load.h head/contrib/wpa/src/ap/dfs.c - copied unchanged from r281682, vendor/wpa/dist/src/ap/dfs.c head/contrib/wpa/src/ap/dfs.h - copied unchanged from r281682, vendor/wpa/dist/src/ap/dfs.h head/contrib/wpa/src/ap/dhcp_snoop.c - copied unchanged from r281682, vendor/wpa/dist/src/ap/dhcp_snoop.c head/contrib/wpa/src/ap/dhcp_snoop.h - copied unchanged from r281682, vendor/wpa/dist/src/ap/dhcp_snoop.h head/contrib/wpa/src/ap/ndisc_snoop.c - copied unchanged from r281682, vendor/wpa/dist/src/ap/ndisc_snoop.c head/contrib/wpa/src/ap/ndisc_snoop.h - copied unchanged from r281682, vendor/wpa/dist/src/ap/ndisc_snoop.h head/contrib/wpa/src/ap/x_snoop.c - copied unchanged from r281682, vendor/wpa/dist/src/ap/x_snoop.c head/contrib/wpa/src/ap/x_snoop.h - copied unchanged from r281682, vendor/wpa/dist/src/ap/x_snoop.h head/contrib/wpa/src/common/common_module_tests.c - copied unchanged from r281682, vendor/wpa/dist/src/common/common_module_tests.c head/contrib/wpa/src/common/hw_features_common.c - copied unchanged from r281682, vendor/wpa/dist/src/common/hw_features_common.c head/contrib/wpa/src/common/hw_features_common.h - copied unchanged from r281682, vendor/wpa/dist/src/common/hw_features_common.h head/contrib/wpa/src/common/ieee802_1x_defs.h - copied unchanged from r281682, vendor/wpa/dist/src/common/ieee802_1x_defs.h head/contrib/wpa/src/common/qca-vendor-attr.h - copied unchanged from r281682, vendor/wpa/dist/src/common/qca-vendor-attr.h head/contrib/wpa/src/common/qca-vendor.h - copied unchanged from r281682, vendor/wpa/dist/src/common/qca-vendor.h head/contrib/wpa/src/common/sae.c - copied unchanged from r281682, vendor/wpa/dist/src/common/sae.c head/contrib/wpa/src/common/sae.h - copied unchanged from r281682, vendor/wpa/dist/src/common/sae.h head/contrib/wpa/src/common/tnc.h - copied unchanged from r281682, vendor/wpa/dist/src/common/tnc.h head/contrib/wpa/src/common/wpa_helpers.c - copied unchanged from r281682, vendor/wpa/dist/src/common/wpa_helpers.c head/contrib/wpa/src/common/wpa_helpers.h - copied unchanged from r281682, vendor/wpa/dist/src/common/wpa_helpers.h head/contrib/wpa/src/crypto/aes-siv.c - copied unchanged from r281682, vendor/wpa/dist/src/crypto/aes-siv.c head/contrib/wpa/src/crypto/aes_siv.h - copied unchanged from r281682, vendor/wpa/dist/src/crypto/aes_siv.h head/contrib/wpa/src/crypto/crypto_module_tests.c - copied unchanged from r281682, vendor/wpa/dist/src/crypto/crypto_module_tests.c head/contrib/wpa/src/crypto/sha256-kdf.c - copied unchanged from r281682, vendor/wpa/dist/src/crypto/sha256-kdf.c head/contrib/wpa/src/crypto/sha384.h - copied unchanged from r281682, vendor/wpa/dist/src/crypto/sha384.h head/contrib/wpa/src/drivers/driver_macsec_qca.c - copied unchanged from r281682, vendor/wpa/dist/src/drivers/driver_macsec_qca.c head/contrib/wpa/src/drivers/driver_nl80211.h - copied unchanged from r281682, vendor/wpa/dist/src/drivers/driver_nl80211.h head/contrib/wpa/src/drivers/driver_nl80211_android.c - copied unchanged from r281682, vendor/wpa/dist/src/drivers/driver_nl80211_android.c head/contrib/wpa/src/drivers/driver_nl80211_capa.c - copied unchanged from r281682, vendor/wpa/dist/src/drivers/driver_nl80211_capa.c head/contrib/wpa/src/drivers/driver_nl80211_event.c - copied unchanged from r281682, vendor/wpa/dist/src/drivers/driver_nl80211_event.c head/contrib/wpa/src/drivers/driver_nl80211_monitor.c - copied unchanged from r281682, vendor/wpa/dist/src/drivers/driver_nl80211_monitor.c head/contrib/wpa/src/
svn commit: r281704 - head/sys/dev/atkbdc
Author: rpaulo Date: Sat Apr 18 20:55:55 2015 New Revision: 281704 URL: https://svnweb.freebsd.org/changeset/base/281704 Log: Synaptics: don't report the middle button when clickPad is used. On trackpads that had support for both, we were sending two button events when the trackpad was pressed. Tested by:Jakob Alvermark MFC after:1 week Modified: head/sys/dev/atkbdc/psm.c Modified: head/sys/dev/atkbdc/psm.c == --- head/sys/dev/atkbdc/psm.c Sat Apr 18 20:55:33 2015(r281703) +++ head/sys/dev/atkbdc/psm.c Sat Apr 18 20:55:55 2015(r281704) @@ -2756,7 +2756,8 @@ proc_synaptics(struct psm_softc *sc, pac touchpad_buttons |= MOUSE_BUTTON4DOWN; if ((pb->ipacket[3] ^ pb->ipacket[0]) & 0x02) touchpad_buttons |= MOUSE_BUTTON5DOWN; - } else if (sc->synhw.capExtended && sc->synhw.capMiddle) { + } else if (sc->synhw.capExtended && sc->synhw.capMiddle && + !sc->synhw.capClickPad) { /* Middle Button */ if ((pb->ipacket[0] ^ pb->ipacket[3]) & 0x01) touchpad_buttons |= MOUSE_BUTTON2DOWN; ___ 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: r281686 - head/sys/dev/etherswitch
Author: rpaulo Date: Sat Apr 18 07:34:39 2015 New Revision: 281686 URL: https://svnweb.freebsd.org/changeset/base/281686 Log: Fix French typos in etherswitch. Modified: head/sys/dev/etherswitch/miiproxy.c Modified: head/sys/dev/etherswitch/miiproxy.c == --- head/sys/dev/etherswitch/miiproxy.c Sat Apr 18 06:53:13 2015 (r281685) +++ head/sys/dev/etherswitch/miiproxy.c Sat Apr 18 07:34:39 2015 (r281686) @@ -62,35 +62,35 @@ struct mdioproxy_softc { }; /* - * The rendevous data structures and functions allow two device endpoints to + * The rendezvous data structures and functions allow two device endpoints to * match up, so that the proxy endpoint can be associated with a target * endpoint. The proxy has to know the device name of the target that it - * wants to associate with, for example through a hint. The rendevous code + * wants to associate with, for example through a hint. The rendezvous code * makes no assumptions about the devices that want to meet. */ -struct rendevous_entry; +struct rendezvous_entry; -enum rendevous_op { - RENDEVOUS_ATTACH, - RENDEVOUS_DETACH +enum rendezvous_op { + RENDEZVOUS_ATTACH, + RENDEZVOUS_DETACH }; -typedef int (*rendevous_callback_t)(enum rendevous_op, -struct rendevous_entry *); +typedef int (*rendezvous_callback_t)(enum rendezvous_op, +struct rendezvous_entry *); -static SLIST_HEAD(rendevoushead, rendevous_entry) rendevoushead = -SLIST_HEAD_INITIALIZER(rendevoushead); +static SLIST_HEAD(rendezvoushead, rendezvous_entry) rendezvoushead = +SLIST_HEAD_INITIALIZER(rendezvoushead); -struct rendevous_endpoint { +struct rendezvous_endpoint { device_tdevice; const char *name; - rendevous_callback_tcallback; + rendezvous_callback_t callback; }; -struct rendevous_entry { - SLIST_ENTRY(rendevous_entry)entries; - struct rendevous_endpoint proxy; - struct rendevous_endpoint target; +struct rendezvous_entry { + SLIST_ENTRY(rendezvous_entry) entries; + struct rendezvous_endpoint proxy; + struct rendezvous_endpoint target; }; /* @@ -98,15 +98,15 @@ struct rendevous_entry { * returns an error, undo the attachment. */ static int -rendevous_attach(struct rendevous_entry *e, struct rendevous_endpoint *ep) +rendezvous_attach(struct rendezvous_entry *e, struct rendezvous_endpoint *ep) { int error; - error = e->proxy.callback(RENDEVOUS_ATTACH, e); + error = e->proxy.callback(RENDEZVOUS_ATTACH, e); if (error == 0) { - error = e->target.callback(RENDEVOUS_ATTACH, e); + error = e->target.callback(RENDEZVOUS_ATTACH, e); if (error != 0) { - e->proxy.callback(RENDEVOUS_DETACH, e); + e->proxy.callback(RENDEZVOUS_DETACH, e); ep->device = NULL; ep->callback = NULL; } @@ -115,27 +115,27 @@ rendevous_attach(struct rendevous_entry } /* - * Create an entry for the proxy in the rendevous list. The name parameter + * Create an entry for the proxy in the rendezvous list. The name parameter * indicates the name of the device that is the target endpoint for this - * rendevous. The callback will be invoked as soon as the target is + * rendezvous. The callback will be invoked as soon as the target is * registered: either immediately if the target registered itself earlier, * or once the target registers. Returns ENXIO if the target has not yet * registered. */ static int -rendevous_register_proxy(device_t dev, const char *name, -rendevous_callback_t callback) +rendezvous_register_proxy(device_t dev, const char *name, +rendezvous_callback_t callback) { - struct rendevous_entry *e; + struct rendezvous_entry *e; KASSERT(callback != NULL, ("callback must be set")); - SLIST_FOREACH(e, &rendevoushead, entries) { + SLIST_FOREACH(e, &rendezvoushead, entries) { if (strcmp(name, e->target.name) == 0) { /* the target is already attached */ e->proxy.name = device_get_nameunit(dev); e->proxy.device = dev; e->proxy.callback = callback; - return (rendevous_attach(e, &e->proxy)); + return (rendezvous_attach(e, &e->proxy)); } } e = malloc(sizeof(*e), M_MIIPROXY, M_WAITOK | M_ZERO); @@ -143,34 +143,34 @@ rendevous_register_proxy(device_t dev, c e->proxy.device = dev; e->proxy.callback = callback; e->target.name = name; - SLIST_INSERT_HEAD(&rendevoushead, e, entries); + SLIST_INSERT_HEAD(&rendezvoushead, e, entries); return (ENXIO); } /* - * Create an entry in th
svn commit: r281544 - head/sys/dev/sound/pci/hda
Author: rpaulo Date: Wed Apr 15 05:24:39 2015 New Revision: 281544 URL: https://svnweb.freebsd.org/changeset/base/281544 Log: snd_hda: add support for the Lenovo X1 20BS model. This requires a patch to redirect the output to a separate DAC when the headphones are used. While there, add device strings for Intel Broadwell HDA controllers and Realtek ALC292 codecs. MFC after:1 week Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c head/sys/dev/sound/pci/hda/hdac.c head/sys/dev/sound/pci/hda/hdac.h head/sys/dev/sound/pci/hda/hdacc.c Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c == --- head/sys/dev/sound/pci/hda/hdaa_patches.c Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdaa_patches.c Wed Apr 15 05:24:39 2015 (r281544) @@ -401,6 +401,13 @@ hdac_pin_patch(struct hdaa_widget *w) patch = "as=1 seq=15"; break; } + } else if (id == HDA_CODEC_ALC292 && + subid == LENOVO_X120BS_SUBVENDOR) { + switch (nid) { + case 21: + patch = "as=1 seq=15"; + break; + } } if (patch != NULL) Modified: head/sys/dev/sound/pci/hda/hdac.c == --- head/sys/dev/sound/pci/hda/hdac.c Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdac.c Wed Apr 15 05:24:39 2015 (r281544) @@ -81,6 +81,8 @@ static const struct { { HDA_INTEL_HSW1,"Intel Haswell", 0, 0 }, { HDA_INTEL_HSW2,"Intel Haswell", 0, 0 }, { HDA_INTEL_HSW3,"Intel Haswell", 0, 0 }, + { HDA_INTEL_BDW1,"Intel Broadwell", 0, 0 }, + { HDA_INTEL_BDW2,"Intel Broadwell", 0, 0 }, { HDA_INTEL_CPT, "Intel Cougar Point", 0, 0 }, { HDA_INTEL_PATSBURG,"Intel Patsburg", 0, 0 }, { HDA_INTEL_PPT1,"Intel Panther Point", 0, 0 }, Modified: head/sys/dev/sound/pci/hda/hdac.h == --- head/sys/dev/sound/pci/hda/hdac.h Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdac.h Wed Apr 15 05:24:39 2015 (r281544) @@ -46,6 +46,7 @@ #define HDA_INTEL_HSW1 HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c) #define HDA_INTEL_HSW2 HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c) #define HDA_INTEL_HSW3 HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c) +#define HDA_INTEL_BDW1 HDA_MODEL_CONSTRUCT(INTEL, 0x160c) #define HDA_INTEL_CPT HDA_MODEL_CONSTRUCT(INTEL, 0x1c20) #define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20) #define HDA_INTEL_PPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) @@ -67,6 +68,7 @@ #define HDA_INTEL_WELLS2 HDA_MODEL_CONSTRUCT(INTEL, 0x8d21) #define HDA_INTEL_LPTLP1 HDA_MODEL_CONSTRUCT(INTEL, 0x9c20) #define HDA_INTEL_LPTLP2 HDA_MODEL_CONSTRUCT(INTEL, 0x9c21) +#define HDA_INTEL_BDW2 HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0x) /* Nvidia */ @@ -235,6 +237,7 @@ #define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015) #defineLENOVO_X1_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8) #defineLENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9) +#defineLENOVO_X120BS_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2227) #define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da) #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) #defineLENOVO_T400_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2) @@ -338,6 +341,7 @@ #define HDA_CODEC_ALC273 HDA_CODEC_CONSTRUCT(REALTEK, 0x0273) #define HDA_CODEC_ALC275 HDA_CODEC_CONSTRUCT(REALTEK, 0x0275) #define HDA_CODEC_ALC276 HDA_CODEC_CONSTRUCT(REALTEK, 0x0276) +#define HDA_CODEC_ALC292 HDA_CODEC_CONSTRUCT(REALTEK, 0x0292) #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) #define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) #define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) @@ -622,6 +626,7 @@ #define HDA_CODEC_INTELCPT HDA_CODEC_CONSTRUCT(INTEL, 0x2805) #define HDA_CODEC_INTELPPT HDA_CODEC_CONSTRUCT(INTEL, 0x2806) #define HDA_CODEC_INTELHSW HDA_CODEC_CONSTRUCT(INTEL, 0x2807) +#define HDA_CODEC_INTELBDW HDA_CODEC_CONSTRUCT(INTEL, 0x2808) #define HDA_CODEC_INTELCL HDA_CODEC_CONSTRUCT(INTEL, 0x29fb) #define HDA_CODEC_INTELHDA_CODEC_CONSTRUCT(INTEL, 0x) Modified: head/sys/dev/sound/pci/hda/hdacc.c == --- head/sys/dev/sound/pci/hda/hdacc.c Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdacc.c Wed Apr 15 05:24:39 2015 (r
svn commit: r281441 - head/sys/dev/atkbdc
Author: rpaulo Date: Sat Apr 11 18:45:22 2015 New Revision: 281441 URL: https://svnweb.freebsd.org/changeset/base/281441 Log: Add support for controlling the trackpoint when Synaptics is enabled. To accomplish this, we must put the Synaptics hardware in passthrough mode when talking to the trackpoint. I only performed minor style modifications. Submitted by: Jan Kokemüller MFC after:1 week Modified: head/sys/dev/atkbdc/psm.c Modified: head/sys/dev/atkbdc/psm.c == --- head/sys/dev/atkbdc/psm.c Sat Apr 11 18:44:07 2015(r281440) +++ head/sys/dev/atkbdc/psm.c Sat Apr 11 18:45:22 2015(r281441) @@ -191,7 +191,8 @@ enum { SYNAPTICS_SYSCTL_VSCROLL_VER_AREA, SYNAPTICS_SYSCTL_VSCROLL_MIN_DELTA, SYNAPTICS_SYSCTL_VSCROLL_DIV_MIN, - SYNAPTICS_SYSCTL_VSCROLL_DIV_MAX + SYNAPTICS_SYSCTL_VSCROLL_DIV_MAX, + SYNAPTICS_SYSCTL_TOUCHPAD_OFF }; typedef struct synapticsinfo { @@ -229,6 +230,7 @@ typedef struct synapticsinfo { int vscroll_min_delta; int vscroll_div_min; int vscroll_div_max; + int touchpad_off; } synapticsinfo_t; typedef struct synapticspacket { @@ -478,6 +480,10 @@ static probefunc_t enable_synaptics; static probefunc_t enable_trackpoint; static probefunc_t enable_versapad; +static void set_trackpoint_parameters(struct psm_softc *sc); +static void synaptics_passthrough_on(struct psm_softc *sc); +static void synaptics_passthrough_off(struct psm_softc *sc); + static struct { int model; u_char syncmask; @@ -885,6 +891,13 @@ doinitialize(struct psm_softc *sc, mouse set_mouse_resolution(kbdc, mode->resolution); set_mouse_scaling(kbdc, 1); set_mouse_mode(kbdc); + + /* +* Trackpoint settings are lost on resume. +* Restore them here. +*/ + if (sc->tphw > 0) + set_trackpoint_parameters(sc); } /* Record sync on the next data packet we see. */ @@ -2725,6 +2738,12 @@ proc_synaptics(struct psm_softc *sc, pac goto SYNAPTICS_END; } + if (sc->syninfo.touchpad_off) { + *x = *y = *z = 0; + ms->button = ms->obutton; + goto SYNAPTICS_END; + } + /* Button presses */ touchpad_buttons = 0; if (pb->ipacket[0] & 0x01) @@ -4131,6 +4150,10 @@ synaptics_sysctl(SYSCTL_HANDLER_ARGS) if (arg < -6143 || arg > 6143) return (EINVAL); break; +case SYNAPTICS_SYSCTL_TOUCHPAD_OFF: + if (arg < 0 || arg > 1) + return (EINVAL); + break; default: return (EINVAL); } @@ -4458,6 +4481,15 @@ synaptics_sysctl_create_tree(struct psm_ &sc->syninfo.vscroll_div_max, SYNAPTICS_SYSCTL_VSCROLL_DIV_MAX, synaptics_sysctl, "I", "Divisor for slow scrolling"); + + /* hw.psm.synaptics.touchpad_off. */ + sc->syninfo.touchpad_off = 0; + SYSCTL_ADD_PROC(&sc->syninfo.sysctl_ctx, + SYSCTL_CHILDREN(sc->syninfo.sysctl_tree), OID_AUTO, + "touchpad_off", CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_ANYBODY, + &sc->syninfo.touchpad_off, SYNAPTICS_SYSCTL_TOUCHPAD_OFF, + synaptics_sysctl, "I", + "Turn off touchpad"); } static int @@ -4689,25 +4721,75 @@ enable_synaptics(KBDC kbdc, struct psm_s VLOG(3, (LOG_DEBUG, "synaptics: END init (%d buttons)\n", buttons)); if (sc != NULL) { + if (trackpoint_support && synhw.capPassthrough) { + synaptics_passthrough_on(sc); + enable_trackpoint(kbdc, sc); + synaptics_passthrough_off(sc); + } /* Create sysctl tree. */ synaptics_sysctl_create_tree(sc); - sc->hw.buttons = buttons; } return (TRUE); } +static void +synaptics_passthrough_on(struct psm_softc *sc) +{ + int mode_byte; + + mode_byte = 0xc1 | (1 << 5); + VLOG(2, (LOG_NOTICE, "psm: setting pass-through mode. %d\n", + mode_byte)); + mouse_ext_command(sc->kbdc, mode_byte); + + /* "Commit" the Set Mode Byte command sent above. */ + set_mouse_sampling_rate(sc->kbdc, 20); +} + +static void +synaptics_passthrough_off(struct psm_softc *sc) +{ + int mode_byte; + + mode_byte = 0xc1; + VLOG(2, (LOG_NOTICE, "psm: turning pass-through mode off.\n")); + set_mouse_scaling(sc->kbdc, 2); + set_mouse_scaling(sc->kbdc, 1); + mouse_ext_command(sc->kbdc, mode_byte); + + /* "Commit" the Set Mode Byte c
svn commit: r281440 - in head/sys: dev/atkbdc sys
Author: rpaulo Date: Sat Apr 11 18:44:07 2015 New Revision: 281440 URL: https://svnweb.freebsd.org/changeset/base/281440 Log: Improve Synaptics support for newer touchpads. Enable two finger scrolling by default and disable the edge scrolling if the touchpad has no physical zone for it. Disable directional scrolling by default to avoid using extended buttons as scroll buttons. Add support for ClickPad. On Lenovo laptops, this is the button reported when one presses the touchpad. While there, fix a problem where the extended buttons were not reporting the button release event correctly: we need to save the state of the buttons and report it to sysmouse until we receive a packet from the touchpad indicating the button has been released. This makes it possible to use an extended button to resize a window. On Lenovo laptops, the major buttons are actually reported as extended buttons. Tested by:many (current@) MFC after:1 week Modified: head/sys/dev/atkbdc/psm.c head/sys/sys/mouse.h Modified: head/sys/dev/atkbdc/psm.c == --- head/sys/dev/atkbdc/psm.c Sat Apr 11 17:52:47 2015(r281439) +++ head/sys/dev/atkbdc/psm.c Sat Apr 11 18:44:07 2015(r281440) @@ -198,6 +198,7 @@ typedef struct synapticsinfo { struct sysctl_ctx_list sysctl_ctx; struct sysctl_oid *sysctl_tree; int directional_scrolls; + int two_finger_scroll; int min_pressure; int max_pressure; int max_width; @@ -336,6 +337,7 @@ struct psm_softc { /* Driver status inf int lasterr; int cmdcount; struct sigio*async; /* Processes waiting for SIGIO */ + int extended_buttons; }; static devclass_t psm_devclass; @@ -2752,7 +2754,13 @@ proc_synaptics(struct psm_softc *sc, pac if (pb->ipacket[5] & 0x02) touchpad_buttons |= MOUSE_BUTTON7DOWN; } else { - touchpad_buttons |= MOUSE_BUTTON2DOWN; + if (pb->ipacket[4] & 0x01) + touchpad_buttons |= MOUSE_BUTTON1DOWN; + if (pb->ipacket[5] & 0x01) + touchpad_buttons |= MOUSE_BUTTON3DOWN; + if (pb->ipacket[4] & 0x02) + touchpad_buttons |= MOUSE_BUTTON2DOWN; + sc->extended_buttons = touchpad_buttons; } /* @@ -2774,13 +2782,26 @@ proc_synaptics(struct psm_softc *sc, pac mask = (1 << maskedbits) - 1; pb->ipacket[4] &= ~(mask); pb->ipacket[5] &= ~(mask); + } else if (!sc->syninfo.directional_scrolls && + !sc->synaction.in_vscroll) { + /* +* Keep reporting MOUSE DOWN until we get a new packet +* indicating otherwise. +*/ + touchpad_buttons |= sc->extended_buttons; } } + /* Handle ClickPad. */ + if (sc->synhw.capClickPad && + ((pb->ipacket[0] ^ pb->ipacket[3]) & 0x01)) + touchpad_buttons |= MOUSE_BUTTON1DOWN; ms->button = touchpad_buttons | guest_buttons; - /* Check pressure to detect a real wanted action on the -* touchpad. */ + /* +* Check pressure to detect a real wanted action on the +* touchpad. +*/ if (*z >= sc->syninfo.min_pressure) { synapticsaction_t *synaction; int cursor, peer, window; @@ -2793,7 +2814,7 @@ proc_synaptics(struct psm_softc *sc, pac int weight_current, weight_previous, weight_len_squared; int div_min, div_max, div_len; int vscroll_hor_area, vscroll_ver_area; - + int two_finger_scroll; int len, weight_prev_x, weight_prev_y; int div_max_x, div_max_y, div_x, div_y; @@ -2820,6 +2841,7 @@ proc_synaptics(struct psm_softc *sc, pac div_len = sc->syninfo.div_len; vscroll_hor_area = sc->syninfo.vscroll_hor_area; vscroll_ver_area = sc->syninfo.vscroll_ver_area; + two_finger_scroll = sc->syninfo.two_finger_scroll; /* Palm detection. */ if (!( @@ -2979,33 +3001,57 @@ proc_synaptics(struct psm_softc *sc, pac if (timevalcmp(&sc->lastsoftintr, &sc->taptimeout, >) || dxp >= sc->syninfo.vscroll_min_delta ||
svn commit: r281406 - head/sys/dev/netmap
Author: rpaulo Date: Sat Apr 11 06:20:46 2015 New Revision: 281406 URL: https://svnweb.freebsd.org/changeset/base/281406 Log: netmap: improve the netmap attach message on FreeBSD. MFC after:1 week Modified: head/sys/dev/netmap/netmap.c Modified: head/sys/dev/netmap/netmap.c == --- head/sys/dev/netmap/netmap.cSat Apr 11 05:38:07 2015 (r281405) +++ head/sys/dev/netmap/netmap.cSat Apr 11 06:20:46 2015 (r281406) @@ -2710,11 +2710,17 @@ netmap_attach(struct netmap_adapter *arg } #endif /* linux */ +#ifdef __FreeBSD__ + if_printf(ifp, "netmap queues/slots: TX %d/%d, RX %d/%d\n", + hwna->up.num_tx_rings, hwna->up.num_tx_desc, + hwna->up.num_rx_rings, hwna->up.num_rx_desc); +#else D("success for %s tx %d/%d rx %d/%d queues/slots", hwna->up.name, hwna->up.num_tx_rings, hwna->up.num_tx_desc, hwna->up.num_rx_rings, hwna->up.num_rx_desc ); +#endif return 0; fail: ___ 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: r281372 - head/lib/liblzma
On Apr 10, 2015, at 10:22 AM, Xin LI wrote: Author: delphij Date: Fri Apr 10 17:21:47 2015 New Revision: 281372 URL: https://svnweb.freebsd.org/changeset/base/281372 Log: For reasons that I am not understand yet, using the libmd version of SHA256 would make libarchive based application to give: archive_read_extract(): Lzma library error: Corrupted input data (Internally this is LZMA_DATA_ERR) However, the libmd version of SHA256 is supposed to give same result as the bundled version do, and xz(1) is not affected. Can you test libarchive from github? ___ 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: r281138 - in head/sys/boot: efi/loader i386/libi386 i386/loader
from non-EFI. */ + smbios_probe(NULL); return (smbios_match_str(bios_vendor, smbios.bios_vendor) && smbios_match_str(maker, smbios.maker) && smbios_match_str(product, smbios.product)); Added: head/sys/boot/i386/libi386/smbios.h == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/i386/libi386/smbios.h Mon Apr 6 06:55:47 2015 (r281138) @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2015 Rui Paulo + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ +#ifndef _SMBIOS_H_ +#define_SMBIOS_H_ + +void smbios_detect(const caddr_t); +intsmbios_match(const char *, const char *, const char *); + +#endif /* _SMBIOS_H_ */ Modified: head/sys/boot/i386/loader/main.c == --- head/sys/boot/i386/loader/main.cMon Apr 6 06:44:48 2015 (r281137) +++ head/sys/boot/i386/loader/main.cMon Apr 6 06:55:47 2015 (r281138) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "common/bootargs.h" #include "libi386/libi386.h" +#include "libi386/smbios.h" #include "btxv86.h" #ifdef LOADER_ZFS_SUPPORT @@ -115,7 +116,7 @@ main(void) } setheap(heap_bottom, heap_top); -/* +/* * XXX Chicken-and-egg problem; we want to have console output early, but some * console attributes may depend on reading from eg. the boot device, which we * can't do yet. @@ -181,7 +182,7 @@ main(void) biosacpi_detect(); /* detect SMBIOS for future reference */ -smbios_detect(); +smbios_detect(NULL); /* detect PCI BIOS for future reference */ biospci_detect(); ___ 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: r281136 - head/sys/dev/ichsmb
Author: rpaulo Date: Mon Apr 6 06:02:58 2015 New Revision: 281136 URL: https://svnweb.freebsd.org/changeset/base/281136 Log: ichsmb: add a device id for the Wildcat Point-LP. MFC after:1 week Modified: head/sys/dev/ichsmb/ichsmb_pci.c Modified: head/sys/dev/ichsmb/ichsmb_pci.c == --- head/sys/dev/ichsmb/ichsmb_pci.cMon Apr 6 03:21:22 2015 (r281135) +++ head/sys/dev/ichsmb/ichsmb_pci.cMon Apr 6 06:02:58 2015 (r281136) @@ -86,9 +86,10 @@ __FBSDID("$FreeBSD$"); #define ID_CPT 0x1c228086 #define ID_PPT 0x1e228086 #define ID_AVOTON 0x1f3c8086 -#define ID_COLETOCRK 0x23B08086 +#define ID_COLETOCRK 0x23B08086 #define ID_LPT 0x8c228086 #define ID_WCPT0x8ca28086 +#define ID_WCPTLP 0x9ca28086 #define PCIS_SERIALBUS_SMBUS_PROGIF0x00 @@ -201,6 +202,9 @@ ichsmb_pci_probe(device_t dev) case ID_WCPT: device_set_desc(dev, "Intel Wildcat Point SMBus controller"); break; + case ID_WCPTLP: + device_set_desc(dev, "Intel Wildcat Point-LP SMBus controller"); + break; case ID_COLETOCRK: device_set_desc(dev, "Intel Coleto Creek SMBus controller"); break; ___ 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: r281127 - in head/sys: dev/atkbdc sys
Author: rpaulo Date: Mon Apr 6 01:04:08 2015 New Revision: 281127 URL: https://svnweb.freebsd.org/changeset/base/281127 Log: psm: print newer Synaptics Touchpad capabilities. Modified: head/sys/dev/atkbdc/psm.c head/sys/sys/mouse.h Modified: head/sys/dev/atkbdc/psm.c == --- head/sys/dev/atkbdc/psm.c Mon Apr 6 00:34:59 2015(r281126) +++ head/sys/dev/atkbdc/psm.c Mon Apr 6 01:04:08 2015(r281127) @@ -4483,8 +4483,12 @@ enable_synaptics(KBDC kbdc, struct psm_s synhw.nExtendedQueries = (status[0] & 0x70) != 0; synhw.capMiddle= (status[0] & 0x04) != 0; synhw.capPassthrough = (status[2] & 0x80) != 0; + synhw.capLowPower = (status[2] & 0x40) != 0; + synhw.capMultiFingerReport = +(status[2] & 0x20) != 0; synhw.capSleep = (status[2] & 0x10) != 0; synhw.capFourButtons = (status[2] & 0x08) != 0; + synhw.capBallistics= (status[2] & 0x04) != 0; synhw.capMultiFinger = (status[2] & 0x02) != 0; synhw.capPalmDetect= (status[2] & 0x01) != 0; @@ -4495,8 +4499,12 @@ enable_synaptics(KBDC kbdc, struct psm_s printf(" nExtendedQueries: %d\n", synhw.nExtendedQueries); printf(" capPassthrough: %d\n", synhw.capPassthrough); + printf(" capLowPower: %d\n", synhw.capLowPower); + printf(" capMultiFingerReport: %d\n", + synhw.capMultiFingerReport); printf(" capSleep: %d\n", synhw.capSleep); printf(" capFourButtons: %d\n", synhw.capFourButtons); + printf(" capBallistics: %d\n", synhw.capBallistics); printf(" capMultiFinger: %d\n", synhw.capMultiFinger); printf(" capPalmDetect: %d\n", synhw.capPalmDetect); } Modified: head/sys/sys/mouse.h == --- head/sys/sys/mouse.hMon Apr 6 00:34:59 2015(r281126) +++ head/sys/sys/mouse.hMon Apr 6 01:04:08 2015(r281127) @@ -108,6 +108,9 @@ typedef struct synapticshw { int capPalmDetect; int capPassthrough; int capMiddle; + int capLowPower; + int capMultiFingerReport; + int capBallistics; int nExtendedButtons; int nExtendedQueries; } synapticshw_t; ___ 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: r281102 - in head/sys: dev/hwpmc sys
Author: rpaulo Date: Sun Apr 5 05:14:20 2015 New Revision: 281102 URL: https://svnweb.freebsd.org/changeset/base/281102 Log: hwpmc: add initial Intel Broadwell support. The full list of aliases and events will follow in a subsequent commit. MFC after:1 month Modified: head/sys/dev/hwpmc/hwpmc_core.c head/sys/dev/hwpmc/hwpmc_intel.c head/sys/dev/hwpmc/pmc_events.h head/sys/sys/pmc.h Modified: head/sys/dev/hwpmc/hwpmc_core.c == --- head/sys/dev/hwpmc/hwpmc_core.c Sun Apr 5 05:09:38 2015 (r281101) +++ head/sys/dev/hwpmc/hwpmc_core.c Sun Apr 5 05:14:20 2015 (r281102) @@ -574,7 +574,8 @@ struct iap_event_descr { #defineIAP_F_HW(1 << 10) /* CPU: Haswell */ #defineIAP_F_CAS (1 << 11) /* CPU: Atom Silvermont */ #defineIAP_F_HWX (1 << 12) /* CPU: Haswell Xeon */ -#defineIAP_F_FM(1 << 13) /* Fixed mask */ +#defineIAP_F_BW(1 << 13) /* CPU: Broadwell */ +#defineIAP_F_FM(1 << 14) /* Fixed mask */ #defineIAP_F_ALLCPUSCORE2 \ (IAP_F_CC | IAP_F_CC2 | IAP_F_CC2E | IAP_F_CA) @@ -2074,6 +2075,7 @@ iap_allocate_pmc(int cpu, int ri, struct if (iap_event_corei7_ok_on_counter(ev, ri) == 0) return (EINVAL); break; + case PMC_CPU_INTEL_BROADWELL: case PMC_CPU_INTEL_SANDYBRIDGE: case PMC_CPU_INTEL_SANDYBRIDGE_XEON: case PMC_CPU_INTEL_IVYBRIDGE: @@ -2106,6 +2108,9 @@ iap_allocate_pmc(int cpu, int ri, struct case PMC_CPU_INTEL_ATOM_SILVERMONT: cpuflag = IAP_F_CAS; break; + case PMC_CPU_INTEL_BROADWELL: + cpuflag = IAP_F_BW; + break; case PMC_CPU_INTEL_CORE: cpuflag = IAP_F_CC; break; Modified: head/sys/dev/hwpmc/hwpmc_intel.c == --- head/sys/dev/hwpmc/hwpmc_intel.cSun Apr 5 05:09:38 2015 (r281101) +++ head/sys/dev/hwpmc/hwpmc_intel.cSun Apr 5 05:14:20 2015 (r281102) @@ -179,6 +179,10 @@ pmc_intel_initialize(void) cputype = PMC_CPU_INTEL_IVYBRIDGE_XEON; nclasses = 3; break; + case 0x3D: + cputype = PMC_CPU_INTEL_BROADWELL; + nclasses = 3; + break; case 0x3F: /* Per Intel document 325462-045US 09/2014. */ case 0x46: /* Per Intel document 325462-045US 09/2014. */ /* Should 46 be XEON. probably its own? */ @@ -227,6 +231,7 @@ pmc_intel_initialize(void) */ case PMC_CPU_INTEL_ATOM: case PMC_CPU_INTEL_ATOM_SILVERMONT: + case PMC_CPU_INTEL_BROADWELL: case PMC_CPU_INTEL_CORE: case PMC_CPU_INTEL_CORE2: case PMC_CPU_INTEL_CORE2EXTREME: @@ -295,6 +300,7 @@ pmc_intel_initialize(void) case PMC_CPU_INTEL_HASWELL: case PMC_CPU_INTEL_SANDYBRIDGE: case PMC_CPU_INTEL_WESTMERE: + case PMC_CPU_INTEL_BROADWELL: error = pmc_uncore_initialize(pmc_mdep, ncpus); break; default: @@ -319,6 +325,7 @@ pmc_intel_finalize(struct pmc_mdep *md) #ifdefined(__i386__) || defined(__amd64__) case PMC_CPU_INTEL_ATOM: case PMC_CPU_INTEL_ATOM_SILVERMONT: + case PMC_CPU_INTEL_BROADWELL: case PMC_CPU_INTEL_CORE: case PMC_CPU_INTEL_CORE2: case PMC_CPU_INTEL_CORE2EXTREME: @@ -360,6 +367,7 @@ pmc_intel_finalize(struct pmc_mdep *md) */ #ifdefined(__i386__) || defined(__amd64__) switch (md->pmd_cputype) { + case PMC_CPU_INTEL_BROADWELL: case PMC_CPU_INTEL_COREI7: case PMC_CPU_INTEL_HASWELL: case PMC_CPU_INTEL_SANDYBRIDGE: Modified: head/sys/dev/hwpmc/pmc_events.h == --- head/sys/dev/hwpmc/pmc_events.h Sun Apr 5 05:09:38 2015 (r281101) +++ head/sys/dev/hwpmc/pmc_events.h Sun Apr 5 05:14:20 2015 (r281102) @@ -1554,6 +1554,11 @@ __PMC_EV_ALIAS("BACLEARS.RETURN",I __PMC_EV_ALIAS("BACLEARS.COND",IAP_EVENT_E6H_10H) \ __PMC_EV_ALIAS("MS_DECODED.MS_ENTRY", IAP_EVENT_E7H_01H) +/* + * Aliases for Broadwell PMC events. + */ +#define __PMC_EV_ALIAS_BROADWELL() \ +__PMC_EV_ALIAS_INTEL_ARCHITECTURAL() /* * Aliases for Core PMC events. @@ -4228,6 +4233,11 @@ __PMC_EV(UCP, EVENT_86H_01H) #definePMC_EV_UCP_FIRSTPMC_EV_UCP_EVENT_00H_01H #definePMC_EV_UCP_LAST PMC_EV_UCP_EVENT_86H_01H +/* + * Alias
svn commit: r281101 - head/sys/dev/hwpmc
Author: rpaulo Date: Sun Apr 5 05:09:38 2015 New Revision: 281101 URL: https://svnweb.freebsd.org/changeset/base/281101 Log: Remove whitespace. Modified: head/sys/dev/hwpmc/hwpmc_core.c Modified: head/sys/dev/hwpmc/hwpmc_core.c == --- head/sys/dev/hwpmc/hwpmc_core.c Sun Apr 5 05:07:24 2015 (r281100) +++ head/sys/dev/hwpmc/hwpmc_core.c Sun Apr 5 05:09:38 2015 (r281101) @@ -410,7 +410,7 @@ iaf_start_pmc(int cpu, int ri) iafc->pc_resync = 0; iafc->pc_globalctrl |= (1ULL << (ri + IAF_OFFSET)); msr = rdmsr(IA_GLOBAL_CTRL) & ~IAF_GLOBAL_CTRL_MASK; - wrmsr(IA_GLOBAL_CTRL, msr | (iafc->pc_globalctrl & + wrmsr(IA_GLOBAL_CTRL, msr | (iafc->pc_globalctrl & IAF_GLOBAL_CTRL_MASK)); } while (iafc->pc_resync != 0); @@ -487,7 +487,7 @@ iaf_write_pmc(int cpu, int ri, pmc_value /* Turn off fixed counters */ msr = rdmsr(IAF_CTRL) & ~IAF_CTRL_MASK; - wrmsr(IAF_CTRL, msr); + wrmsr(IAF_CTRL, msr); wrmsr(IAF_CTR0 + ri, v & ((1ULL << core_iaf_width) - 1)); @@ -704,7 +704,7 @@ static struct iap_event_descr iap_events IAPDESCR(0CH_02H, 0x0C, 0x02, IAP_F_FM | IAP_F_CC2), IAPDESCR(0CH_03H, 0x0C, 0x03, IAP_F_FM | IAP_F_CA), -IAPDESCR(0DH_03H, 0x0D, 0x03, IAP_F_FM | IAP_F_SB | IAP_F_SBX | IAP_F_HW | +IAPDESCR(0DH_03H, 0x0D, 0x03, IAP_F_FM | IAP_F_SB | IAP_F_SBX | IAP_F_HW | IAP_F_IB | IAP_F_IBX | IAP_F_HWX), IAPDESCR(0DH_40H, 0x0D, 0x40, IAP_F_FM | IAP_F_SB | IAP_F_SBX), @@ -1316,7 +1316,7 @@ static struct iap_event_descr iap_events IAPDESCR(A6H_01H, 0xA6, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM), IAPDESCR(A7H_01H, 0xA7, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM), -IAPDESCR(A8H_01H, 0xA8, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IBX | +IAPDESCR(A8H_01H, 0xA8, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IBX | IAP_F_IB |IAP_F_SB | IAP_F_SBX | IAP_F_HW | IAP_F_HWX), IAPDESCR(AAH_01H, 0xAA, 0x01, IAP_F_FM | IAP_F_CC2), @@ -1466,7 +1466,7 @@ static struct iap_event_descr iap_events IAPDESCR(C3H_01H, 0xC3, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_I7 | IAP_F_WM | IAP_F_CAS), IAPDESCR(C3H_02H, 0xC3, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM | - IAP_F_SB | IAP_F_IB | IAP_F_SBX | IAP_F_IBX | IAP_F_HW | + IAP_F_SB | IAP_F_IB | IAP_F_SBX | IAP_F_IBX | IAP_F_HW | IAP_F_CAS | IAP_F_HWX), IAPDESCR(C3H_04H, 0xC3, 0x04, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX | @@ -1623,10 +1623,10 @@ static struct iap_event_descr iap_events IAP_F_SB | IAP_F_IB | IAP_F_SBX | IAP_F_IBX | IAP_F_HW | IAP_F_HWX), IAPDESCR(D1H_04H, 0xD1, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX | IAP_F_IBX | IAP_F_HW | IAP_F_HWX), -IAPDESCR(D1H_08H, 0xD1, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IB | +IAPDESCR(D1H_08H, 0xD1, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IB | IAP_F_IBX | IAP_F_HW | IAP_F_HWX), IAPDESCR(D1H_10H, 0xD1, 0x10, IAP_F_HW | IAP_F_IB | IAP_F_IBX | IAP_F_HWX), -IAPDESCR(D1H_20H, 0xD1, 0x20, IAP_F_FM | IAP_F_SBX | IAP_F_IBX | IAP_F_IB | +IAPDESCR(D1H_20H, 0xD1, 0x20, IAP_F_FM | IAP_F_SBX | IAP_F_IBX | IAP_F_IB | IAP_F_HW | IAP_F_HWX), IAPDESCR(D1H_40H, 0xD1, 0x40, IAP_F_FM | IAP_F_SB | IAP_F_IB | IAP_F_SBX | IAP_F_IBX | IAP_F_HW | IAP_F_HWX), @@ -1716,7 +1716,7 @@ static struct iap_event_descr iap_events IAPDESCR(E6H_02H, 0xE6, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM), IAPDESCR(E6H_08H, 0xE6, 0x08, IAP_F_CAS), IAPDESCR(E6H_10H, 0xE6, 0x10, IAP_F_CAS), -IAPDESCR(E6H_1FH, 0xE6, 0x1F, IAP_F_FM | IAP_F_IB | +IAPDESCR(E6H_1FH, 0xE6, 0x1F, IAP_F_FM | IAP_F_IB | IAP_F_IBX | IAP_F_HW | IAP_F_HWX), IAPDESCR(E7H_01H, 0xE7, 0x01, IAP_F_CAS), @@ -1876,7 +1876,7 @@ iap_is_event_architectural(enum pmc_even return (EV_IS_NOTARCH); } - return (((core_architectural_events & (1 << ae)) == 0) ? + return (((core_architectural_events & (1 << ae)) == 0) ? EV_IS_ARCH_NOTSUPP : EV_IS_ARCH_SUPP); } ___ 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: r281059 - head/sys/boot/efi/boot1
On Apr 4, 2015, at 00:27, Bruce Evans wrote: > > On Sat, 4 Apr 2015, Rui Paulo wrote: > >> Log: >> boot1 EFI: reset the screen and select the best mode. >> >> It's necessary to reset the screen to make sure any vendor pixels are >> gone when we start boot1. In the Lenovo X1 (3rd gen), this is the >> only way to clear the screen. Previously, the Lenovo logo would only >> disappear after the kernel started scrolling the display. >> >> After resetting the screen, EFI could put us in the worst LCD mode >> (oversized characters), so we now find the largest mode we can use and >> hope it's the most appropriate one (it's not trivial to tell what's >> the correct LCD resolution at this point). It's worth noting that the >> final stage loader has a 'mode' command that can be used to switch >> text modes. > > :-(. > > I just complained about the bug that vt (on non-EFI) clears the screen > where sc carefully preserves the screen in its history buffer. In my case, the "buffer" was a Lenovo logo. In other cases it might include POST messages, but like you said vt already clears it. > For graphics mode, determining the resolution is the trivial part :-). > You also need OCR or something to translate the pixels into the format > of your history buffer. Don't forget to fetch Lenevo's history buffer > and translate it into your format :-). > > I don't have problems with boot logos except when the battery dies, > since I turn them off until the CMOS forgets, but lose boot messages > in another way from newer monitors blanking the screen after mode > switches for much longer than older monitors. I expected newer systems > to "fix" this by using the same graphics mode for the whole boot. This is very specific to EFI. FreeBSD has always strived to give you text messages during boot and, while it would be easy to have the FreeBSD logo all the way to Xorg like Ubuntu does, I don't see that happening any time soon. Speaking of mode switching, they are pretty fast on this system. > Resetting the screen is even worse than clearing. Whole boots should > take a second or 2. I don't get close to that. More like 20. But with > the monitor blanking the screen for 5+ seconds afer every mode switch, > even a 20-second boot gives almost no time for reading its messages. > Saving the messages in history buffers or booting with -p becomes more > important. In my system, these EFI calls (reset + clear) don't take long. I can't tell any difference between the old boot time and the new boot time. -- Rui Paulo ___ 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: r281070 - head/sys/dev/usb/wlan
Author: rpaulo Date: Sat Apr 4 08:41:02 2015 New Revision: 281070 URL: https://svnweb.freebsd.org/changeset/base/281070 Log: urtwn: blink the LED when scanning. Previously, the driver was trying to blink the LED in the newstate function, but that only gets called once (unlike OpenBSD's net80211 stack). Move the LED blinking to set_channel(). While there, don't try to set the channel when we switch to the SCAN state. This is already accomplished by the set_channel() function. MFC after:1 week Modified: head/sys/dev/usb/wlan/if_urtwn.c Modified: head/sys/dev/usb/wlan/if_urtwn.c == --- head/sys/dev/usb/wlan/if_urtwn.cSat Apr 4 08:36:02 2015 (r281069) +++ head/sys/dev/usb/wlan/if_urtwn.cSat Apr 4 08:41:02 2015 (r281070) @@ -1568,14 +1568,9 @@ urtwn_newstate(struct ieee80211vap *vap, urtwn_bb_write(sc, R92C_OFDM0_AGCCORE1(1), reg); } } - /* Make link LED blink during scan. */ - urtwn_set_led(sc, URTWN_LED_LINK, !sc->ledlink); - /* Pause AC Tx queues. */ urtwn_write_1(sc, R92C_TXPAUSE, urtwn_read_1(sc, R92C_TXPAUSE) | 0x0f); - - urtwn_set_chan(sc, ic->ic_curchan, NULL); break; case IEEE80211_S_AUTH: /* Set initial gain under link. */ @@ -3131,8 +3126,13 @@ static void urtwn_set_channel(struct ieee80211com *ic) { struct urtwn_softc *sc = ic->ic_ifp->if_softc; + struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); URTWN_LOCK(sc); + if (vap->iv_state == IEEE80211_S_SCAN) { + /* Make link LED blink during scan. */ + urtwn_set_led(sc, URTWN_LED_LINK, !sc->ledlink); + } urtwn_set_chan(sc, ic->ic_curchan, NULL); URTWN_UNLOCK(sc); } ___ 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: r281069 - head/sys/dev/usb/wlan
Author: rpaulo Date: Sat Apr 4 08:36:02 2015 New Revision: 281069 URL: https://svnweb.freebsd.org/changeset/base/281069 Log: Remove whitespace. Modified: head/sys/dev/usb/wlan/if_urtwn.c Modified: head/sys/dev/usb/wlan/if_urtwn.c == --- head/sys/dev/usb/wlan/if_urtwn.cSat Apr 4 08:11:10 2015 (r281068) +++ head/sys/dev/usb/wlan/if_urtwn.cSat Apr 4 08:36:02 2015 (r281069) @@ -176,12 +176,12 @@ static struct ieee80211vap *urtwn_vap_cr const uint8_t [IEEE80211_ADDR_LEN], const uint8_t [IEEE80211_ADDR_LEN]); static voidurtwn_vap_delete(struct ieee80211vap *); -static struct mbuf * urtwn_rx_frame(struct urtwn_softc *, uint8_t *, int, +static struct mbuf * urtwn_rx_frame(struct urtwn_softc *, uint8_t *, int, int *); -static struct mbuf * urtwn_rxeof(struct usb_xfer *, struct urtwn_data *, +static struct mbuf * urtwn_rxeof(struct usb_xfer *, struct urtwn_data *, int *, int8_t *); static voidurtwn_txeof(struct usb_xfer *, struct urtwn_data *); -static int urtwn_alloc_list(struct urtwn_softc *, +static int urtwn_alloc_list(struct urtwn_softc *, struct urtwn_data[], int, int); static int urtwn_alloc_rx_list(struct urtwn_softc *); static int urtwn_alloc_tx_list(struct urtwn_softc *); @@ -191,24 +191,24 @@ static void urtwn_free_list(struct urtw struct urtwn_data data[], int); static struct urtwn_data * _urtwn_getbuf(struct urtwn_softc *); static struct urtwn_data * urtwn_getbuf(struct urtwn_softc *); -static int urtwn_write_region_1(struct urtwn_softc *, uint16_t, +static int urtwn_write_region_1(struct urtwn_softc *, uint16_t, uint8_t *, int); static voidurtwn_write_1(struct urtwn_softc *, uint16_t, uint8_t); static voidurtwn_write_2(struct urtwn_softc *, uint16_t, uint16_t); static voidurtwn_write_4(struct urtwn_softc *, uint16_t, uint32_t); -static int urtwn_read_region_1(struct urtwn_softc *, uint16_t, +static int urtwn_read_region_1(struct urtwn_softc *, uint16_t, uint8_t *, int); static uint8_t urtwn_read_1(struct urtwn_softc *, uint16_t); static uint16_turtwn_read_2(struct urtwn_softc *, uint16_t); static uint32_turtwn_read_4(struct urtwn_softc *, uint16_t); -static int urtwn_fw_cmd(struct urtwn_softc *, uint8_t, +static int urtwn_fw_cmd(struct urtwn_softc *, uint8_t, const void *, int); static voidurtwn_r92c_rf_write(struct urtwn_softc *, int, uint8_t, uint32_t); -static voidurtwn_r88e_rf_write(struct urtwn_softc *, int, +static voidurtwn_r88e_rf_write(struct urtwn_softc *, int, uint8_t, uint32_t); static uint32_turtwn_rf_read(struct urtwn_softc *, int, uint8_t); -static int urtwn_llt_write(struct urtwn_softc *, uint32_t, +static int urtwn_llt_write(struct urtwn_softc *, uint32_t, uint32_t); static uint8_t urtwn_efuse_read_1(struct urtwn_softc *, uint16_t); static voidurtwn_efuse_read(struct urtwn_softc *); @@ -219,7 +219,7 @@ static void urtwn_r88e_read_rom(struct static int urtwn_ra_init(struct urtwn_softc *); static voidurtwn_tsf_sync_enable(struct urtwn_softc *); static voidurtwn_set_led(struct urtwn_softc *, int, int); -static int urtwn_newstate(struct ieee80211vap *, +static int urtwn_newstate(struct ieee80211vap *, enum ieee80211_state, int); static voidurtwn_watchdog(void *); static voidurtwn_update_avgrssi(struct urtwn_softc *, int, int8_t); @@ -237,7 +237,7 @@ static int urtwn_r88e_power_on(struct u static int urtwn_llt_init(struct urtwn_softc *); static voidurtwn_fw_reset(struct urtwn_softc *); static voidurtwn_r88e_fw_reset(struct urtwn_softc *); -static int urtwn_fw_loadpage(struct urtwn_softc *, int, +static int urtwn_fw_loadpage(struct urtwn_softc *, int, const uint8_t *, int); static int urtwn_load_firmware(struct urtwn_softc *); static int urtwn_r92c_dma_init(struct urtwn_softc *); @@ -249,22 +249,22 @@ static void urtwn_cam_init(struct urtwn static voidurtwn_pa_bias_init(struct urtwn_softc *); static voidurtwn_rxfilter_init(struct urtwn_softc *); static voidurtwn_edca_init(struct urtwn_softc *); -static
svn commit: r281061 - head/sys/boot/efi/loader
Author: rpaulo Date: Sat Apr 4 04:30:37 2015 New Revision: 281061 URL: https://svnweb.freebsd.org/changeset/base/281061 Log: loader/EFI: improve the help of the 'mode' command. Modified: head/sys/boot/efi/loader/main.c Modified: head/sys/boot/efi/loader/main.c == --- head/sys/boot/efi/loader/main.c Sat Apr 4 04:29:31 2015 (r281060) +++ head/sys/boot/efi/loader/main.c Sat Apr 4 04:30:37 2015 (r281061) @@ -285,7 +285,7 @@ command_configuration(int argc, char *ar } -COMMAND_SET(mode, "mode", "change or display text modes", command_mode); +COMMAND_SET(mode, "mode", "change or display EFI text modes", command_mode); static int command_mode(int argc, char *argv[]) @@ -331,7 +331,7 @@ command_mode(int argc, char *argv[]) } if (i != 0) - printf("Choose the mode with \"col \"\n"); + printf("Select a mode with the command \"mode \"\n"); return (CMD_OK); } ___ 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: r281060 - head/sys/boot/efi/boot1
Author: rpaulo Date: Sat Apr 4 04:29:31 2015 New Revision: 281060 URL: https://svnweb.freebsd.org/changeset/base/281060 Log: Remove an unnecessary space in a printf call. Modified: head/sys/boot/efi/boot1/boot1.c Modified: head/sys/boot/efi/boot1/boot1.c == --- head/sys/boot/efi/boot1/boot1.c Sat Apr 4 04:27:54 2015 (r281059) +++ head/sys/boot/efi/boot1/boot1.c Sat Apr 4 04:29:31 2015 (r281060) @@ -146,7 +146,8 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E conout->EnableCursor(conout, TRUE); conout->ClearScreen(conout); - printf(" \n>> FreeBSD EFI boot block\n"); + printf("\n" + ">> FreeBSD EFI boot block\n"); printf(" Loader path: %s\n", path); status = systab->BootServices->LocateHandle(ByProtocol, ___ 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: r281059 - head/sys/boot/efi/boot1
Author: rpaulo Date: Sat Apr 4 04:27:54 2015 New Revision: 281059 URL: https://svnweb.freebsd.org/changeset/base/281059 Log: boot1 EFI: reset the screen and select the best mode. It's necessary to reset the screen to make sure any vendor pixels are gone when we start boot1. In the Lenovo X1 (3rd gen), this is the only way to clear the screen. Previously, the Lenovo logo would only disappear after the kernel started scrolling the display. After resetting the screen, EFI could put us in the worst LCD mode (oversized characters), so we now find the largest mode we can use and hope it's the most appropriate one (it's not trivial to tell what's the correct LCD resolution at this point). It's worth noting that the final stage loader has a 'mode' command that can be used to switch text modes. While there, enable the software cursor, just like in the legacy boot mode. MFC after:1 week Modified: head/sys/boot/efi/boot1/boot1.c Modified: head/sys/boot/efi/boot1/boot1.c == --- head/sys/boot/efi/boot1/boot1.c Sat Apr 4 04:18:52 2015 (r281058) +++ head/sys/boot/efi/boot1/boot1.c Sat Apr 4 04:27:54 2015 (r281059) @@ -108,11 +108,12 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E { EFI_HANDLE handles[128]; EFI_BLOCK_IO *blkio; - UINTN i, nparts = sizeof(handles); + UINTN i, nparts = sizeof(handles), cols, rows, max_dim, best_mode; EFI_STATUS status; EFI_DEVICE_PATH *devpath; EFI_BOOT_SERVICES *BS; EFI_CONSOLE_CONTROL_PROTOCOL *ConsoleControl = NULL; + SIMPLE_TEXT_OUTPUT_INTERFACE *conout = NULL; char *path = _PATH_LOADER; systab = Xsystab; @@ -124,6 +125,26 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E if (status == EFI_SUCCESS) (void)ConsoleControl->SetMode(ConsoleControl, EfiConsoleControlScreenText); + /* +* Reset the console and find the best text mode. +*/ + conout = systab->ConOut; + conout->Reset(conout, TRUE); + max_dim = best_mode = 0; + for (i = 0; ; i++) { + status = conout->QueryMode(conout, i, + &cols, &rows); + if (EFI_ERROR(status)) + break; + if (cols * rows > max_dim) { + max_dim = cols * rows; + best_mode = i; + } + } + if (max_dim > 0) + conout->SetMode(conout, best_mode); + conout->EnableCursor(conout, TRUE); + conout->ClearScreen(conout); printf(" \n>> FreeBSD EFI boot block\n"); printf(" Loader path: %s\n", 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: r281058 - head/sys/boot/efi/boot1
Author: rpaulo Date: Sat Apr 4 04:18:52 2015 New Revision: 281058 URL: https://svnweb.freebsd.org/changeset/base/281058 Log: Remove whitespace. Modified: head/sys/boot/efi/boot1/boot1.c Modified: head/sys/boot/efi/boot1/boot1.c == --- head/sys/boot/efi/boot1/boot1.c Sat Apr 4 02:34:40 2015 (r281057) +++ head/sys/boot/efi/boot1/boot1.c Sat Apr 4 04:18:52 2015 (r281058) @@ -30,7 +30,7 @@ __FBSDID("$FreeBSD$"); #define _PATH_LOADER "/boot/loader.efi" #define _PATH_KERNEL "/boot/kernel/kernel" - + #define BSIZEMAX 16384 typedef int putc_func_t(char c, void *arg); @@ -40,7 +40,7 @@ struct sp_data { u_int sp_len; u_int sp_size; }; - + static const char digits[] = "0123456789abcdef"; static void panic(const char *fmt, ...) __dead2; @@ -62,7 +62,7 @@ static void load(const char *fname); EFI_SYSTEM_TABLE *systab; EFI_HANDLE *image; -static void +static void bcopy(const void *src, void *dst, size_t len) { const char *s = src; @@ -71,12 +71,12 @@ bcopy(const void *src, void *dst, size_t while (len-- != 0) *d++ = *s++; } - + static void memcpy(void *dst, const void *src, size_t len) { bcopy(src, dst, len); -} +} static void bzero(void *b, size_t len) @@ -86,7 +86,7 @@ bzero(void *b, size_t len) while (len-- != 0) *p++ = 0; } - + static int strcmp(const char *s1, const char *s2) { @@ -134,7 +134,7 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E for (i = 0; i < nparts; i++) { status = systab->BootServices->HandleProtocol(handles[i], - &DevicePathGUID, (void **)&devpath); + &DevicePathGUID, (void **)&devpath); if (EFI_ERROR(status)) continue; @@ -142,7 +142,7 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E devpath = NextDevicePathNode(devpath); status = systab->BootServices->HandleProtocol(handles[i], - &BlockIoProtocolGUID, (void **)&blkio); + &BlockIoProtocolGUID, (void **)&blkio); if (EFI_ERROR(status)) continue; @@ -158,7 +158,7 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E bootdevhandle = handles[i]; load(path); - + panic("Load failed"); return EFI_SUCCESS; @@ -266,7 +266,7 @@ fsstat(ufs_ino_t inode) } static struct dmadat __dmadat; - + static int domount(EFI_DEVICE_PATH *device, EFI_BLOCK_IO *blkio, int quiet) { @@ -278,7 +278,7 @@ domount(EFI_DEVICE_PATH *device, EFI_BLO if (!quiet) printf("domount: can't read superblock\n"); return (-1); - } + } if (!quiet) printf("Succesfully mounted UFS filesystem\n"); return (0); @@ -303,7 +303,7 @@ load(const char *fname) status = systab->BootServices->AllocatePool(EfiLoaderData, bufsize, &buffer); fsread(ino, buffer, bufsize); - + /* XXX: For secure boot, we need our own loader here */ status = systab->BootServices->LoadImage(TRUE, image, bootdevpath, buffer, bufsize, &loaderhandle); @@ -549,4 +549,3 @@ __ultoa(char *buf, u_long ul, int base) while ((ul /= base) != 0); return (p); } - ___ 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: r280728 - head/sys/conf
On Mar 26, 2015, at 21:44, Warner Losh wrote: > Yea, the ships passed in the night. I’ve had these changes in my tree for a > while. > > However, It kinda can be overridden by compiling the modules directly. Since > the actual module’s Makefiles don’t depend on this, I think we’re OK. Can you > test > building a kernel on the BBB you have and let me know if it produces working > ZFS? As long as this change works with MODULES_OVERRIDE, I'm fine with it. -- Rui Paulo ___ 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: r280728 - head/sys/conf
On Mar 26, 2015, at 19:35, Warner Losh wrote: > > Author: imp > Date: Fri Mar 27 02:35:25 2015 > New Revision: 280728 > URL: https://svnweb.freebsd.org/changeset/base/280728 > > Log: > Categorize certain kernel builds as being broken in certain places. > > Differential Revision: https://reviews.freebsd.org/D2011 > > Modified: > head/sys/conf/kern.opts.mk > > Modified: head/sys/conf/kern.opts.mk > == > --- head/sys/conf/kern.opts.mkFri Mar 27 02:35:11 2015 > (r280727) > +++ head/sys/conf/kern.opts.mkFri Mar 27 02:35:25 2015 > (r280728) > @@ -75,6 +75,34 @@ BROKEN_OPTIONS+= EISA > BROKEN_OPTIONS+= OFED > .endif > > +# Options that cannot be turned on this architecture, usually because > +# of compilation or other issues so severe it cannot be used even > +# on an experimental basis > +__ALWAYS_NO_OPTIONS= > + > +# Things that don't work based on the CPU > +.if ${MACHINE_CPUARCH} == "arm" > +__ALWAYS_NO_OPTIONS+= CDDL ZFS > +.endif This isn't entirely true. With a properly tuned ARC and kmem size, ZFS seems to work on a BeagleBone. There have been reports on the freebsd-arm mailing list this month. Based on my understanding of your previous commit, it looks like this can't be overridden which is a problem. -- Rui Paulo ___ 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: r280665 - head/sys/vm
Author: rpaulo Date: Thu Mar 26 05:20:18 2015 New Revision: 280665 URL: https://svnweb.freebsd.org/changeset/base/280665 Log: Add comments about CTLFLAG_RDTUN vs. TUNABLE_INT_FETCH. Requested by: julian Modified: head/sys/vm/memguard.c head/sys/vm/vm_page.c Modified: head/sys/vm/memguard.c == --- head/sys/vm/memguard.c Thu Mar 26 05:18:17 2015(r280664) +++ head/sys/vm/memguard.c Thu Mar 26 05:20:18 2015(r280665) @@ -69,7 +69,7 @@ static SYSCTL_NODE(_vm, OID_AUTO, memgua static u_int vm_memguard_divisor; SYSCTL_UINT(_vm_memguard, OID_AUTO, divisor, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, &vm_memguard_divisor, -0, "(kmem_size/memguard_divisor) == memguard submap size"); +0, "(kmem_size/memguard_divisor) == memguard submap size"); /* * Short description (ks_shortdesc) of memory type to monitor. @@ -162,6 +162,7 @@ memguard_fudge(unsigned long km_size, co u_long mem_pgs, parent_size; vm_memguard_divisor = 10; + /* CTFLAG_RDTUN doesn't work during the early boot process. */ TUNABLE_INT_FETCH("vm.memguard.divisor", &vm_memguard_divisor); parent_size = vm_map_max(parent_map) - vm_map_min(parent_map) + Modified: head/sys/vm/vm_page.c == --- head/sys/vm/vm_page.c Thu Mar 26 05:18:17 2015(r280664) +++ head/sys/vm/vm_page.c Thu Mar 26 05:20:18 2015(r280665) @@ -349,6 +349,9 @@ vm_page_startup(vm_offset_t vaddr) /* * Allocate memory for use when boot strapping the kernel memory * allocator. +* +* CTFLAG_RDTUN doesn't work during the early boot process, so we must +* manually fetch the value. */ TUNABLE_INT_FETCH("vm.boot_pages", &boot_pages); new_end = end - (boot_pages * UMA_SLAB_SIZE); ___ 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: r280457 - head/sys/vm
Author: rpaulo Date: Tue Mar 24 20:09:55 2015 New Revision: 280457 URL: https://svnweb.freebsd.org/changeset/base/280457 Log: Use TUNABLE_INT_FETCH for boot_pages. vm.boot_pages is marked as a CTLFLAG_RDTUN, but it's used by the VM before the sysctl subsystem is initialsed. We manually fetch the variable from the environment to work around this problem. Tested by:Keith White kwhite at uottawa.ca MFC after:1 week Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c == --- head/sys/vm/vm_page.c Tue Mar 24 20:07:27 2015(r280456) +++ head/sys/vm/vm_page.c Tue Mar 24 20:09:55 2015(r280457) @@ -134,8 +134,9 @@ long first_page; int vm_page_zero_count; static int boot_pages = UMA_BOOT_PAGES; -SYSCTL_INT(_vm, OID_AUTO, boot_pages, CTLFLAG_RDTUN, &boot_pages, 0, - "number of pages allocated for bootstrapping the VM system"); +SYSCTL_INT(_vm, OID_AUTO, boot_pages, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, +&boot_pages, 0, +"number of pages allocated for bootstrapping the VM system"); static int pa_tryrelock_restart; SYSCTL_INT(_vm, OID_AUTO, tryrelock_restart, CTLFLAG_RD, @@ -349,6 +350,7 @@ vm_page_startup(vm_offset_t vaddr) * Allocate memory for use when boot strapping the kernel memory * allocator. */ + TUNABLE_INT_FETCH("vm.boot_pages", &boot_pages); new_end = end - (boot_pages * UMA_SLAB_SIZE); new_end = trunc_page(new_end); mapped = pmap_map(&vaddr, new_end, end, ___ 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: r280456 - head/sys/vm
Author: rpaulo Date: Tue Mar 24 20:07:27 2015 New Revision: 280456 URL: https://svnweb.freebsd.org/changeset/base/280456 Log: Remove whitespace. Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c == --- head/sys/vm/vm_page.c Tue Mar 24 20:00:11 2015(r280455) +++ head/sys/vm/vm_page.c Tue Mar 24 20:07:27 2015(r280456) @@ -160,7 +160,7 @@ vm_page_init_fakepg(void *dummy) { fakepg_zone = uma_zcreate("fakepg", sizeof(struct vm_page), NULL, NULL, - NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE | UMA_ZONE_VM); + NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE | UMA_ZONE_VM); } /* Make sure that u_long is at least 64 bits when PAGE_SIZE is 32K. */ @@ -443,7 +443,7 @@ vm_page_startup(vm_offset_t vaddr) */ for (pa = new_end; pa < phys_avail[biggestone + 1]; pa += PAGE_SIZE) dump_add_page(pa); -#endif +#endif phys_avail[biggestone + 1] = new_end; /* @@ -702,7 +702,7 @@ vm_page_unhold(vm_page_t mem) * vm_page_unhold_pages: * * Unhold each of the pages that is referenced by the given array. - */ + */ void vm_page_unhold_pages(vm_page_t *ma, int count) { @@ -1303,7 +1303,7 @@ vm_page_rename(vm_page_t m, vm_object_t * zero is given for "end", then the range's upper bound is * infinity. If the given object is backed by a vnode and it * transitions from having one or more cached pages to none, the - * vnode's hold count is reduced. + * vnode's hold count is reduced. */ void vm_page_cache_free(vm_object_t object, vm_pindex_t start, vm_pindex_t end) @@ -1455,7 +1455,7 @@ vm_page_is_cached(vm_object_t object, vm * VM_ALLOC_NOBUSY do not exclusive busy the page * VM_ALLOC_NODUMP do not include the page in a kernel core dump * VM_ALLOC_NOOBJ page is not associated with an object and - * should not be exclusive busy + * should not be exclusive busy * VM_ALLOC_SBUSY shared busy the allocated page * VM_ALLOC_WIRED wire the allocated page * VM_ALLOC_ZERO prefer a zeroed page @@ -1563,7 +1563,7 @@ vm_page_alloc(vm_object_t object, vm_pin ("vm_page_alloc: page %p has unexpected queue %d", m, m->queue)); KASSERT(m->wire_count == 0, ("vm_page_alloc: page %p is wired", m)); KASSERT(m->hold_count == 0, ("vm_page_alloc: page %p is held", m)); - KASSERT(!vm_page_sbusied(m), + KASSERT(!vm_page_sbusied(m), ("vm_page_alloc: page %p is busy", m)); KASSERT(m->dirty == 0, ("vm_page_alloc: page %p is dirty", m)); KASSERT(pmap_page_get_memattr(m) == VM_MEMATTR_DEFAULT, @@ -1702,7 +1702,7 @@ vm_page_alloc_contig_vdrop(struct spglis * optional allocation flags: * VM_ALLOC_NOBUSY do not exclusive busy the page * VM_ALLOC_NOOBJ page is not associated with an object and - * should not be exclusive busy + * should not be exclusive busy * VM_ALLOC_SBUSY shared busy the allocated page * VM_ALLOC_WIRED wire the allocated page * VM_ALLOC_ZERO prefer a zeroed page @@ -2399,7 +2399,7 @@ vm_page_unwire(vm_page_t m, uint8_t queu * This will cause them to be moved to the cache more quickly and * if not actively re-referenced, reclaimed more quickly. If we just * stick these pages at the end of the inactive queue, heavy filesystem - * meta-data accesses can cause an unnecessary paging load on memory bound + * meta-data accesses can cause an unnecessary paging load on memory bound * processes. This optimization causes one-time-use metadata to be * reused more quickly. * @@ -2537,7 +2537,7 @@ vm_page_cache(vm_page_t m) /* * Remove the page from the object's collection of resident -* pages. +* pages. */ vm_radix_remove(&object->rtree, m->pindex); TAILQ_REMOVE(&object->memq, m, listq); @@ -2610,7 +2610,7 @@ vm_page_cache(vm_page_t m) * it gets reused quickly. However, this can result in a silly syndrome * due to the page recycling too quickly. Small objects will not be * fully cached. On the other hand, if we move the page to the inactive - * queue we wind up with a problem whereby very large objects + * queue we wind up with a problem whereby very large objects * unnecessarily blow away our inactive and cache queues. * * The solution is to move the pages based on a fixed weighting. We @@ -2712,7 +2712,7 @@ retrylookup: vm_page_xbusied(m) : vm_page_busied(m); if (sleep) { if ((allocflags & VM_ALLOC_NOWAIT) != 0) - return (NULL); + r
Re: svn commit: r280410 - head/sys/kern
On Mar 23, 2015, at 19:25, Bryan Drewery wrote: > > On 3/23/15 9:17 PM, Rui Paulo wrote: >> Author: rpaulo >> Date: Tue Mar 24 02:17:17 2015 >> New Revision: 280410 >> URL: https://svnweb.freebsd.org/changeset/base/280410 >> >> Log: >> Disable coredump_devctl because it could lead to leaking paths to >> jails. >> >> Modified: >> head/sys/kern/kern_sig.c >> >> Modified: head/sys/kern/kern_sig.c >> == >> --- head/sys/kern/kern_sig.c Tue Mar 24 01:32:46 2015(r280409) >> +++ head/sys/kern/kern_sig.c Tue Mar 24 02:17:17 2015(r280410) >> @@ -180,7 +180,7 @@ static int set_core_nodump_flag = 0; >> SYSCTL_INT(_kern, OID_AUTO, nodump_coredump, CTLFLAG_RW, >> &set_core_nodump_flag, >> 0, "Enable setting the NODUMP flag on coredump files"); >> >> -static int coredump_devctl = 1; >> +static int coredump_devctl = 0; >> SYSCTL_INT(_kern, OID_AUTO, coredump_devctl, CTLFLAG_RW, &coredump_devctl, >> 0, "Generate a devctl notification when processes coredump"); >> >> > > If there is a security concern about this feature I think more needs to be > done than just flipping the default. It could easily be forgotten about and > make a release. Sure, but to be honest there are already sysctls that make your system insecure and we've been making releases with them for many years. -- Rui Paulo ___ 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: r280410 - head/sys/kern
Author: rpaulo Date: Tue Mar 24 02:17:17 2015 New Revision: 280410 URL: https://svnweb.freebsd.org/changeset/base/280410 Log: Disable coredump_devctl because it could lead to leaking paths to jails. Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c == --- head/sys/kern/kern_sig.cTue Mar 24 01:32:46 2015(r280409) +++ head/sys/kern/kern_sig.cTue Mar 24 02:17:17 2015(r280410) @@ -180,7 +180,7 @@ static int set_core_nodump_flag = 0; SYSCTL_INT(_kern, OID_AUTO, nodump_coredump, CTLFLAG_RW, &set_core_nodump_flag, 0, "Enable setting the NODUMP flag on coredump files"); -static int coredump_devctl = 1; +static int coredump_devctl = 0; SYSCTL_INT(_kern, OID_AUTO, coredump_devctl, CTLFLAG_RW, &coredump_devctl, 0, "Generate a devctl notification when processes coredump"); ___ 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: r278479 - in head: etc sys/kern
On Mar 22, 2015, at 18:08, Mateusz Guzik wrote: > > On Mon, Feb 09, 2015 at 11:13:51PM +0000, Rui Paulo wrote: >> Author: rpaulo >> Date: Mon Feb 9 23:13:50 2015 >> New Revision: 278479 >> URL: https://svnweb.freebsd.org/changeset/base/278479 >> >> Log: >> Notify devd(8) when a process crashed. >> >> This change implements a notification (via devctl) to userland when >> the kernel produces coredumps after a process has crashed. >> devd can then run a specific command to produce a human readable crash >> report. The command is most usually a helper that runs gdb/lldb >> commands on the file/coredump pair. It's possible to use this >> functionality for implementing automatic generation of crash reports. >> >> devd(8) will be notified of the full path of the binary that crashed and >> the full path of the coredump file. >> > > The more I look at this the more I'm convinced this is quite insecure. > > At a minimum this should also grow a flag to decide whether notification > about jailed process crashes are allowed. Off by default. > > As it is you pass a path leading to a jail, but that's inherently > untrusted and will lead to trouble. We got sidetracked by the devd-bloat discussion, but I can turn this off until a better approach is programmed. -- Rui Paulo ___ 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: r279568 - head/usr.sbin/syslogd
On 3 Mar 2015, at 12:24, Sergey Kandaurov wrote: > > Author: pluknet > Date: Tue Mar 3 20:23:59 2015 > New Revision: 279568 > URL: https://svnweb.freebsd.org/changeset/base/279568 > > Log: > Update .Dd, sync usage() for -F. Missed in previous change. That was fast... thanks :-) -- Rui Paulo ___ 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: r279567 - head/usr.sbin/syslogd
Author: rpaulo Date: Tue Mar 3 20:07:59 2015 New Revision: 279567 URL: https://svnweb.freebsd.org/changeset/base/279567 Log: Add and document an option to cause syslogd to run in the foreground. This allows a separate process to monitor when and how syslogd exits. That process can then restart syslogd if needed. Differential Revision:https://reviews.freebsd.org/D1985 Submitted by: Ravi Pokala Reviewed by: allanjude (man page) Modified: head/usr.sbin/syslogd/syslogd.8 head/usr.sbin/syslogd/syslogd.c Modified: head/usr.sbin/syslogd/syslogd.8 == --- head/usr.sbin/syslogd/syslogd.8 Tue Mar 3 17:20:19 2015 (r279566) +++ head/usr.sbin/syslogd/syslogd.8 Tue Mar 3 20:07:59 2015 (r279567) @@ -36,7 +36,7 @@ .Nd log systems messages .Sh SYNOPSIS .Nm -.Op Fl 468ACcdkNnosTuv +.Op Fl 468ACcdFkNnosTuv .Op Fl a Ar allowed_peer .Op Fl b Ar bind_address .Op Fl f Ar config_file @@ -213,6 +213,17 @@ This is probably only of use to develope Specify the pathname of an alternate configuration file; the default is .Pa /etc/syslog.conf . +.It Fl F +Run +.Nm +in the foreground, rather than going into daemon mode. This is useful if +some other process uses +.Xr fork 2 +and +.Xr exec 3 +to run +.Nm , +and wants to monitor when and how it exits. .It Fl k Disable the translation of messages received with facility Modified: head/usr.sbin/syslogd/syslogd.c == --- head/usr.sbin/syslogd/syslogd.c Tue Mar 3 17:20:19 2015 (r279566) +++ head/usr.sbin/syslogd/syslogd.c Tue Mar 3 20:07:59 2015 (r279567) @@ -271,6 +271,7 @@ static struct filed *Files; /* Log files static struct filed consfile; /* Console */ static int Debug; /* debug flag */ +static int Foreground = 0; /* Run in foreground, instead of daemonizing */ static int resolve = 1;/* resolve hostname */ static charLocalHostName[MAXHOSTNAMELEN]; /* our hostname */ static const char *LocalDomain;/* our local domain name */ @@ -360,7 +361,7 @@ main(int argc, char *argv[]) dprintf("madvise() failed: %s\n", strerror(errno)); bindhostname = NULL; - while ((ch = getopt(argc, argv, "468Aa:b:cCdf:kl:m:nNop:P:sS:Tuv")) + while ((ch = getopt(argc, argv, "468Aa:b:cCdf:Fkl:m:nNop:P:sS:Tuv")) != -1) switch (ch) { case '4': @@ -396,6 +397,9 @@ main(int argc, char *argv[]) case 'f': /* configuration file */ ConfFile = optarg; break; + case 'F': /* run in foreground instead of daemon */ + Foreground++; + break; case 'k': /* keep remote kern fac */ KeepKernFac = 1; break; @@ -487,14 +491,14 @@ main(int argc, char *argv[]) warn("cannot open pid file"); } - if (!Debug) { + if ((!Foreground) && (!Debug)) { ppid = waitdaemon(0, 0, 30); if (ppid < 0) { warn("could not become daemon"); pidfile_remove(pfh); exit(1); } - } else { + } else if (Debug) { setlinebuf(stdout); } ___ 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: r279262 - head/sys/netinet
On Feb 24, 2015, at 09:43 PM, Xin LI wrote: Author: delphij Date: Wed Feb 25 05:42:59 2015 New Revision: 279262 URL: https://svnweb.freebsd.org/changeset/base/279262 Log: Fix integer overflow in IGMP protocol. Security: FreeBSD-SA-15:04.igmp Security: CVE-2015-1414 Found by: Mateusz Kocielski, Logicaltrust Analyzed by: Marek Kroemeke, Mateusz Kocielski (s...@netbsd.org) and 22733db72ab3ed94b5f8a1ffcde850251fe6f466 It looks weird to me that a SHA1 hash is capable of analysing code Maybe the AI Winter has finally ended? :-) ___ 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: r279073 - head/share/man/man7
On Feb 20, 2015, at 10:49 AM, Glen Barber wrote: Author: gjb Date: Fri Feb 20 18:49:49 2015 New Revision: 279073 URL: https://svnweb.freebsd.org/changeset/base/279073 Log: Fix XZ_THREADS description in release(7), which defaults to '0', not kern.ncpu. Sponsored by: The FreeBSD Foundation Modified: head/share/man/man7/release.7 Modified: head/share/man/man7/release.7 == --- head/share/man/man7/release.7 Fri Feb 20 18:42:00 2015 (r279072) +++ head/share/man/man7/release.7 Fri Feb 20 18:49:49 2015 (r279073) @@ -262,8 +262,9 @@ Set to the number of threads should use when compressing images. By default, .Va XZ_THREADS -is set to the number of cores reported by -.Va kern.ncpu . +is set to +.Va 0 , +which uses all available cores on the system. ... provided there's enough memory. ___ 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: r277300 - in head: cddl/contrib/opensolaris/cmd/dtrace cddl/contrib/opensolaris/cmd/lockstat cddl/contrib/opensolaris/cmd/mdb/tools/common cddl/contrib/opensolaris/cmd/plockstat cddl/c
On Jan 17, 2015, at 06:45 AM, Steven Hartland wrote: Author: smh Date: Sat Jan 17 14:44:59 2015 New Revision: 277300 URL: https://svnweb.freebsd.org/changeset/base/277300 Log: Mechanically convert cddl sun #ifdef's to illumos Since the upstream for cddl code is now illumos not sun, mechanically convert all sun #ifdef's to illumos #ifdef's which have been used in all newer code for some time. Also do a manual pass to correct the use if #ifdef comments as per style(9) as well as few uses of #if defined(__FreeBSD__) vs #ifndef illumos. I had just convinced Mark Johnston to use "#ifdef __FreeBSD__" instead of "#ifndef illumos". Is there a reason why we keep using #ifndef ? To me, it's much easier to read #ifdef __FreeBSD__ than to note whether theres an "n" in that pre-processor macro. ___ 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: r278914 - in head/sys: kern sys
On Feb 17, 2015, at 11:32, Gleb Smirnoff wrote: > > Differential Revision: D1499 You need to use the *FULL* URL. Otherwise the revision won't be closed automatically. -- Rui Paulo ___ 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: r278933 - head/etc
Author: rpaulo Date: Wed Feb 18 03:46:43 2015 New Revision: 278933 URL: https://svnweb.freebsd.org/changeset/base/278933 Log: Fix a typo in ipv6_down(). We weren't skipping extraneous entries in the ifconfig | grep inet6 case. Submitted by: Ashutosh Kumar AK0037447 at TechMahindra.com MFC after:1 week Modified: head/etc/network.subr Modified: head/etc/network.subr == --- head/etc/network.subr Wed Feb 18 03:33:17 2015(r278932) +++ head/etc/network.subr Wed Feb 18 03:46:43 2015(r278933) @@ -754,7 +754,7 @@ ipv6_down() IFS="$_ifs" for _inet6 in $inetList ; do # get rid of extraneous line - case $_inet in + case $_inet6 in inet6\ *) ;; *) continue ;; esac ___ 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: r278926 - in head: . release share/mk
Author: rpaulo Date: Tue Feb 17 23:13:45 2015 New Revision: 278926 URL: https://svnweb.freebsd.org/changeset/base/278926 Log: release: use xz via pipe when compressing the tarballs. libarchive(3) doesn't support the new liblzma API yet, but this change allows us to enable multi-threaded xz compression. ``make release'' should now finish in half the time on a machine with several cores and fast disks (our typical build server). This behaviour only applies when building a release and it doesn't affect buildworld/installworld. To disable threaded xz compression, set XZ_THREADS=1. Reviewed by: gjb Tested by:gjb Modified: head/Makefile.inc1 head/release/Makefile head/release/Makefile.vm head/share/mk/bsd.own.mk Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Tue Feb 17 22:33:22 2015(r278925) +++ head/Makefile.inc1 Tue Feb 17 23:13:45 2015(r278926) @@ -912,25 +912,25 @@ packageworld: .for dist in base ${EXTRA_DISTRIBUTIONS} .if defined(NO_ROOT) ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz \ - --exclude usr/lib/debug \ - @${DESTDIR}/${DISTDIR}/${dist}.meta + tar cvf - --exclude usr/lib/debug \ + @${DESTDIR}/${DISTDIR}/${dist}.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz .else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz \ - --exclude usr/lib/debug . + tar cvf - --exclude usr/lib/debug . | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz .endif .endfor .for dist in ${DEBUG_DISTRIBUTIONS} . if defined(NO_ROOT) ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \ - @${DESTDIR}/${DISTDIR}/${dist}.debug.meta + tar cvf - @${DESTDIR}/${DISTDIR}/${dist}.debug.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz . else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJLf ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \ - usr/lib/debug + tar cvLf - usr/lib/debug | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz . endif .endfor @@ -1138,19 +1138,21 @@ distributekernel distributekernel.debug: packagekernel: .if defined(NO_ROOT) cd ${DESTDIR}/${DISTDIR}/kernel; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz \ - @${DESTDIR}/${DISTDIR}/kernel.meta + tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz \ - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta + tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .endfor .else cd ${DESTDIR}/${DISTDIR}/kernel; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz . + tar cvf - . | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz . + tar cvf - . | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .endfor .endif Modified: head/release/Makefile == --- head/release/Makefile Tue Feb 17 22:33:22 2015(r278925) +++ head/release/Makefile Tue Feb 17 23:13:45 2015(r278926) @@ -33,18 +33,12 @@ # with xz(1) (extremely time consuming) # WITH_CLOUDWARE: if set, build cloud hosting disk images with the release # TARGET/TARGET_ARCH: architecture of built release -# XZ_FLAGS: Additional arguments to pass to xz(1) -# XZ_THREADS: Number of xz(1) threads to use -# NO_XZTHREADS: Disable multi-threaded xz(1) compression # WORLDDIR?= ${.CURDIR}/.. PORTSDIR?= /usr/ports DOCDIR?= /usr/doc RELNOTES_LANG?= en_US.ISO8859-1 -XZCMD?=/usr/bin/xz -XZ_FLAGS?= -XZ_THREADS?= .if !defined(TARGET) || empty(TARGET) TARGET=${MACHINE} @@ -59,15 +53,6 @@ TARGET_ARCH= ${TARGET} IMAKE= ${MAKE} TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET} DISTDIR= dist -.if !defined(NO_XZTHREADS) && empty(XZ_THREADS) -XZ_THREADS=0 -.else -XZ_THREADS=${XZ_THREADS} -.endif -.if !empty(XZ_THREADS) -XZ_FLAGS+= -T ${XZ_THREADS} -.endif - # Define OSRELEASE by using newvars.sh .if !defined(OSRELEASE) || empty(OSRELEASE) .for _V in TYPE BRANCH REVISION @@ -158,16 +143,18 @@ kernel.txz: src.txz: mkdir -p ${DISTDIR}/usr ln -fs ${WORLDDI
svn commit: r278873 - head
Author: rpaulo Date: Mon Feb 16 23:29:56 2015 New Revision: 278873 URL: https://svnweb.freebsd.org/changeset/base/278873 Log: Fix a typo when invoking tar(1) to create the debug distributions. Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Mon Feb 16 22:33:44 2015(r278872) +++ head/Makefile.inc1 Mon Feb 16 23:29:56 2015(r278873) @@ -929,7 +929,7 @@ packageworld: @${DESTDIR}/${DISTDIR}/${dist}.debug.meta . else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - tar cvJfL ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \ + tar cvJLf ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \ usr/lib/debug . endif .endfor ___ 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: r278658 - head/lib/libproc
Author: rpaulo Date: Fri Feb 13 03:18:29 2015 New Revision: 278658 URL: https://svnweb.freebsd.org/changeset/base/278658 Log: Teach libproc how to find debugging symbols in /usr/lib/debug. MFC after:1 week Modified: head/lib/libproc/proc_sym.c Modified: head/lib/libproc/proc_sym.c == --- head/lib/libproc/proc_sym.c Fri Feb 13 02:10:09 2015(r278657) +++ head/lib/libproc/proc_sym.c Fri Feb 13 03:18:29 2015(r278658) @@ -82,6 +82,21 @@ fail: strlcpy(buf, symbol, len); } +static int +find_dbg_obj(const char *path) +{ + int fd; + char dbg_path[PATH_MAX]; + + snprintf(dbg_path, sizeof(dbg_path), + "/usr/lib/debug/%s.debug", path); + fd = open(dbg_path, O_RDONLY); + if (fd > 0) + return (fd); + else + return (open(path, O_RDONLY)); +} + static void proc_rdl2prmap(rd_loadobj_t *rdl, prmap_t *map) { @@ -295,7 +310,7 @@ proc_addr2sym(struct proc_handle *p, uin if ((map = proc_addr2map(p, addr)) == NULL) return (-1); - if ((fd = open(map->pr_mapname, O_RDONLY, 0)) < 0) { + if ((fd = find_dbg_obj(map->pr_mapname)) < 0) { DPRINTF("ERROR: open %s failed", map->pr_mapname); goto err0; } @@ -443,7 +458,7 @@ proc_name2sym(struct proc_handle *p, con DPRINTFX("ERROR: couldn't find object %s", object); goto err0; } - if ((fd = open(map->pr_mapname, O_RDONLY, 0)) < 0) { + if ((fd = find_dbg_obj(map->pr_mapname)) < 0) { DPRINTF("ERROR: open %s failed", map->pr_mapname); goto err0; } @@ -539,7 +554,7 @@ proc_iter_symbyaddr(struct proc_handle * if ((map = proc_name2map(p, object)) == NULL) return (-1); - if ((fd = open(map->pr_mapname, O_RDONLY)) < 0) { + if ((fd = find_dbg_obj(map->pr_mapname)) < 0) { DPRINTF("ERROR: open %s failed", map->pr_mapname); goto err0; } ___ 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: r278012 - head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt
On Jan 31, 2015, at 03:12 PM, Mark Johnston wrote: Author: markj Date: Sat Jan 31 23:12:29 2015 New Revision: 278012 URL: https://svnweb.freebsd.org/changeset/base/278012 Log: Fix mktemp(1) usage. MFC after: 1 week Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh == --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh Sat Jan 31 23:11:57 2015 (r278011) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh Sat Jan 31 23:12:29 2015 (r278012) @@ -48,7 +48,7 @@ fi dtrace="$1" startdir="$PWD" -dir=$(mktemp -td drtiXX) +dir=$(mktemp -d -t drtiXX) if (( $? != 0 )); then print -u2 'Could not create safe temporary directory' exit 2 I hit this exact same problem in xz-utils when running the test suite. I think this is a bug in our mktemp and perhaps it's time we move to a version of mktemp that everyone else uses: mktemp.org. ___ 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: r278592 - head/sys/kern
Author: rpaulo Date: Wed Feb 11 19:07:05 2015 New Revision: 278592 URL: https://svnweb.freebsd.org/changeset/base/278592 Log: Remove check against NULL after M_WAITOK. Submitted by: Oliver Pinter Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c == --- head/sys/kern/kern_sig.cWed Feb 11 18:59:46 2015(r278591) +++ head/sys/kern/kern_sig.cWed Feb 11 19:07:05 2015(r278592) @@ -3362,8 +3362,6 @@ close: len = MAXPATHLEN * 2 + sizeof(comm_name) - 1 + sizeof(' ') + sizeof(core_name) - 1; data = malloc(len, M_TEMP, M_WAITOK); - if (data == NULL) - goto out; if (vn_fullpath_global(td, p->p_textvp, &fullpath, &freepath) != 0) goto out; if (!coredump_sanitise_path(fullpath)) ___ 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: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen
On Feb 11, 2015, at 08:55 AM, Konstantin Belousov wrote: Ok, https://lkml.org/lkml/2013/1/17/552 Patch is below. Please, users of VMWare, test it. Fixed the problem for me on VMware Fusion 6.0.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: r278545 - head/sys/kern
Author: rpaulo Date: Wed Feb 11 00:58:15 2015 New Revision: 278545 URL: https://svnweb.freebsd.org/changeset/base/278545 Log: Restore the data array in coredump(), but use a different style to calculate the length. Requested by: kib Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c == --- head/sys/kern/kern_sig.cTue Feb 10 23:48:06 2015(r278544) +++ head/sys/kern/kern_sig.cWed Feb 11 00:58:15 2015(r278545) @@ -3261,9 +3261,11 @@ coredump(struct thread *td) void *rl_cookie; off_t limit; int compress; - char data[MAXPATHLEN * 2 + 16]; /* space for devctl notification */ + char *data = NULL; char *fullpath, *freepath = NULL; size_t len; + static const char comm_name[] = "comm="; + static const char core_name[] = "core="; #ifdef COMPRESS_USER_CORES compress = compress_user_cores; @@ -3357,25 +3359,31 @@ close: */ if (coredump_devctl == 0) goto out; + len = MAXPATHLEN * 2 + sizeof(comm_name) - 1 + + sizeof(' ') + sizeof(core_name) - 1; + data = malloc(len, M_TEMP, M_WAITOK); + if (data == NULL) + goto out; if (vn_fullpath_global(td, p->p_textvp, &fullpath, &freepath) != 0) goto out; if (!coredump_sanitise_path(fullpath)) goto out; - snprintf(data, sizeof(data), "comm=%s ", fullpath); + snprintf(data, len, "%s%s ", comm_name, fullpath); free(freepath, M_TEMP); freepath = NULL; if (vn_fullpath_global(td, vp, &fullpath, &freepath) != 0) goto out; if (!coredump_sanitise_path(fullpath)) goto out; - strlcat(data, "core=", sizeof(data)); - len = strlcat(data, fullpath, sizeof(data)); + strlcat(data, core_name, len); + strlcat(data, fullpath, len); devctl_notify("kernel", "signal", "coredump", data); out: #ifdef AUDIT audit_proc_coredump(td, name, error); #endif free(freepath, M_TEMP); + free(data, M_TEMP); free(name, M_TEMP); 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"
Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen
On Feb 09, 2015, at 01:01 PM, Konstantin Belousov wrote: Author: kib Date: Mon Feb 9 21:00:56 2015 New Revision: 278473 URL: https://svnweb.freebsd.org/changeset/base/278473 Log: Add x2APIC support. Enable it by default if CPU is capable. The hw.x2apic_enable tunable allows disabling it from the loader prompt. This breaks VMware Fusion when the host CPU has x2APIC support. In my case, mpt(4) was unable to receive interrupts and USB was similarly broken. It's possible that this is a VMware bug, but you might want to avoid turning this on when running under the VMware hypervisor. ___ 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: r278479 - in head: etc sys/kern
On Feb 10, 2015, at 10:52 AM, Slawa Olhovchenkov wrote: For common case (I am not talk about current devd implementation -- I am don't have any inforamtion/metrics/etc) routing and processing events may be sensitive to delay and ordering: may be exist requirement 'delay not more then 700ns', may be exist requirement 'next event process only after complete process previos event'. And some event handling may be very CPU/disk/etc consumption. Need to good think over and design API and architecure. routing events do not come over devd (or any other /dev device): there's a routing socket specifically tailored for that purpose. For that type of latency, you probably don't want to be crossing the kernel/userland barrier too often (or never). ___ 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: r278494 - head/sys/kern
On Feb 10, 2015, at 12:32 AM, Konstantin Belousov wrote: And there is double-free somewhere. Are you talking about the Jenkins error? I think that was the free(name) which was the result of a mis-merge and which I fixed yesterday. Jenkins build #671 seems to be ok. ___ 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: r278525 - head/sys/kern
Author: rpaulo Date: Tue Feb 10 18:35:46 2015 New Revision: 278525 URL: https://svnweb.freebsd.org/changeset/base/278525 Log: Remove a printf and an strlen() from the coredump code. Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c == --- head/sys/kern/kern_sig.cTue Feb 10 18:05:58 2015(r278524) +++ head/sys/kern/kern_sig.cTue Feb 10 18:35:46 2015(r278525) @@ -3225,14 +3225,13 @@ out: static int coredump_sanitise_path(const char *path) { - size_t len, i; + size_t i; /* * Only send a subset of ASCII to devd(8) because it * might pass these strings to sh -c. */ - len = strlen(path); - for (i = 0; i < len; i++) + for (i = 0; path[i]; i++) if (!(isalpha(path[i]) || isdigit(path[i])) && path[i] != '/' && path[i] != '.' && path[i] != '-') @@ -3365,10 +3364,8 @@ close: snprintf(data, sizeof(data), "comm=%s ", fullpath); free(freepath, M_TEMP); freepath = NULL; - if (vn_fullpath_global(td, vp, &fullpath, &freepath) != 0) { - printf("could not find coredump\n"); + if (vn_fullpath_global(td, vp, &fullpath, &freepath) != 0) goto out; - } if (!coredump_sanitise_path(fullpath)) goto out; strlcat(data, "core=", sizeof(data)); ___ 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: r278479 - in head: etc sys/kern
On Feb 10, 2015, at 07:37 AM, John Baldwin wrote: That wasn't really my question. My question was if we want distinct streams or if we want want unified stream. Having a unified stream might very well make sense (and if so we could rename devd to make that more obvious). I'm fine with renaming devd to eventd or something else, but Ian was saying that he's worried about the number of notifications that devd has to process. I'm not sure that's a real problem at this point, though. On freefall, devd used 0.07 seconds of CPU time and has been running for a 1 day and a half. On my BeagleBone, devd used 0.61 seconds of CPU time and it has been up for 5 days and a half. On my VM that has been up for 5 days and a half, it used 4 seconds of CPU time. Renaming sounds like a good idea and it looks like we could leave the optimisations to a later time. Another thing I had in mind (which is more work) was to abstract the devctl kernel code in an API which could make it easy to fan out the notifications to multiple /dev devices. However, that may be overkill. ___ 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: r278495 - in head/sys: conf powerpc/aim powerpc/conf powerpc/ofw powerpc/wii
Author: rpaulo Date: Tue Feb 10 06:35:16 2015 New Revision: 278495 URL: https://svnweb.freebsd.org/changeset/base/278495 Log: Remove FreeBSD/wii. This port failed to gain traction and probably only a couple Wii consoles ran FreeBSD all the way to single user mode with an md(4). IPC support was never implemented, so it was impossible to use any peripheral Any further development, if any, will happen at https://github.com/rpaulo/wii. Discussed with: nathanw (a long time ago), jhibbits Deleted: head/sys/powerpc/conf/WII head/sys/powerpc/wii/ Modified: head/sys/conf/files.powerpc head/sys/conf/options.powerpc head/sys/powerpc/aim/locore32.S head/sys/powerpc/aim/machdep.c head/sys/powerpc/aim/mmu_oea.c head/sys/powerpc/conf/NOTES head/sys/powerpc/ofw/ofw_syscons.c Modified: head/sys/conf/files.powerpc == --- head/sys/conf/files.powerpc Tue Feb 10 04:34:39 2015(r278494) +++ head/sys/conf/files.powerpc Tue Feb 10 06:35:16 2015(r278495) @@ -242,9 +242,3 @@ powerpc/psim/iobus.coptionalpsim powerpc/psim/ata_iobus.c optionalata psim powerpc/psim/openpic_iobus.c optionalpsim powerpc/psim/uart_iobus.c optionaluart psim -powerpc/wii/platform_wii.c optionalwii -powerpc/wii/wii_bus.c optionalwii -powerpc/wii/wii_pic.c optionalwii -powerpc/wii/wii_fb.c optionalwii -powerpc/wii/wii_gpio.c optionalwii wiigpio -powerpc/wii/wii_ipc.c optionalwii Modified: head/sys/conf/options.powerpc == --- head/sys/conf/options.powerpc Tue Feb 10 04:34:39 2015 (r278494) +++ head/sys/conf/options.powerpc Tue Feb 10 06:35:16 2015 (r278495) @@ -24,7 +24,6 @@ PS3 opt_platform.h MAMBO PSERIES PSIM -WIIopt_platform.h SC_OFWFB opt_ofwfb.h Modified: head/sys/powerpc/aim/locore32.S == --- head/sys/powerpc/aim/locore32.S Tue Feb 10 04:34:39 2015 (r278494) +++ head/sys/powerpc/aim/locore32.S Tue Feb 10 06:35:16 2015 (r278495) @@ -118,9 +118,7 @@ __start: bdnz1b sync isync -#ifdef WII -#include -#endif + /* Zero bss, in case we were started by something unhelpful */ li 0,0 lis 8,_edata@ha Modified: head/sys/powerpc/aim/machdep.c == --- head/sys/powerpc/aim/machdep.c Tue Feb 10 04:34:39 2015 (r278494) +++ head/sys/powerpc/aim/machdep.c Tue Feb 10 06:35:16 2015 (r278495) @@ -260,9 +260,6 @@ powerpc_init(vm_offset_t fdt, vm_offset_ void*kmdp; char *env; register_t msr, scratch; -#ifdef WII - register_t vers; -#endif uint8_t *cache_check; int cacheline_warn; #ifndef __powerpc64__ @@ -281,16 +278,6 @@ powerpc_init(vm_offset_t fdt, vm_offset_ startkernel = __startkernel; endkernel = __endkernel; -#ifdef WII - /* -* The Wii loader doesn't pass us any environment so, mdp -* points to garbage at this point. The Wii CPU is a 750CL. -*/ - vers = mfpvr(); - if ((vers & 0xf0e0) == (MPC750 << 16 | MPC750CL)) - mdp = NULL; -#endif - /* Check for ePAPR loader, which puts a magic value into r6 */ if (mdp == (void *)0x65504150) mdp = NULL; @@ -513,13 +500,13 @@ powerpc_init(vm_offset_t fdt, vm_offset_ */ trap_offset += (size_t)&restorebridgesize; - bcopy(&restorebridge, (void *)EXC_RST, trap_offset); - bcopy(&restorebridge, (void *)EXC_DSI, trap_offset); - bcopy(&restorebridge, (void *)EXC_ALI, trap_offset); - bcopy(&restorebridge, (void *)EXC_PGM, trap_offset); - bcopy(&restorebridge, (void *)EXC_MCHK, trap_offset); - bcopy(&restorebridge, (void *)EXC_TRC, trap_offset); - bcopy(&restorebridge, (void *)EXC_BPT, trap_offset); + bcopy(&restorebridge, (void *)EXC_RST, trap_offset); + bcopy(&restorebridge, (void *)EXC_DSI, trap_offset); + bcopy(&restorebridge, (void *)EXC_ALI, trap_offset); + bcopy(&restorebridge, (void *)EXC_PGM, trap_offset); + bcopy(&restorebridge, (void *)EXC_MCHK, trap_offset); + bcopy(&restorebridge, (void *)EXC_TRC, trap_offset); + bcopy(&restorebridge, (void *)EXC_BPT, trap_offset); } #endif @@ -560,7 +547,7 @@ powerpc_init(vm_offset_t fdt, vm_offset_ * Resto
Re: svn commit: r278494 - head/sys/kern
On Feb 9, 2015, at 21:02, Ian Lepore wrote: > Or... we could consider restoring devd to its original relatively benign > existance handling device-related events, and move handling of crash > dumps into a separate daemon which can shoulder the burden of security > for itself. > > At $work we listen to the devd re-distribute port to handle device > events in our apps, and having an ever-growing flood of stuff that's got > nothing to do with devices is going to have a negative impact on > applications that do such things. That's perfectly reasonable given that devd handles everything: it gets notified when a new pty is created, when rctls reach their limit, when zfs does "something", when devices show up/disappear, when you unplug the power adapter, when GEOM devices show up/disappear, when your CPU is too hot, when you press the brightness keys, etc. Some of these use cases are fine, others aren't. This is pretty much what happened to udev, if I'm not mistaken. We need a way to avoid reinventing the wheel. I really don't want to duplicate another /dev/devctl in the kernel. -- Rui Paulo ___ 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: r278494 - head/sys/kern
On Feb 9, 2015, at 20:34, Rui Paulo wrote: > > Author: rpaulo > Date: Tue Feb 10 04:34:39 2015 > New Revision: 278494 > URL: https://svnweb.freebsd.org/changeset/base/278494 > > Log: > Sanitise the coredump file names sent to devd. > > While there, add a sysctl to turn this feature off as requested by > kib@. I wanted to get the sanitiser code in ASAP, but, as suggested by stas@ offline, we think devd should also provide an action mode that runs a command outside sh(1) and without using $PATH. -- Rui Paulo ___ 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: r278494 - head/sys/kern
Author: rpaulo Date: Tue Feb 10 04:34:39 2015 New Revision: 278494 URL: https://svnweb.freebsd.org/changeset/base/278494 Log: Sanitise the coredump file names sent to devd. While there, add a sysctl to turn this feature off as requested by kib@. Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c == --- head/sys/kern/kern_sig.cTue Feb 10 03:34:42 2015(r278493) +++ head/sys/kern/kern_sig.cTue Feb 10 04:34:39 2015(r278494) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include "opt_core.h" #include +#include #include #include #include @@ -179,6 +180,10 @@ static int set_core_nodump_flag = 0; SYSCTL_INT(_kern, OID_AUTO, nodump_coredump, CTLFLAG_RW, &set_core_nodump_flag, 0, "Enable setting the NODUMP flag on coredump files"); +static int coredump_devctl = 1; +SYSCTL_INT(_kern, OID_AUTO, coredump_devctl, CTLFLAG_RW, &coredump_devctl, + 0, "Generate a devctl notification when processes coredump"); + /* * Signal properties and actions. * The array below categorizes the signals and their default actions @@ -3217,6 +3222,25 @@ out: return (0); } +static int +coredump_sanitise_path(const char *path) +{ + size_t len, i; + + /* +* Only send a subset of ASCII to devd(8) because it +* might pass these strings to sh -c. +*/ + len = strlen(path); + for (i = 0; i < len; i++) + if (!(isalpha(path[i]) || isdigit(path[i])) && + path[i] != '/' && path[i] != '.' && + path[i] != '-') + return (0); + + return (1); +} + /* * Dump a process' core. The main routine does some * policy checking, and creates the name of the coredump; @@ -3238,9 +3262,9 @@ coredump(struct thread *td) void *rl_cookie; off_t limit; int compress; - char *data = NULL; - size_t len; + char data[MAXPATHLEN * 2 + 16]; /* space for devctl notification */ char *fullpath, *freepath = NULL; + size_t len; #ifdef COMPRESS_USER_CORES compress = compress_user_cores; @@ -3332,30 +3356,29 @@ close: * Notify the userland helper that a process triggered a core dump. * This allows the helper to run an automated debugging session. */ - len = MAXPATHLEN * 2 + 5 /* comm= */ + 5 /* core= */ + 1; - data = malloc(len, M_TEMP, M_NOWAIT); - if (data == NULL) + if (coredump_devctl == 0) goto out; if (vn_fullpath_global(td, p->p_textvp, &fullpath, &freepath) != 0) goto out; - snprintf(data, len, "comm=%s", fullpath); - if (freepath != NULL) { - free(freepath, M_TEMP); - freepath = NULL; + if (!coredump_sanitise_path(fullpath)) + goto out; + snprintf(data, sizeof(data), "comm=%s ", fullpath); + free(freepath, M_TEMP); + freepath = NULL; + if (vn_fullpath_global(td, vp, &fullpath, &freepath) != 0) { + printf("could not find coredump\n"); + goto out; } - if (vn_fullpath_global(td, vp, &fullpath, &freepath) != 0) + if (!coredump_sanitise_path(fullpath)) goto out; - snprintf(data, len, "%s core=%s", data, fullpath); + strlcat(data, "core=", sizeof(data)); + len = strlcat(data, fullpath, sizeof(data)); devctl_notify("kernel", "signal", "coredump", data); - free(name, M_TEMP); out: #ifdef AUDIT audit_proc_coredump(td, name, error); #endif - if (freepath != NULL) - free(freepath, M_TEMP); - if (data != NULL) - free(data, M_TEMP); + free(freepath, M_TEMP); free(name, M_TEMP); 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"
Re: svn commit: r278479 - in head: etc sys/kern
On Feb 9, 2015, at 19:11, Don Lewis wrote: > > On 10 Feb, Mateusz Guzik wrote: >> On Mon, Feb 09, 2015 at 11:13:51PM +0000, Rui Paulo wrote: >>> +notify 10 { >>> + match "system" "kernel"; >>> + match "subsystem" "signal"; >>> + match "type""coredump"; >>> + action "logger $comm $core"; >>> +}; >>> + >>> */ >>> >> [..] >>> + if (vn_fullpath_global(td, p->p_textvp, &fullpath, &freepath) != 0) >>> + goto out; >>> + snprintf(data, len, "comm=%s", fullpath); >> >> I cannot test it right now, but it looks like immediate privilege >> escalation. >> >> Path is not sanitized in any way and devd passes it to 'sh -c'. >> >> So a file named "a.out; /bin/id; meh" or so should result in execution >> of aforementioned /bin/id. > > Then there is the issue of a user-generated core file being fed into the > crash analyzer, possibly exploiting bugs in the latter. That's why there's a warning in devd.conf: devd will run the helper as root, so a proper written helper has to drop the privileges very early or be invoked by devd with lower privileges. My helper just drops privileges to match the UID/GID of the generated core file before doing anything else. -- Rui Paulo ___ 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: r278479 - in head: etc sys/kern
On Feb 9, 2015, at 18:43, Mateusz Guzik wrote: > > On Mon, Feb 09, 2015 at 11:13:51PM +0000, Rui Paulo wrote: >> +notify 10 { >> +match "system" "kernel"; >> +match "subsystem" "signal"; >> +match "type""coredump"; >> +action "logger $comm $core"; >> +}; >> + >> */ >> > [..] >> +if (vn_fullpath_global(td, p->p_textvp, &fullpath, &freepath) != 0) >> +goto out; >> +snprintf(data, len, "comm=%s", fullpath); > > I cannot test it right now, but it looks like immediate privilege > escalation. > > Path is not sanitized in any way and devd passes it to 'sh -c'. > > So a file named "a.out; /bin/id; meh" or so should result in execution > of aforementioned /bin/id. Well, you can't have a file name with "/" but you're right. > Another note is that currently devctl is record oriented, but this may > change at some point and free form userspace text could be used to forge > new events. > > As such is trongly suggest we sanitize this somehow. Maybe a base64 or > something. I was trying hard to avoid this issue in unpublished my crash helper, but I forgot that devd runs execl("sh -c", ); :-( It might just be easier to inspect the path names and allow only [a-z][A-Z][0-9] and '/' before sending the devctl message. -- Rui Paulo ___ 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: r278479 - in head: etc sys/kern
On Feb 9, 2015, at 15:28, Konstantin Belousov wrote: > Arguably, there should be a knob, probably sysctl, to turn the > functionality off. I definitely do not want this on crash boxes used for > userspace debugging. Even despite the example handler is inactive. OK, I can provide a sysctl knob. >> +len = MAXPATHLEN * 2 + 5 /* comm= */ + 5 /* core= */ + 1; > It is much cleaner to use static const char arrays for the names, > and use sizeof() - 1 instead of hard-coding commented constants. OK. I was trying to avoid allocating >2k on the stack. >> +data = malloc(len, M_TEMP, M_NOWAIT); > Why is this allocation M_NOWAIT ? That should be M_WAITOK. >> +freepath = NULL; >> +} >> +if (vn_fullpath_global(td, vp, &fullpath, &freepath) != 0) >> +goto out; >> +snprintf(data, len, "%s core=%s", data, fullpath); > This is weird, and highly depends on the implementation details, supplying > the same string as target and source. IMO strcat(9) is enough there. OK, I'll change it to strcat. -- Rui Paulo ___ 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: r278478 - head/sys/sys
On Feb 9, 2015, at 16:02, John-Mark Gurney wrote: > > Rui Paulo wrote this message on Mon, Feb 09, 2015 at 23:04 +: >> Author: rpaulo >> Date: Mon Feb 9 23:04:30 2015 >> New Revision: 278478 >> URL: https://svnweb.freebsd.org/changeset/base/278478 >> >> Log: >> Add the ability to print a vendor copyright in dmesg. > > Should we change this into a linker set so that any module can > add their own vendor copyright w/o having to modify this again? So you want a copyright module? That seems a bit overkill. :-) An API like Julian mentioned seems like a better idea, but it's not trivial to implement if you want the Copyright to be the first thing to be printed. -- Rui Paulo ___ 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: r278479 - in head: etc sys/kern
On Feb 9, 2015, at 15:29, Benjamin Kaduk wrote: > The question boils down to: is the time saved by implementing it this way > worth the tradeoff of architectural purity. Yes, that was a tradeoff. -- Rui Paulo ___ 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: r278479 - in head: etc sys/kern
On Feb 09, 2015, at 03:16 PM, Benjamin Kaduk wrote: On Mon, Feb 9, 2015 at 6:13 PM, Rui Paulo wrote: Author: rpaulo Date: Mon Feb 9 23:13:50 2015 New Revision: 278479 URL: https://svnweb.freebsd.org/changeset/base/278479 Log: Notify devd(8) when a process crashed. This change implements a notification (via devctl) to userland when the kernel produces coredumps after a process has crashed. devd can then run a specific command to produce a human readable crash report. The command is most usually a helper that runs gdb/lldb commands on the file/coredump pair. It's possible to use this functionality for implementing automatic generation of crash reports. devd(8) will be notified of the full path of the binary that crashed and the full path of the coredump file. What advantage does putting this in devd have over a standalone daemon for crash reporting? Is it just the ease of implementation to leverage the existing infrastructure? Well, I want to automatically inspect all the programs that crashed in a given system. I don't see how you can do that with a standalone daemon. Or maybe I didn't understand what you meant. ___ 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"