svn commit: r260444 - in head: contrib/libpcap share/man/man9 sys/dev/ath sys/dev/bwi sys/dev/bwn sys/dev/ipw sys/dev/iwi sys/dev/iwn sys/dev/malo sys/dev/mwl sys/dev/ral sys/dev/usb/wlan sys/dev/w...
Author: kevlo Date: Wed Jan 8 08:06:56 2014 New Revision: 260444 URL: http://svnweb.freebsd.org/changeset/base/260444 Log: Rename definition of IEEE80211_FC1_WEP to IEEE80211_FC1_PROTECTED. The origin of WEP comes from IEEE Std 802.11-1997 where it defines whether the frame body of MAC frame has been encrypted using WEP algorithm or not. IEEE Std. 802.11-2007 changes WEP to Protected Frame, indicates whether the frame is protected by a cryptographic encapsulation algorithm. Reviewed by: adrian, rpaulo Modified: head/contrib/libpcap/ieee80211.h head/share/man/man9/ieee80211_crypto.9 head/sys/dev/ath/if_ath_tx.c head/sys/dev/bwi/if_bwi.c head/sys/dev/bwn/if_bwn.c head/sys/dev/ipw/if_ipw.c head/sys/dev/iwi/if_iwi.c head/sys/dev/iwn/if_iwn.c head/sys/dev/malo/if_malo.c head/sys/dev/mwl/if_mwl.c head/sys/dev/ral/rt2560.c head/sys/dev/ral/rt2661.c head/sys/dev/ral/rt2860.c head/sys/dev/usb/wlan/if_rsu.c head/sys/dev/usb/wlan/if_rum.c head/sys/dev/usb/wlan/if_run.c head/sys/dev/usb/wlan/if_uath.c head/sys/dev/usb/wlan/if_upgt.c head/sys/dev/usb/wlan/if_ural.c head/sys/dev/usb/wlan/if_urtw.c head/sys/dev/usb/wlan/if_urtwn.c head/sys/dev/usb/wlan/if_zyd.c head/sys/dev/wi/if_wi.c head/sys/dev/wpi/if_wpi.c head/sys/net80211/ieee80211.h head/sys/net80211/ieee80211_adhoc.c head/sys/net80211/ieee80211_hostap.c head/sys/net80211/ieee80211_mesh.c head/sys/net80211/ieee80211_output.c head/sys/net80211/ieee80211_proto.c head/sys/net80211/ieee80211_sta.c head/sys/net80211/ieee80211_wds.c head/tools/tools/net80211/stumbler/stumbler.c head/tools/tools/net80211/w00t/ap/ap.c head/tools/tools/net80211/w00t/assoc/assoc.c head/tools/tools/net80211/w00t/expand/expand.c head/tools/tools/net80211/w00t/prga/prga.c head/tools/tools/net80211/w00t/redir/redir.c head/tools/tools/net80211/wesside/wesside/wesside.c head/tools/tools/net80211/wlaninject/wlaninject.c Modified: head/contrib/libpcap/ieee80211.h == --- head/contrib/libpcap/ieee80211.hWed Jan 8 08:03:48 2014 (r260443) +++ head/contrib/libpcap/ieee80211.hWed Jan 8 08:06:56 2014 (r260444) @@ -90,7 +90,7 @@ #defineIEEE80211_FC1_RETRY 0x08 #defineIEEE80211_FC1_PWR_MGT 0x10 #defineIEEE80211_FC1_MORE_DATA 0x20 -#defineIEEE80211_FC1_WEP 0x40 +#defineIEEE80211_FC1_PROTECTED 0x40 #defineIEEE80211_FC1_ORDER 0x80 #defineIEEE80211_SEQ_FRAG_MASK 0x000f Modified: head/share/man/man9/ieee80211_crypto.9 == --- head/share/man/man9/ieee80211_crypto.9 Wed Jan 8 08:03:48 2014 (r260443) +++ head/share/man/man9/ieee80211_crypto.9 Wed Jan 8 08:06:56 2014 (r260444) @@ -236,7 +236,7 @@ For receive, drivers mark frames with th .Dv M_WEP mbuf flag to indicate the hardware has decrypted the payload. If frames have the -.Dv IEEE80211_FC1_WEP +.Dv IEEE80211_FC1_PROTECTED bit marked in their 802.11 header and are not tagged with .Dv M_WEP then decryption is done in software. Modified: head/sys/dev/ath/if_ath_tx.c == --- head/sys/dev/ath/if_ath_tx.cWed Jan 8 08:03:48 2014 (r260443) +++ head/sys/dev/ath/if_ath_tx.cWed Jan 8 08:06:56 2014 (r260444) @@ -1586,7 +1586,7 @@ ath_tx_normal_setup(struct ath_softc *sc ATH_TX_LOCK_ASSERT(sc); wh = mtod(m0, struct ieee80211_frame *); - iswep = wh->i_fc[1] & IEEE80211_FC1_WEP; + iswep = wh->i_fc[1] & IEEE80211_FC1_PROTECTED; ismcast = IEEE80211_IS_MULTICAST(wh->i_addr1); isfrag = m0->m_flags & M_FRAG; hdrlen = ieee80211_anyhdrsize(wh); @@ -2216,7 +2216,7 @@ ath_tx_raw_start(struct ath_softc *sc, s sc->sc_tx_th.wt_tsf = htole64(tsf); sc->sc_tx_th.wt_flags = sc->sc_hwmap[rix].txflags; - if (wh->i_fc[1] & IEEE80211_FC1_WEP) + if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) sc->sc_tx_th.wt_flags |= IEEE80211_RADIOTAP_F_WEP; if (m0->m_flags & M_FRAG) sc->sc_tx_th.wt_flags |= IEEE80211_RADIOTAP_F_FRAG; Modified: head/sys/dev/bwi/if_bwi.c == --- head/sys/dev/bwi/if_bwi.c Wed Jan 8 08:03:48 2014(r260443) +++ head/sys/dev/bwi/if_bwi.c Wed Jan 8 08:06:56 2014(r260444) @@ -1396,7 +1396,7 @@ bwi_start_locked(struct ifnet *ifp) ni = (struct ieee80211_node *) m->m_pkthdr.rcvif; wh = mtod(m, struct ieee80211_frame *); - if (wh->i_fc[1] & IEEE80211_FC1_WEP) { +
svn commit: r260445 - in head/contrib/byacc: . package package/debian test
Author: bapt Date: Wed Jan 8 08:08:22 2014 New Revision: 260445 URL: http://svnweb.freebsd.org/changeset/base/260445 Log: Import byacc 20140101 which imports %token-table from bison allowing to build ntpd Modified: head/contrib/byacc/CHANGES head/contrib/byacc/VERSION head/contrib/byacc/aclocal.m4 head/contrib/byacc/config.guess head/contrib/byacc/config.sub head/contrib/byacc/configure head/contrib/byacc/configure.in head/contrib/byacc/defs.h head/contrib/byacc/main.c head/contrib/byacc/makefile.in head/contrib/byacc/output.c head/contrib/byacc/package/byacc.spec head/contrib/byacc/package/debian/changelog head/contrib/byacc/reader.c head/contrib/byacc/skeleton.c head/contrib/byacc/test/calc.tab.c head/contrib/byacc/test/calc1.tab.c head/contrib/byacc/test/calc2.tab.c head/contrib/byacc/test/calc3.tab.c head/contrib/byacc/test/code_calc.code.c head/contrib/byacc/test/code_calc.tab.c head/contrib/byacc/test/code_error.code.c head/contrib/byacc/test/code_error.tab.c head/contrib/byacc/test/error.tab.c head/contrib/byacc/test/ftp.tab.c head/contrib/byacc/test/grammar.tab.c head/contrib/byacc/test/pure_calc.tab.c head/contrib/byacc/test/pure_error.tab.c head/contrib/byacc/test/quote_calc-s.tab.c head/contrib/byacc/test/quote_calc.tab.c head/contrib/byacc/test/quote_calc2-s.tab.c head/contrib/byacc/test/quote_calc2.tab.c head/contrib/byacc/test/quote_calc3-s.tab.c head/contrib/byacc/test/quote_calc3.tab.c head/contrib/byacc/test/quote_calc4-s.tab.c head/contrib/byacc/test/quote_calc4.tab.c head/contrib/byacc/yacc.1 Directory Properties: head/contrib/byacc/ (props changed) Modified: head/contrib/byacc/CHANGES == --- head/contrib/byacc/CHANGES Wed Jan 8 08:06:56 2014(r260444) +++ head/contrib/byacc/CHANGES Wed Jan 8 08:08:22 2014(r260445) @@ -1,3 +1,48 @@ +2014-01-01 Thomas E. Dickey + + * yacc.1: document %token-table, improve presentation of double-quotes + + * VERSION, package/byacc.spec, package/debian/changelog: bump + + * test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_calc.tab.c, test/code_error.code.c, test/code_error.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2-s.tab.c, test/quote_calc2.tab.c, test/quote_calc3-s.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c: + regen + + * output.c, skeleton.c: + amend the last change so that yytname is #define'd as needed rather than + permanent - to avoid breaking cproto for instance. + +2014-01-01 Christos.Zoulas + + * output.c, defs.h, main.c, reader.c, skeleton.c: + changes to build ntpd using byacc: + - rename yyname[] to yytname[] + - add YYTRANSLATE() macro + - recognize bison's %token-table declaration + +2014-01-01 Thomas E. Dickey + + * configure: regen + + * yacc.1: s/EE/XE/ to work around groff bug on Debian 6 + + * makefile.in: use CF_MAKE_DOCS + + * aclocal.m4: add CF_MAKE_DOCS + + * configure.in: use CF_MAKE_DOCS + +2013-12-26 Thomas E. Dickey + + * config.guess: 2013-11-29 + +2013-11-19 Thomas E. Dickey + + * aclocal.m4: resync with my-autoconf (fixes for clang and mingw) + +2013-10-25 Thomas E. Dickey + + * config.sub: 2013-10-01 + 2013-09-25 Thomas E. Dickey * reader.c: fix two loop-limits found by clang 3.3 --analyze Modified: head/contrib/byacc/VERSION == --- head/contrib/byacc/VERSION Wed Jan 8 08:06:56 2014(r260444) +++ head/contrib/byacc/VERSION Wed Jan 8 08:08:22 2014(r260445) @@ -1 +1 @@ -20130925 +20140101 Modified: head/contrib/byacc/aclocal.m4 == --- head/contrib/byacc/aclocal.m4 Wed Jan 8 08:06:56 2014 (r260444) +++ head/contrib/byacc/aclocal.m4 Wed Jan 8 08:08:22 2014 (r260445) @@ -1,7 +1,7 @@ -dnl $Id: aclocal.m4,v 1.31 2013/09/25 23:15:41 tom Exp $ +dnl $Id: aclocal.m4,v 1.33 2014/01/01 14:08:07 tom Exp $ dnl Macros for byacc configure script (Thomas E. Dickey) dnl --- -dnl Copyright 2004-2012,2013 Thomas E. Dickey +dnl Copyright 2004-2013,2014 Thomas E. Dickey dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the @@ -232,7 +232,7 @@ if test ".$system_name" != ".$cf_cv_syst fi ])dnl dnl --- -dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39 +dn
svn commit: r260446 - head/usr.sbin/bhyve
Author: remko Date: Wed Jan 8 08:37:30 2014 New Revision: 260446 URL: http://svnweb.freebsd.org/changeset/base/260446 Log: virtio-block does not exist, the correct name is virtio-blk. PR: 185573 Submitted by: Allan Jude Facilitated by: Snow B.V. MFC after:3 days Modified: head/usr.sbin/bhyve/bhyve.8 Modified: head/usr.sbin/bhyve/bhyve.8 == --- head/usr.sbin/bhyve/bhyve.8 Wed Jan 8 08:08:22 2014(r260445) +++ head/usr.sbin/bhyve/bhyve.8 Wed Jan 8 08:37:30 2014(r260446) @@ -120,7 +120,7 @@ emulation is identical but uses a PCI ve PCI pass-through device. .It Li virtio-net Virtio network interface. -.It Li virtio-block +.It Li virtio-blk Virtio block storage interface. .It Li ahci-cd AHCI controller attached to an ATAPI CD/DVD. ___ 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: r260447 - head/sys/boot/fdt/dts
Author: ganbold Date: Wed Jan 8 09:33:16 2014 New Revision: 260447 URL: http://svnweb.freebsd.org/changeset/base/260447 Log: Update dts files of Cubieboard1,2 to use 1GB memory. Whilst there, fix cpu config register address for Cubieboard2. Approved by: stas (mentor) Replaced: head/sys/boot/fdt/dts/cubieboard2.dts - copied, changed from r256656, head/sys/boot/fdt/dts/cubieboard2.dts Modified: head/sys/boot/fdt/dts/cubieboard.dts Modified: head/sys/boot/fdt/dts/cubieboard.dts == --- head/sys/boot/fdt/dts/cubieboard.dtsWed Jan 8 08:37:30 2014 (r260446) +++ head/sys/boot/fdt/dts/cubieboard.dtsWed Jan 8 09:33:16 2014 (r260447) @@ -38,7 +38,7 @@ memory { device_type = "memory"; - reg = < 0x4000 0x2000 >;/* 512MB RAM */ + reg = < 0x4000 0x4000 >;/* 1GB RAM */ }; aliases { Copied and modified: head/sys/boot/fdt/dts/cubieboard2.dts (from r256656, head/sys/boot/fdt/dts/cubieboard2.dts) == --- head/sys/boot/fdt/dts/cubieboard2.dts Thu Oct 17 00:07:21 2013 (r256656, copy source) +++ head/sys/boot/fdt/dts/cubieboard2.dts Wed Jan 8 09:33:16 2014 (r260447) @@ -38,7 +38,7 @@ memory { device_type = "memory"; - reg = < 0x4000 0x2000 >;/* 512MB RAM */ + reg = < 0x4000 0x4000 >;/* 1GB RAM */ }; aliases { @@ -61,7 +61,7 @@ #interrupt-cells = <1>; }; - cpu-cfg@01c2 { + cpu-cfg@01c25c00 { compatible = "allwinner,sun7i-cpu-cfg"; #address-cells = <1>; #size-cells = <1>; ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r260448 - head/sys/dev/iwn
Author: gavin Date: Wed Jan 8 13:59:33 2014 New Revision: 260448 URL: http://svnweb.freebsd.org/changeset/base/260448 Log: Add support for the Intel Centrino Wireless-N 135 chipset. MFC after:2 weeks Modified: head/sys/dev/iwn/if_iwn.c head/sys/dev/iwn/if_iwn_devid.h Modified: head/sys/dev/iwn/if_iwn.c == --- head/sys/dev/iwn/if_iwn.c Wed Jan 8 09:33:16 2014(r260447) +++ head/sys/dev/iwn/if_iwn.c Wed Jan 8 13:59:33 2014(r260448) @@ -108,6 +108,8 @@ static const struct iwn_ident iwn_ident_ { 0x8086, IWN_DID_130_2, "Intel Centrino Wireless-N 130" }, { 0x8086, IWN_DID_100_1, "Intel Centrino Wireless-N 100" }, { 0x8086, IWN_DID_100_2, "Intel Centrino Wireless-N 100" }, + { 0x8086, IWN_DID_135_1, "Intel Centrino Wireless-N 135" }, + { 0x8086, IWN_DID_135_2, "Intel Centrino Wireless-N 135" }, { 0x8086, IWN_DID_4965_1, "Intel Wireless WiFi Link 4965" }, { 0x8086, IWN_DID_6x00_1, "Intel Centrino Ultimate-N 6300" }, { 0x8086, IWN_DID_6x00_2, "Intel Centrino Advanced-N 6200" }, @@ -966,6 +968,28 @@ iwn_config_specific(struct iwn_softc *sc } break; +/* 135 Series */ +/* XXX: This series will need adjustment for rate. + * see rx_with_siso_diversity in linux kernel + */ + case IWN_DID_135_1: + case IWN_DID_135_2: + switch(sc->subdevice_id) { + case IWN_SDID_135_1: + case IWN_SDID_135_2: + case IWN_SDID_135_3: + sc->limits = &iwn2030_sensitivity_limits; + sc->base_params = &iwn2030_base_params; + sc->fwname = "iwn135fw"; + break; + default: + device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :" + "0x%04x rev %d not supported (subdevice)\n", pid, + sc->subdevice_id,sc->hw_type); + return ENOTSUP; + } + break; + /* 2x00 Series */ case IWN_DID_2x00_1: case IWN_DID_2x00_2: Modified: head/sys/dev/iwn/if_iwn_devid.h == --- head/sys/dev/iwn/if_iwn_devid.h Wed Jan 8 09:33:16 2014 (r260447) +++ head/sys/dev/iwn/if_iwn_devid.h Wed Jan 8 13:59:33 2014 (r260448) @@ -228,6 +228,18 @@ /* * -- + * Device ID for 135 Series + * -- + */ +#defineIWN_DID_135_1 0x0892 +#defineIWN_DID_135_2 0x0893 +/* SubDevice ID */ +#defineIWN_SDID_135_1 0x0062 +#defineIWN_SDID_135_2 0x0262 +#defineIWN_SDID_135_3 0x0462 + +/* + * -- * Device ID for 5x00 Series * -- */ ___ 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: r260448 - head/sys/dev/iwn
On Wed, 8 Jan 2014, Gavin Atkinson wrote: > Author: gavin > Date: Wed Jan 8 13:59:33 2014 > New Revision: 260448 > URL: http://svnweb.freebsd.org/changeset/base/260448 > > Log: > Add support for the Intel Centrino Wireless-N 135 chipset. > > MFC after: 2 weeks Apologies. Reviewed by: adrian Gavin ___ 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: r260449 - head/sys/dev/vt/hw/xboxfb
Author: rmh Date: Wed Jan 8 14:36:35 2014 New Revision: 260449 URL: http://svnweb.freebsd.org/changeset/base/260449 Log: Fix build of vt_xboxfb. Modified: head/sys/dev/vt/hw/xboxfb/xboxfb.c Modified: head/sys/dev/vt/hw/xboxfb/xboxfb.c == --- head/sys/dev/vt/hw/xboxfb/xboxfb.c Wed Jan 8 13:59:33 2014 (r260448) +++ head/sys/dev/vt/hw/xboxfb/xboxfb.c Wed Jan 8 14:36:35 2014 (r260449) @@ -187,7 +187,7 @@ xbox_init(struct vt_device *vd) if (!arch_i386_is_xbox) return (CN_DEAD); - sc->xbox_fb_tag = I386_BUS_SPACE_MEM; + sc->xbox_fb_tag = X86_BUS_SPACE_MEM; sc->xbox_fb_handle = PAGE_SIZE; vd->vd_width = VT_XBOX_WIDTH; ___ 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: r260450 - head/sys/dev/vt/hw/vga
Author: ray Date: Wed Jan 8 14:42:26 2014 New Revision: 260450 URL: http://svnweb.freebsd.org/changeset/base/260450 Log: Restore VGA mode on vt switch. It fix VESA mode left by Xorg on exit. Sponsored by: The FreeBSD Foundation Modified: head/sys/dev/vt/hw/vga/vga.c Modified: head/sys/dev/vt/hw/vga/vga.c == --- head/sys/dev/vt/hw/vga/vga.cWed Jan 8 14:36:35 2014 (r260449) +++ head/sys/dev/vt/hw/vga/vga.cWed Jan 8 14:42:26 2014 (r260450) @@ -75,12 +75,14 @@ static vd_init_tvga_init; static vd_blank_t vga_blank; static vd_bitbltchr_t vga_bitbltchr; static vd_putchar_tvga_putchar; +static vd_postswitch_t vga_postswitch; static const struct vt_driver vt_vga_driver = { .vd_init= vga_init, .vd_blank = vga_blank, .vd_bitbltchr = vga_bitbltchr, .vd_putchar = vga_putchar, + .vd_postswitch = vga_postswitch, .vd_priority= VD_PRIORITY_GENERIC, }; @@ -602,3 +604,13 @@ vga_init(struct vt_device *vd) return (CN_INTERNAL); } + +static void +vga_postswitch(struct vt_device *vd) +{ + + /* Reinit VGA mode, to restore view after app which change mode. */ + vga_initialize(vd, (vd->vd_flags & VDF_TEXTMODE)); + /* Ask vt(9) to update chars on visible area. */ + vd->vd_flags |= VDF_INVALID; +} ___ 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: r259016 - in head/sys: conf dev/drm2 dev/drm2/i915 dev/drm2/radeon dev/fb dev/vt kern modules/drm2/i915kms modules/drm2/radeonkms sparc64/sparc64 sys teken
On Mon, 09 Dec 2013 18:26:46 -0600 Nathan Whitehorn wrote: > On 12/09/13 18:20, Aleksandr Rybalko wrote: > > On Sun, 8 Dec 2013 16:36:20 +0100 > > Marius Strobl wrote: > > > >> On Thu, Dec 05, 2013 at 10:38:54PM +, Aleksandr Rybalko wrote: > >>> Author: ray > >>> Date: Thu Dec 5 22:38:53 2013 > >>> New Revision: 259016 > >>> URL: http://svnweb.freebsd.org/changeset/base/259016 > >>> > >>> Log: > >>>Merge VT(9) project (a.k.a. newcons). > >>> > >>>Reviewed by: nwhitehorn > >>>MFC_to_10_after: re approval > >> Have you addressed any of the points raised in: > >> http://lists.freebsd.org/pipermail/freebsd-current/2013-October/045887.html > >> to get VT(9) at least en par with syscons(4) regarding being able to > >> use a hardware cursor, allowing different low-level console drivers > >> to compete for the same hardware etc. in the meantime? > >> > >> Marius > >> > > Hello Marius! > > > > Yes and No :) > > > > Lets make it as list with short items: > > 1. Making these drivers work as low-level console. > > 2. Drivers priority. > > 3. Using hardware acceleration. > > 4. Using the 12 x 22 gallant font. > > 5. Allowing Xorg to map the frame buffer. > > 6. (Part of 5) Other register banks as needed. > > 7. Allowing late attachment. > > > > Answers: > > 1. Works, I did testing on ARM board Efika MX with vt_fb_early driver. > > (Still have to discuss several things with arm@ guys, then commit) > > As I mentioned in my review, this particular code is a really weird > bug-filled copy of ofwfb.c, which already works as a low-level console > early in the boot process. TODO :) > > > 2. Works. F.e. amd64 start with vt_vga driver, then vt_kms driver > > override it as more specific. > > I think Marius meant having early-boot drivers bid amongst each other > for attachment Early-boot drivers selected on console driver bid rules. I see early drivers as something really special, because resource management is not ready at this stage and many device even is not able to get all required info to be initialized fully. So I prefer model with simple driver like vt_fb_early which is replaced later by full functional and allocated by kernel's resource management rules. > > > 3. Not used at all yet. > > > > 4. I like that font. If you want more "gallant" - I will help. Thanks > > to Ed, newcons support any font dimensions. > > > > 5. It works, but only for those drivers which attach dev/fb/fbd, via > > fbd devfs node (not accessible via vt(9) ioctls yet). > > Could you provide more detail about how this is supposed to work? X > doesn't map at offset 0 in general, and that means that 100% of X UMS > drivers are currently broken with newcons. I already done framebuffer info export and mmap support to ttyvX devices. Just xboxfb/ofwfb drivers is not ready yet. Phrase "100% of X UMS drivers" is totally incorrect :) PC like systems use direct access to video drivers, but not maps fb. Only ppc/sparc64 support mmaping of vt devices (at least before I start to work on Efika MX, now RPi and Efika MX here too). But found one more problem here :) Xorg with vesa driver left video in VESA mode on exit, so I add restore VGA mode for vt_vga driver on vt switch. Since I made framebuffer export works for all framebuffer provider it will be supported after small modifications to xorg-server port. x11-drivers/xf86-video-scfb already committed to ports tree (great thanks to Rene Ladan), but limited yet to not PC platforms, until xorg not ready. > > > 6. IMO better to put it into some drm emulation. > > > > 7. Works in many combination. ( > > start w/ vga, load kms; (kms replace vga) > > start w/o driver, load kms; > > preload kms, start w/ vga; (kms replace vga) > > preload kms, start w/o driver; (kms attached after drm node initialized) > > ) > > > > Have to put your list on Newcons's wiki page too. > > > > As I remember such long list of requirement you provide was based on > > expectation that I want to replace syscons right now :) > > But, for now we (me and x11 team) want to see it 10.0 as disabled by > > default (just like in HEAD now), so peoples who want to help with debug > > of new xorg and drm drivers will be able to see messages after KMS-xorg > > starts. > > > > Oh, looks like I forget what I have to say more. :) > > So it will be said later, when I will less sleepy. > > > > Anyway. Thanks a lot for your comments!!! > > > > WBW > > We should come up with a sunset plan for syscons, though. TBD > -Nathan Thanks a lot! WBW -- Aleksandr Rybalko ___ 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: r260440 - head/sys/arm/conf
On Tue, 2014-01-07 at 23:19 -0500, Nathan Whitehorn wrote: > On 01/07/14 22:40, Ian Lepore wrote: > > Author: ian > > Date: Wed Jan 8 03:40:18 2014 > > New Revision: 260440 > > URL: http://svnweb.freebsd.org/changeset/base/260440 > > > > Log: > > Add option USB_HOST_ALIGN to configs that contain 'device usb'. Setting > > this to the cache line size is required to avoid data corruption on armv4 > > and armv5, and improves performance on armv6, in both cases by avoiding > > partial cacheline flushes for USB IO. > > > > All these configs already exist in 10-stable. A few that don't (and > > thus can't be MFC'd yet) will be committed separately. > > > > There has to be -- and I do not mean this as a criticism of your patch > -- a better solution to this problem than USB_HOST_ALIGN. Isn't busdma > supposed to handle this kind of thing? Why is USB different? > -Nathan > USB is different because it doesn't follow the busdma rules. It allocates one large buffer, then sub-divides it internally into bits that are used for DMA IO and adjacent bits that are accessed by the cpu concurrently with the DMA. If it doesn't do that subdividing with an awareness of the cache line boundaries, it ends up with concurrent CPU and DMA access to data in the same cache line, and there's no way a software-assisted cache coherency scheme can reliably do busdma sync ops that don't corrupt either the CPU data or the DMA data. On armv6 we now automatically bounce IO that's not sized and aligned on cache line boundaries. The overhead for doing so is non-trivial, doubly so in the case of USB, because it's the only consumer of busdma in the system that requires that the offset-within-page for a bounced IO be the same as the offset in the original page (so a pool of small bounce buffers for small unligned IOs is not an option, it must allocate full bounce pages for every IO). It used to be (on armv4) that when you used the busdma alloc functions to allocate small DMA buffers (a few bytes) the implementation allocated entire pages, which is pretty inefficient and can add up to a lot of allocation overhead. That was cited as a reason not to change USB's "allocate big then subdivide" scheme. I wrote new busdma allocators that use UMA pools to efficiently handle small aligned buffers of both normal and uncachable (BUSDMA_COHERENT) memory, so that's not a roadblock anymore. (Arm uses the new allocator, mips never got converted.) So, since we keep getting reports on arm@ of data corruption that shows up as 32-byte chunks of bad data, and it costs real time and resources to try to debug each case, I figured we should just go with the fix that nobody likes but it actually works. -- Ian ___ 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: r259016 - in head/sys: conf dev/drm2 dev/drm2/i915 dev/drm2/radeon dev/fb dev/vt kern modules/drm2/i915kms modules/drm2/radeonkms sparc64/sparc64 sys teken
On 01/08/14 10:14, Aleksandr Rybalko wrote: > On Mon, 09 Dec 2013 18:26:46 -0600 > Nathan Whitehorn wrote: > >> On 12/09/13 18:20, Aleksandr Rybalko wrote: >>> On Sun, 8 Dec 2013 16:36:20 +0100 >>> Marius Strobl wrote: >>> On Thu, Dec 05, 2013 at 10:38:54PM +, Aleksandr Rybalko wrote: > Author: ray > Date: Thu Dec 5 22:38:53 2013 > New Revision: 259016 > URL: http://svnweb.freebsd.org/changeset/base/259016 > > Log: >Merge VT(9) project (a.k.a. newcons). > >Reviewed by: nwhitehorn >MFC_to_10_after: re approval Have you addressed any of the points raised in: http://lists.freebsd.org/pipermail/freebsd-current/2013-October/045887.html to get VT(9) at least en par with syscons(4) regarding being able to use a hardware cursor, allowing different low-level console drivers to compete for the same hardware etc. in the meantime? Marius >>> Hello Marius! >>> >>> Yes and No :) >>> >>> Lets make it as list with short items: >>> 1. Making these drivers work as low-level console. >>> 2. Drivers priority. >>> 3. Using hardware acceleration. >>> 4. Using the 12 x 22 gallant font. >>> 5. Allowing Xorg to map the frame buffer. >>> 6. (Part of 5) Other register banks as needed. >>> 7. Allowing late attachment. >>> >>> Answers: >>> 1. Works, I did testing on ARM board Efika MX with vt_fb_early driver. >>> (Still have to discuss several things with arm@ guys, then commit) >> As I mentioned in my review, this particular code is a really weird >> bug-filled copy of ofwfb.c, which already works as a low-level console >> early in the boot process. > TODO :) > >>> 2. Works. F.e. amd64 start with vt_vga driver, then vt_kms driver >>> override it as more specific. >> I think Marius meant having early-boot drivers bid amongst each other >> for attachment > Early-boot drivers selected on console driver bid rules. I see early > drivers as something really special, because resource management is not > ready at this stage and many device even is not able to get all > required info to be initialized fully. So I prefer model with simple > driver like vt_fb_early which is replaced later by full functional and > allocated by kernel's resource management rules. > > The issue is that your vt_early is not a panacea. It's a driver for one specific type of hardware (the Efika/RPI framebuffer, it looks like), no different than any other. What if you have multiple options for framebuffers? For example, on PowerPC, there are three graphics console drivers: wiifb, ps3fb, and ofwfb. wiifb is in its own kernel, which simplifies things, but ps3fb and ofwfb are both in GENERIC64 and have to bid against each other to attach. They need to do it before the MMU is even up, because otherwise there is no option for a console. sparc64 likewise has a variety of "early" console drivers in GENERIC. There needs to be a way to handle this; it's why the whole "early" FB concept is flawed. There's also nothing particularly "early" about these drivers: on both PPC and SPARC, they do attach in early boot, but nothing ever replaces them. They are around for the whole life of the system. -Nathan ___ 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: r260440 - head/sys/arm/conf
On 01/08/14 10:19, Ian Lepore wrote: > On Tue, 2014-01-07 at 23:19 -0500, Nathan Whitehorn wrote: >> On 01/07/14 22:40, Ian Lepore wrote: >>> Author: ian >>> Date: Wed Jan 8 03:40:18 2014 >>> New Revision: 260440 >>> URL: http://svnweb.freebsd.org/changeset/base/260440 >>> >>> Log: >>> Add option USB_HOST_ALIGN to configs that contain 'device usb'. Setting >>> this to the cache line size is required to avoid data corruption on armv4 >>> and armv5, and improves performance on armv6, in both cases by avoiding >>> partial cacheline flushes for USB IO. >>> >>> All these configs already exist in 10-stable. A few that don't (and >>> thus can't be MFC'd yet) will be committed separately. >>> >> There has to be -- and I do not mean this as a criticism of your patch >> -- a better solution to this problem than USB_HOST_ALIGN. Isn't busdma >> supposed to handle this kind of thing? Why is USB different? >> -Nathan >> > USB is different because it doesn't follow the busdma rules. It > allocates one large buffer, then sub-divides it internally into bits > that are used for DMA IO and adjacent bits that are accessed by the cpu > concurrently with the DMA. If it doesn't do that subdividing with an > awareness of the cache line boundaries, it ends up with concurrent CPU > and DMA access to data in the same cache line, and there's no way a > software-assisted cache coherency scheme can reliably do busdma sync ops > that don't corrupt either the CPU data or the DMA data. > > On armv6 we now automatically bounce IO that's not sized and aligned on > cache line boundaries. The overhead for doing so is non-trivial, doubly > so in the case of USB, because it's the only consumer of busdma in the > system that requires that the offset-within-page for a bounced IO be the > same as the offset in the original page (so a pool of small bounce > buffers for small unligned IOs is not an option, it must allocate full > bounce pages for every IO). > > It used to be (on armv4) that when you used the busdma alloc functions > to allocate small DMA buffers (a few bytes) the implementation allocated > entire pages, which is pretty inefficient and can add up to a lot of > allocation overhead. That was cited as a reason not to change USB's > "allocate big then subdivide" scheme. I wrote new busdma allocators > that use UMA pools to efficiently handle small aligned buffers of both > normal and uncachable (BUSDMA_COHERENT) memory, so that's not a > roadblock anymore. (Arm uses the new allocator, mips never got > converted.) > > So, since we keep getting reports on arm@ of data corruption that shows > up as 32-byte chunks of bad data, and it costs real time and resources > to try to debug each case, I figured we should just go with the fix that > nobody likes but it actually works. > > -- Ian > > Thanks for the explanation, the debugging, and the fix. This seems like a straightforward bug in the USB stack. Can it be fixed, or are there architectural reasons why it is the way it is? -Nathan ___ 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: r259998 - head/usr.sbin/bhyve
On Fri, Dec 27, 2013 at 8:01 PM, John Baldwin wrote: > Author: jhb > Date: Sat Dec 28 04:01:05 2013 > New Revision: 259998 > URL: http://svnweb.freebsd.org/changeset/base/259998 > > Log: > Extend the ACPI power management support to wire a virtual power button > up > to SIGTERM when ACPI is enabled. Sending SIGTERM to the hypervisor when > an > ACPI-aware OS is running will now trigger a soft-off allowing for a > graceful > shutdown of the guest. > Please consider merging all your BHyve changes to stable/10 at some point if possible. They greatly improve the usability of BHyve. -- Craig ___ 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: r260457 - head/sys/x86/x86
Author: jhb Date: Wed Jan 8 21:04:12 2014 New Revision: 260457 URL: http://svnweb.freebsd.org/changeset/base/260457 Log: The changes in r233781 attempted to make logging during a machine check exception more readable. In practice they prevented all logging during a machine check exception on at least some systems. Specifically, when an uncorrected ECC error is detected in a DIMM on a Nehalem/Westmere class machine, all CPUs receive a machine check exception, but only CPUs on the same package as the memory controller for the erroring DIMM log an error. The CPUs on the other package would complete the scan of their machine check banks and panic before the first set of CPUs could log an error. The end result was a clearer display during the panic (no interleaved messages), but a crashdump without any useful info about the error that occurred. To handle this case, make all CPUs spin in the machine check handler once they have completed their scan of their machine check banks until at least one machine check error is logged. I tried using a DELAY() instead so that the CPUs would not potentially hang forever, but that was not reliable in testing. While here, don't clear MCIP from MSR_MCG_STATUS before invoking panic. Only clear it if the machine check handler does not panic and returns to the interrupted thread. Modified: head/sys/x86/x86/mca.c Modified: head/sys/x86/x86/mca.c == --- head/sys/x86/x86/mca.c Wed Jan 8 19:34:23 2014(r260456) +++ head/sys/x86/x86/mca.c Wed Jan 8 21:04:12 2014(r260457) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -84,7 +85,7 @@ struct mca_internal { static MALLOC_DEFINE(M_MCA, "MCA", "Machine Check Architecture"); -static int mca_count; /* Number of records stored. */ +static volatile int mca_count; /* Number of records stored. */ static int mca_banks; /* Number of per-CPU register banks. */ static SYSCTL_NODE(_hw, OID_AUTO, mca, CTLFLAG_RD, NULL, @@ -733,7 +734,8 @@ mca_setup(uint64_t mcg_cap) TASK_INIT(&mca_refill_task, 0, mca_refill, NULL); mca_fill_freelist(); SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO, - "count", CTLFLAG_RD, &mca_count, 0, "Record count"); + "count", CTLFLAG_RD, (int *)(uintptr_t)&mca_count, 0, + "Record count"); SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO, "interval", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &mca_ticks, 0, sysctl_positive_int, "I", @@ -939,7 +941,7 @@ void mca_intr(void) { uint64_t mcg_status; - int recoverable; + int old_count, recoverable; if (!(cpu_feature & CPUID_MCA)) { /* @@ -953,15 +955,27 @@ mca_intr(void) } /* Scan the banks and check for any non-recoverable errors. */ + old_count = mca_count; recoverable = mca_scan(MCE); mcg_status = rdmsr(MSR_MCG_STATUS); if (!(mcg_status & MCG_STATUS_RIPV)) recoverable = 0; + if (!recoverable) { + /* +* Wait for at least one error to be logged before +* panic'ing. Some errors will assert a machine check +* on all CPUs, but only certain CPUs will find a valid +* bank to log. +*/ + while (mca_count == old_count) + cpu_spinwait(); + + panic("Unrecoverable machine check exception"); + } + /* Clear MCIP. */ wrmsr(MSR_MCG_STATUS, mcg_status & ~MCG_STATUS_MCIP); - if (!recoverable) - panic("Unrecoverable machine check exception"); } #ifdef DEV_APIC ___ 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: r260448 - head/sys/dev/iwn
Hi, So the RX diversity option here simply sets the number of RX streams to one, regardless of the hardware antenna configuration. We should ensure the driver is doing this for these NICs or it may end up making some stupid rate announcement and the peer may think it can send two-stream rates. -a On 8 January 2014 06:01, Gavin Atkinson wrote: > On Wed, 8 Jan 2014, Gavin Atkinson wrote: > >> Author: gavin >> Date: Wed Jan 8 13:59:33 2014 >> New Revision: 260448 >> URL: http://svnweb.freebsd.org/changeset/base/260448 >> >> Log: >> Add support for the Intel Centrino Wireless-N 135 chipset. >> >> MFC after: 2 weeks > > Apologies. Reviewed by: adrian > > Gavin ___ 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: r260458 - head/sys/netinet6
Author: melifaro Date: Wed Jan 8 22:13:32 2014 New Revision: 260458 URL: http://svnweb.freebsd.org/changeset/base/260458 Log: Introduce IN6_MASK_ADDR() macro to unify various hand-rolled code to do IPv6 addr & mask in different places. MFC after:2 weeks Modified: head/sys/netinet6/in6.c head/sys/netinet6/in6_ifattach.c head/sys/netinet6/in6_src.c head/sys/netinet6/in6_var.h head/sys/netinet6/nd6_rtr.c Modified: head/sys/netinet6/in6.c == --- head/sys/netinet6/in6.c Wed Jan 8 21:04:12 2014(r260457) +++ head/sys/netinet6/in6.c Wed Jan 8 22:13:32 2014(r260458) @@ -635,7 +635,6 @@ in6_control(struct socket *so, u_long cm case SIOCAIFADDR_IN6: { - int i; struct nd_prefixctl pr0; struct nd_prefix *pr; @@ -688,10 +687,9 @@ in6_control(struct socket *so, u_long cm } pr0.ndpr_prefix = ifra->ifra_addr; /* apply the mask for safety. */ - for (i = 0; i < 4; i++) { - pr0.ndpr_prefix.sin6_addr.s6_addr32[i] &= - ifra->ifra_prefixmask.sin6_addr.s6_addr32[i]; - } + IN6_MASK_ADDR(&pr0.ndpr_prefix.sin6_addr, + &ifra->ifra_prefixmask.sin6_addr); + /* * XXX: since we don't have an API to set prefix (not address) * lifetimes, we just use the same lifetimes as addresses. Modified: head/sys/netinet6/in6_ifattach.c == --- head/sys/netinet6/in6_ifattach.cWed Jan 8 21:04:12 2014 (r260457) +++ head/sys/netinet6/in6_ifattach.cWed Jan 8 22:13:32 2014 (r260458) @@ -455,7 +455,7 @@ in6_ifattach_linklocal(struct ifnet *ifp struct in6_ifaddr *ia; struct in6_aliasreq ifra; struct nd_prefixctl pr0; - int i, error; + int error; /* * configure link-local address. @@ -532,10 +532,7 @@ in6_ifattach_linklocal(struct ifnet *ifp pr0.ndpr_plen = in6_mask2len(&ifra.ifra_prefixmask.sin6_addr, NULL); pr0.ndpr_prefix = ifra.ifra_addr; /* apply the mask for safety. (nd6_prelist_add will apply it again) */ - for (i = 0; i < 4; i++) { - pr0.ndpr_prefix.sin6_addr.s6_addr32[i] &= - in6mask64.s6_addr32[i]; - } + IN6_MASK_ADDR(&pr0.ndpr_prefix.sin6_addr, &in6mask64); /* * Initialize parameters. The link-local prefix must always be * on-link, and its lifetimes never expire. Modified: head/sys/netinet6/in6_src.c == --- head/sys/netinet6/in6_src.c Wed Jan 8 21:04:12 2014(r260457) +++ head/sys/netinet6/in6_src.c Wed Jan 8 22:13:32 2014(r260458) @@ -995,7 +995,6 @@ in6_src_sysctl(SYSCTL_HANDLER_ARGS) int in6_src_ioctl(u_long cmd, caddr_t data) { - int i; struct in6_addrpolicy ent0; if (cmd != SIOCAADDRCTL_POLICY && cmd != SIOCDADDRCTL_POLICY) @@ -1009,10 +1008,7 @@ in6_src_ioctl(u_long cmd, caddr_t data) if (in6_mask2len(&ent0.addrmask.sin6_addr, NULL) < 0) return (EINVAL); /* clear trailing garbages (if any) of the prefix address. */ - for (i = 0; i < 4; i++) { - ent0.addr.sin6_addr.s6_addr32[i] &= - ent0.addrmask.sin6_addr.s6_addr32[i]; - } + IN6_MASK_ADDR(&ent0.addr.sin6_addr, &ent0.addrmask.sin6_addr); ent0.use = 0; switch (cmd) { Modified: head/sys/netinet6/in6_var.h == --- head/sys/netinet6/in6_var.h Wed Jan 8 21:04:12 2014(r260457) +++ head/sys/netinet6/in6_var.h Wed Jan 8 22:13:32 2014(r260458) @@ -409,6 +409,12 @@ struct in6_rrenumreq { (((d)->s6_addr32[1] ^ (a)->s6_addr32[1]) & (m)->s6_addr32[1]) == 0 && \ (((d)->s6_addr32[2] ^ (a)->s6_addr32[2]) & (m)->s6_addr32[2]) == 0 && \ (((d)->s6_addr32[3] ^ (a)->s6_addr32[3]) & (m)->s6_addr32[3]) == 0 ) +#define IN6_MASK_ADDR(a, m)do { \ + (a)->s6_addr32[0] &= (m)->s6_addr32[0]; \ + (a)->s6_addr32[1] &= (m)->s6_addr32[1]; \ + (a)->s6_addr32[2] &= (m)->s6_addr32[2]; \ + (a)->s6_addr32[3] &= (m)->s6_addr32[3]; \ +} while (0) #endif #define SIOCSIFADDR_IN6 _IOW('i', 12, struct in6_ifreq) Modified: head/sys/netinet6/nd6_rtr.c == --- head/sys/netinet6/nd6_rtr.c Wed Jan 8 21:04:12 2014(r260457) +++ head/sys/netinet6/nd6_rtr.c Wed Jan 8 22:13:32 2014(r260458) @@ -858,7 +858,6 @@ nd6_prelist_add(struct nd_prefixctl *pr, { struct nd_prefix *new = NULL; int error = 0; - i
svn commit: r260459 - head/sys/rpc
Author: peter Date: Wed Jan 8 22:37:18 2014 New Revision: 260459 URL: http://svnweb.freebsd.org/changeset/base/260459 Log: Don't expose svc_loss_reg / _unreg to userland as they're kernel-only additions from r260229 and the SVCPOOL type doesn't exist in userland. Modified: head/sys/rpc/svc.h Modified: head/sys/rpc/svc.h == --- head/sys/rpc/svc.h Wed Jan 8 22:13:32 2014(r260458) +++ head/sys/rpc/svc.h Wed Jan 8 22:37:18 2014(r260459) @@ -516,6 +516,7 @@ extern void svc_unreg(const rpcprog_t, c #endif __END_DECLS +#ifdef _KERNEL /* * Service connection loss registration * @@ -539,6 +540,7 @@ __END_DECLS __BEGIN_DECLS extern voidsvc_loss_unreg(SVCPOOL *, void (*)(SVCXPRT *)); __END_DECLS +#endif /* * Transport registration. ___ 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: r260460 - head/sys/net
Author: melifaro Date: Wed Jan 8 23:09:02 2014 New Revision: 260460 URL: http://svnweb.freebsd.org/changeset/base/260460 Log: Constanly use RT_ALL_FIBS everywhere instead of -1. MFC after:2 weeks Modified: head/sys/net/route.c head/sys/net/route.h head/sys/net/rtsock.c Modified: head/sys/net/route.c == --- head/sys/net/route.cWed Jan 8 22:37:18 2014(r260459) +++ head/sys/net/route.cWed Jan 8 23:09:02 2014(r260460) @@ -1498,7 +1498,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int fibnum = RT_DEFAULT_FIB; break; } - if (fibnum == -1) { + if (fibnum == RT_ALL_FIBS) { if (rt_add_addr_allfibs == 0 && cmd == (int)RTM_ADD) { startfib = endfib = curthread->td_proc->p_fibnum; } else { @@ -1702,7 +1702,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int int rtinit_fib(struct ifaddr *ifa, int cmd, int flags) { - return (rtinit1(ifa, cmd, flags, -1)); + return (rtinit1(ifa, cmd, flags, RT_ALL_FIBS)); } #endif @@ -1726,7 +1726,7 @@ rtinit(struct ifaddr *ifa, int cmd, int case AF_INET6: case AF_INET: /* We do support multiple FIBs. */ - fib = -1; + fib = RT_ALL_FIBS; break; } return (rtinit1(ifa, cmd, flags, fib)); Modified: head/sys/net/route.h == --- head/sys/net/route.hWed Jan 8 22:37:18 2014(r260459) +++ head/sys/net/route.hWed Jan 8 23:09:02 2014(r260460) @@ -92,7 +92,8 @@ struct rt_metrics { #defineRTTTOPRHZ(r)((r) / (RTM_RTTUNIT / PR_SLOWHZ)) #defineRT_DEFAULT_FIB 0 /* Explicitly mark fib=0 restricted cases */ -extern u_int rt_numfibs; /* number fo usable routing tables */ +#defineRT_ALL_FIBS -1 /* Announce event for every fib */ +extern u_int rt_numfibs; /* number of usable routing tables */ /* * XXX kernel function pointer `rt_output' is visible to applications. */ Modified: head/sys/net/rtsock.c == --- head/sys/net/rtsock.c Wed Jan 8 22:37:18 2014(r260459) +++ head/sys/net/rtsock.c Wed Jan 8 23:09:02 2014(r260460) @@ -160,7 +160,6 @@ int (*carp_get_vhid_p)(struct ifaddr *); * notification to a socket bound to a particular FIB. */ #defineRTS_FILTER_FIB M_PROTO8 -#defineRTS_ALLFIBS -1 static struct { int ip_count; /* attached w/ AF_INET */ @@ -1288,7 +1287,7 @@ rt_missmsg_fib(int type, struct rt_addri if (m == NULL) return; - if (fibnum != RTS_ALLFIBS) { + if (fibnum != RT_ALL_FIBS) { KASSERT(fibnum >= 0 && fibnum < rt_numfibs, ("%s: fibnum out " "of range 0 <= %d < %d", __func__, fibnum, rt_numfibs)); M_SETFIB(m, fibnum); @@ -1306,7 +1305,7 @@ void rt_missmsg(int type, struct rt_addrinfo *rtinfo, int flags, int error) { - rt_missmsg_fib(type, rtinfo, flags, error, RTS_ALLFIBS); + rt_missmsg_fib(type, rtinfo, flags, error, RT_ALL_FIBS); } /* @@ -1402,7 +1401,7 @@ rt_newaddrmsg_fib(int cmd, struct ifaddr rtm->rtm_errno = error; rtm->rtm_addrs = info.rti_addrs; } - if (fibnum != RTS_ALLFIBS) { + if (fibnum != RT_ALL_FIBS) { KASSERT(fibnum >= 0 && fibnum < rt_numfibs, ("%s: " "fibnum out of range 0 <= %d < %d", __func__, fibnum, rt_numfibs)); @@ -1417,7 +1416,7 @@ void rt_newaddrmsg(int cmd, struct ifaddr *ifa, int error, struct rtentry *rt) { - rt_newaddrmsg_fib(cmd, ifa, error, rt, RTS_ALLFIBS); + rt_newaddrmsg_fib(cmd, ifa, error, rt, RT_ALL_FIBS); } /* @@ -1930,7 +1929,7 @@ sysctl_rtsock(SYSCTL_HANDLER_ARGS) if (namelen == 3) fib = req->td->td_proc->p_fibnum; else if (namelen == 4) - fib = (name[3] == -1) ? + fib = (name[3] == RT_ALL_FIBS) ? req->td->td_proc->p_fibnum : name[3]; else return ((namelen < 3) ? EISDIR : ENOTDIR); ___ 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: r260461 - in head/sys: compat/freebsd32 kern sys
Author: adrian Date: Thu Jan 9 00:11:14 2014 New Revision: 260461 URL: http://svnweb.freebsd.org/changeset/base/260461 Log: Refactor out the common sendfile code from the do_sendfile() and the compat32 sendfile syscall. Sponsored by: Netflix, Inc. Added: head/sys/sys/sf_base.h (contents, props changed) Modified: head/sys/compat/freebsd32/freebsd32_misc.c head/sys/kern/uipc_syscalls.c Modified: head/sys/compat/freebsd32/freebsd32_misc.c == --- head/sys/compat/freebsd32/freebsd32_misc.c Wed Jan 8 23:09:02 2014 (r260460) +++ head/sys/compat/freebsd32/freebsd32_misc.c Thu Jan 9 00:11:14 2014 (r260461) @@ -86,6 +86,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef INET #include @@ -1651,8 +1652,6 @@ freebsd32_do_sendfile(struct thread *td, struct sf_hdtr hdtr; struct uio *hdr_uio, *trl_uio; struct iovec32 *iov32; - struct file *fp; - cap_rights_t rights; off_t offset; int error; off_t sbytes; @@ -1690,29 +1689,9 @@ freebsd32_do_sendfile(struct thread *td, } } - AUDIT_ARG_FD(uap->fd); + error = _do_sendfile(td, uap->fd, uap->s, uap->flags, compat, + offset, uap->nbytes, &sbytes, hdr_uio, trl_uio); - if ((error = fget_read(td, uap->fd, - cap_rights_init(&rights, CAP_PREAD), &fp)) != 0) { - goto out; - } - - /* -* If we need to wait for completion, initialise the sfsync -* state here. -*/ - if (uap->flags & SF_SYNC) - sfs = sf_sync_alloc(uap->flags & SF_SYNC); - - error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, offset, - uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, - sfs, td); - if (sfs != NULL) { - sf_sync_syscall_wait(sfs); - sf_sync_free(sfs); - } - - fdrop(fp, td); if (uap->sbytes != NULL) copyout(&sbytes, uap->sbytes, sizeof(off_t)); Modified: head/sys/kern/uipc_syscalls.c == --- head/sys/kern/uipc_syscalls.c Wed Jan 8 23:09:02 2014 (r260460) +++ head/sys/kern/uipc_syscalls.c Thu Jan 9 00:11:14 2014 (r260461) @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1988,51 +1989,23 @@ sys_sendfile(struct thread *td, struct s return (do_sendfile(td, uap, 0)); } -static int -do_sendfile(struct thread *td, struct sendfile_args *uap, int compat) +int +_do_sendfile(struct thread *td, int src_fd, int sock_fd, int flags, +int compat, off_t offset, size_t nbytes, off_t *sbytes, +struct uio *hdr_uio, struct uio *trl_uio) { - struct sf_hdtr hdtr; - struct uio *hdr_uio, *trl_uio; - struct file *fp; cap_rights_t rights; + struct sendfile_sync *sfs = NULL; + struct file *fp; int error; - off_t sbytes; - struct sendfile_sync *sfs; - /* -* File offset must be positive. If it goes beyond EOF -* we send only the header/trailer and no payload data. -*/ - if (uap->offset < 0) - return (EINVAL); - - hdr_uio = trl_uio = NULL; - sfs = NULL; - - if (uap->hdtr != NULL) { - error = copyin(uap->hdtr, &hdtr, sizeof(hdtr)); - if (error != 0) - goto out; - if (hdtr.headers != NULL) { - error = copyinuio(hdtr.headers, hdtr.hdr_cnt, &hdr_uio); - if (error != 0) - goto out; - } - if (hdtr.trailers != NULL) { - error = copyinuio(hdtr.trailers, hdtr.trl_cnt, &trl_uio); - if (error != 0) - goto out; - - } - } - - AUDIT_ARG_FD(uap->fd); + AUDIT_ARG_FD(src_fd); /* * sendfile(2) can start at any offset within a file so we require * CAP_READ+CAP_SEEK = CAP_PREAD. */ - if ((error = fget_read(td, uap->fd, + if ((error = fget_read(td, src_fd, cap_rights_init(&rights, CAP_PREAD), &fp)) != 0) { goto out; } @@ -2041,11 +2014,11 @@ do_sendfile(struct thread *td, struct se * If we need to wait for completion, initialise the sfsync * state here. */ - if (uap->flags & SF_SYNC) - sfs = sf_sync_alloc(uap->flags & SF_SYNC); + if (flags & SF_SYNC) + sfs = sf_sync_alloc(flags & SF_SYNC); - error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, uap->offset, - uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, sfs, td); + error = fo_sendfile(fp, sock_fd,
Re: svn commit: r260224 - head/sys/netinet
Bryan, On Mon, Jan 06, 2014 at 09:09:45AM -0600, Bryan Venteicher wrote: B> > On Fri, Jan 03, 2014 at 11:03:12AM +, Gleb Smirnoff wrote: B> > > Author: glebius B> > > Date: Fri Jan 3 11:03:12 2014 B> > > New Revision: 260224 B> > > URL: http://svnweb.freebsd.org/changeset/base/260224 B> > > B> > > Log: B> > > Make failure of ifpromisc() a non-fatal error. This makes it possible B> > to B> > > run carp(4) on vtnet(4). B> > > B> > B> > vtnet(4) is the only device that doesn't correctly support B> > promiscuous mode? I don't know details of vtnet(4) but it seems B> > it's not hard to mimic promiscuous mode. I'm not sure why the B> > driver returns ENOTSUP to user land given that vtnet(4) defaults B> > to promiscuous mode for backwards compatibility. It also does B> > not handle multicast filter configuration when VTNET_FLAG_CTRL_RX B> > flag is not set. If vtnet(4) does not support multicast filter, B> > it shouldn't announce IFF_MULTICAST. I wonder how vtnet(4) can work B> > with carp(4) given that its multicast handling is ignored. B> > B> B> I've talked to Gleb off-list about this. I intent to remove the default to B> promiscuous mode hack. Previous versions of the specification had a B> footnote about this, but it has since been removed. Note that both promisc B> and multicast likely require some host configuration on the B> tap/bridge/physical interfaces as well. B> B> I'll look at the multicast handling. If carp(4) already works with bhyve, B> we might want to add a minimalist control virtqueue support to bhyve. If you decide that vtnet(4) should provide promiscuous mode (or pretend to), and implement that, and carp(4) runs okay, then feel free to back out r260224. -- Totus tuus, Glebius. ___ 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: r260415 - head/sys/dev/bxe
Eric, On Tue, Jan 07, 2014 at 10:26:20PM +, Eric Davis wrote: E> Author: edavis E> Date: Tue Jan 7 22:26:20 2014 E> New Revision: 260415 E> URL: http://svnweb.freebsd.org/changeset/base/260415 E> E> Log: E> defragment mbuf chains longer than hw segment limit before dropping E> E> Approved by: davidch E> E> Modified: E> head/sys/dev/bxe/bxe.c E> head/sys/dev/bxe/ecore_hsi.h E> E> Modified: head/sys/dev/bxe/bxe.c E> == E> --- head/sys/dev/bxe/bxe.c Tue Jan 7 21:25:18 2014(r260414) E> +++ head/sys/dev/bxe/bxe.c Tue Jan 7 22:26:20 2014(r260415) E> @@ -34,7 +34,7 @@ E> #include E> __FBSDID("$FreeBSD$"); E> E> -#define BXE_DRIVER_VERSION "1.78.76" E> +#define BXE_DRIVER_VERSION "1.78.77" E> E> #include "bxe.h" E> #include "ecore_sp.h" E> @@ -5501,10 +5501,31 @@ bxe_tx_encap(struct bxe_fastpath *fp, st E> fp->eth_q_stats.tx_window_violation_std++; E> } E> E> -/* XXX I don't like this, change to double copy packet */ E> +/* lets try to defragment this mbuf */ E> +fp->eth_q_stats.mbuf_defrag_attempts++; E> E> -/* no sense trying to defrag again, just drop the frame */ E> -rc = ENODEV; E> +m0 = m_defrag(*m_head, M_DONTWAIT); It is already more than a decade as M_DONTWAIT shouldn't be used. Generic malloc(9) flag of M_NOWAIT should be used. I wonder, why did you use it in new code? Is that just through habit, or do we still got somewhere outdated piece of documentation? E> +if (m0 == NULL) { E> +fp->eth_q_stats.mbuf_defrag_failures++; E> +/* Ugh, just drop the frame... :( */ E> +rc = ENOBUFS; E> +} else { E> +/* defrag successful, try mapping again */ E> +*m_head = m0; E> +error = bus_dmamap_load_mbuf_sg(fp->tx_mbuf_tag, E> +tx_buf->m_map, m0, E> +segs, &nsegs, BUS_DMA_NOWAIT); E> +if (error) { E> +fp->eth_q_stats.tx_dma_mapping_failure++; E> +/* No sense in trying to defrag/copy chain, drop it. :( */ E> +rc = error; E> +} E> + E> +/* if the chain is still too long then drop it */ E> +if (__predict_false(nsegs > 12)) { E> +rc = ENODEV; E> +} E> +} E> } -- Totus tuus, Glebius. ___ 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: r260462 - head/sys/dev/netmap
Author: glebius Date: Thu Jan 9 00:59:03 2014 New Revision: 260462 URL: http://svnweb.freebsd.org/changeset/base/260462 Log: Fix build with VIMAGE. Modified: head/sys/dev/netmap/netmap.c Modified: head/sys/dev/netmap/netmap.c == --- head/sys/dev/netmap/netmap.cThu Jan 9 00:11:14 2014 (r260461) +++ head/sys/dev/netmap/netmap.cThu Jan 9 00:59:03 2014 (r260462) @@ -145,6 +145,8 @@ ports attached to the switch) #include /* sockaddrs */ #include #include +#include +#include #include #include #include/* BIOCIMMEDIATE */ ___ 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: r260415 - head/sys/dev/bxe
On Thu, Jan 09, 2014 at 04:26:39AM +0400, Gleb Smirnoff wrote: > Eric, > > On Tue, Jan 07, 2014 at 10:26:20PM +, Eric Davis wrote: > E> Author: edavis > E> Date: Tue Jan 7 22:26:20 2014 > E> New Revision: 260415 > E> URL: http://svnweb.freebsd.org/changeset/base/260415 > E> > E> Log: > E> defragment mbuf chains longer than hw segment limit before dropping > E> > E> Approved by: davidch > E> > E> Modified: > E> head/sys/dev/bxe/bxe.c > E> head/sys/dev/bxe/ecore_hsi.h > E> > E> Modified: head/sys/dev/bxe/bxe.c > E> > == > E> --- head/sys/dev/bxe/bxe.c Tue Jan 7 21:25:18 2014(r260414) > E> +++ head/sys/dev/bxe/bxe.c Tue Jan 7 22:26:20 2014(r260415) > E> @@ -34,7 +34,7 @@ > E> #include > E> __FBSDID("$FreeBSD$"); > E> > E> -#define BXE_DRIVER_VERSION "1.78.76" > E> +#define BXE_DRIVER_VERSION "1.78.77" > E> > E> #include "bxe.h" > E> #include "ecore_sp.h" > E> @@ -5501,10 +5501,31 @@ bxe_tx_encap(struct bxe_fastpath *fp, st > E> fp->eth_q_stats.tx_window_violation_std++; > E> } > E> > E> -/* XXX I don't like this, change to double copy packet */ > E> +/* lets try to defragment this mbuf */ > E> +fp->eth_q_stats.mbuf_defrag_attempts++; > E> > E> -/* no sense trying to defrag again, just drop the frame */ > E> -rc = ENODEV; > E> +m0 = m_defrag(*m_head, M_DONTWAIT); > > It is already more than a decade as M_DONTWAIT shouldn't be used. Generic > malloc(9) flag of M_NOWAIT should be used. > > I wonder, why did you use it in new code? Is that just through habit, > or do we still got somewhere outdated piece of documentation? I did not know that. The new bxe driver did leverage some code from the older one and this block is definitely a copy-paste-and-tweak. I'll be sure to update those defines and make sure only M_WAITOK and M_NOWAIT is used by the driver. FWIW, I see there are a couple other drivers under head/sys/dev that are still using M_DONTWAIT as well. - e > E> +if (m0 == NULL) { > E> +fp->eth_q_stats.mbuf_defrag_failures++; > E> +/* Ugh, just drop the frame... :( */ > E> +rc = ENOBUFS; > E> +} else { > E> +/* defrag successful, try mapping again */ > E> +*m_head = m0; > E> +error = bus_dmamap_load_mbuf_sg(fp->tx_mbuf_tag, > E> +tx_buf->m_map, m0, > E> +segs, &nsegs, BUS_DMA_NOWAIT); > E> +if (error) { > E> +fp->eth_q_stats.tx_dma_mapping_failure++; > E> +/* No sense in trying to defrag/copy chain, drop it. :( */ > E> +rc = error; > E> +} > E> + > E> +/* if the chain is still too long then drop it */ > E> +if (__predict_false(nsegs > 12)) { > E> +rc = ENODEV; > E> +} > E> +} > E> } > > -- > Totus tuus, Glebius. pgpQE806iRgA2.pgp Description: PGP signature
Re: svn commit: r259730 - in head: gnu/lib/csu gnu/lib/libgcc gnu/lib/libstdc++ gnu/lib/libsupc++ lib/atf/libatf-c/tests share/mk sys/conf tools/tools/ath/athstats tools/tools/net80211/wlanstats usr.b
2013/12/22 Dimitry Andric : > Author: dim > Date: Sun Dec 22 17:51:33 2013 > New Revision: 259730 > URL: http://svnweb.freebsd.org/changeset/base/259730 > > Log: > To avoid having to explicitly test COMPILER_TYPE for setting > clang-specific or gcc-specific flags, introduce the following new > variables for use in Makefiles: > > CFLAGS.clang > CFLAGS.gcc > CXXFLAGS.clang > CXXFLAGS.gcc > > In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for > the right compiler. > > MFC after:1 week > > Modified: > head/gnu/lib/csu/Makefile > head/gnu/lib/libgcc/Makefile > head/gnu/lib/libstdc++/Makefile > head/gnu/lib/libsupc++/Makefile > head/lib/atf/libatf-c/tests/Makefile > head/share/mk/bsd.sys.mk > head/sys/conf/Makefile.arm > head/tools/tools/ath/athstats/Makefile > head/tools/tools/net80211/wlanstats/Makefile > head/usr.bin/mkcsmapper/Makefile.inc > Hello Dimitry. It appears that this change broke backtrace on ARM. Now only last stack frame can be displayed in bt. However I don't have any fix or suggestion. Best regards zbb ___ 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: r260463 - head/sys/dev/usb/wlan
Author: kevlo Date: Thu Jan 9 01:48:33 2014 New Revision: 260463 URL: http://svnweb.freebsd.org/changeset/base/260463 Log: Replace deprecated M_DONTWAIT with M_NOWAIT. Modified: head/sys/dev/usb/wlan/if_rsu.c head/sys/dev/usb/wlan/if_urtwn.c Modified: head/sys/dev/usb/wlan/if_rsu.c == --- head/sys/dev/usb/wlan/if_rsu.c Thu Jan 9 00:59:03 2014 (r260462) +++ head/sys/dev/usb/wlan/if_rsu.c Thu Jan 9 01:48:33 2014 (r260463) @@ -1145,11 +1145,11 @@ rsu_event_survey(struct rsu_softc *sc, u pktlen = sizeof(*wh) + le32toh(bss->ieslen); if (__predict_false(pktlen > MCLBYTES)) return; - MGETHDR(m, M_DONTWAIT, MT_DATA); + MGETHDR(m, M_NOWAIT, MT_DATA); if (__predict_false(m == NULL)) return; if (pktlen > MHLEN) { - MCLGET(m, M_DONTWAIT); + MCLGET(m, M_NOWAIT); if (!(m->m_flags & M_EXT)) { m_free(m); return; @@ -1358,13 +1358,13 @@ rsu_rx_frame(struct rsu_softc *sc, uint8 DPRINTFN(5, "Rx frame len=%d rate=%d infosz=%d rssi=%d\n", pktlen, rate, infosz, *rssi); - MGETHDR(m, M_DONTWAIT, MT_DATA); + MGETHDR(m, M_NOWAIT, MT_DATA); if (__predict_false(m == NULL)) { ifp->if_ierrors++; return NULL; } if (pktlen > MHLEN) { - MCLGET(m, M_DONTWAIT); + MCLGET(m, M_NOWAIT); if (__predict_false(!(m->m_flags & M_EXT))) { ifp->if_ierrors++; m_freem(m); Modified: head/sys/dev/usb/wlan/if_urtwn.c == --- head/sys/dev/usb/wlan/if_urtwn.cThu Jan 9 00:59:03 2014 (r260462) +++ head/sys/dev/usb/wlan/if_urtwn.cThu Jan 9 01:48:33 2014 (r260463) @@ -625,7 +625,7 @@ urtwn_rx_frame(struct urtwn_softc *sc, u rssi = URTWN_RSSI(rssi); } - m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); if (m == NULL) { device_printf(sc->sc_dev, "could not create RX mbuf\n"); return (NULL); ___ 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: r260466 - in head/sys/amd64: include vmm vmm/amd vmm/intel vmm/io
Author: neel Date: Thu Jan 9 03:25:54 2014 New Revision: 260466 URL: http://svnweb.freebsd.org/changeset/base/260466 Log: Don't expose 'vmm_ipinum' as a global. Modified: head/sys/amd64/include/vmm.h head/sys/amd64/vmm/amd/amdv.c head/sys/amd64/vmm/intel/ept.c head/sys/amd64/vmm/intel/ept.h head/sys/amd64/vmm/intel/vmx.c head/sys/amd64/vmm/io/vlapic.c head/sys/amd64/vmm/io/vlapic.h head/sys/amd64/vmm/vmm.c head/sys/amd64/vmm/vmm_ipi.c head/sys/amd64/vmm/vmm_ipi.h Modified: head/sys/amd64/include/vmm.h == --- head/sys/amd64/include/vmm.hThu Jan 9 03:25:08 2014 (r260465) +++ head/sys/amd64/include/vmm.hThu Jan 9 03:25:54 2014 (r260466) @@ -47,7 +47,7 @@ struct pmap; enum x2apic_state; -typedef int(*vmm_init_func_t)(void); +typedef int(*vmm_init_func_t)(int ipinum); typedef int(*vmm_cleanup_func_t)(void); typedef void (*vmm_resume_func_t)(void); typedef void * (*vmi_init_func_t)(struct vm *vm, struct pmap *pmap); Modified: head/sys/amd64/vmm/amd/amdv.c == --- head/sys/amd64/vmm/amd/amdv.c Thu Jan 9 03:25:08 2014 (r260465) +++ head/sys/amd64/vmm/amd/amdv.c Thu Jan 9 03:25:54 2014 (r260466) @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); #include "io/iommu.h" static int -amdv_init(void) +amdv_init(int ipinum) { printf("amdv_init: not implemented\n"); Modified: head/sys/amd64/vmm/intel/ept.c == --- head/sys/amd64/vmm/intel/ept.c Thu Jan 9 03:25:08 2014 (r260465) +++ head/sys/amd64/vmm/intel/ept.c Thu Jan 9 03:25:54 2014 (r260466) @@ -77,7 +77,7 @@ SYSCTL_INT(_hw_vmm_ept, OID_AUTO, pmap_f &ept_pmap_flags, 0, NULL); int -ept_init(void) +ept_init(int ipinum) { int use_hw_ad_bits, use_superpages, use_exec_only; uint64_t cap; @@ -99,7 +99,7 @@ ept_init(void) !INVEPT_ALL_TYPES_SUPPORTED(cap)) return (EINVAL); - ept_pmap_flags = vmm_ipinum & PMAP_NESTED_IPIMASK; + ept_pmap_flags = ipinum & PMAP_NESTED_IPIMASK; use_superpages = 1; TUNABLE_INT_FETCH("hw.vmm.ept.use_superpages", &use_superpages); Modified: head/sys/amd64/vmm/intel/ept.h == --- head/sys/amd64/vmm/intel/ept.h Thu Jan 9 03:25:08 2014 (r260465) +++ head/sys/amd64/vmm/intel/ept.h Thu Jan 9 03:25:54 2014 (r260466) @@ -31,7 +31,7 @@ struct vmx; -intept_init(void); +intept_init(int ipinum); void ept_invalidate_mappings(u_long eptp); struct vmspace *ept_vmspace_alloc(vm_offset_t min, vm_offset_t max); void ept_vmspace_free(struct vmspace *vmspace); Modified: head/sys/amd64/vmm/intel/vmx.c == --- head/sys/amd64/vmm/intel/vmx.c Thu Jan 9 03:25:08 2014 (r260465) +++ head/sys/amd64/vmm/intel/vmx.c Thu Jan 9 03:25:54 2014 (r260466) @@ -474,7 +474,7 @@ vmx_restore(void) } static int -vmx_init(void) +vmx_init(int ipinum) { int error, use_tpr_shadow; uint64_t fixed0, fixed1, feature_control; @@ -639,7 +639,7 @@ vmx_init(void) } /* Initialize EPT */ - error = ept_init(); + error = ept_init(ipinum); if (error) { printf("vmx_init: ept initialization failed (%d)\n", error); return (error); Modified: head/sys/amd64/vmm/io/vlapic.c == --- head/sys/amd64/vmm/io/vlapic.c Thu Jan 9 03:25:08 2014 (r260465) +++ head/sys/amd64/vmm/io/vlapic.c Thu Jan 9 03:25:54 2014 (r260466) @@ -1430,7 +1430,7 @@ vlapic_deliver_intr(struct vm *vm, bool } void -vlapic_post_intr(struct vlapic *vlapic, int hostcpu) +vlapic_post_intr(struct vlapic *vlapic, int hostcpu, int ipinum) { /* * Post an interrupt to the vcpu currently running on 'hostcpu'. @@ -1444,7 +1444,7 @@ vlapic_post_intr(struct vlapic *vlapic, if (vlapic->ops.post_intr) (*vlapic->ops.post_intr)(vlapic, hostcpu); else - ipi_cpu(hostcpu, vmm_ipinum); + ipi_cpu(hostcpu, ipinum); } bool Modified: head/sys/amd64/vmm/io/vlapic.h == --- head/sys/amd64/vmm/io/vlapic.h Thu Jan 9 03:25:08 2014 (r260465) +++ head/sys/amd64/vmm/io/vlapic.h Thu Jan 9 03:25:54 2014 (r260466) @@ -65,9 +65,9 @@ int vlapic_set_intr_ready(struct vlapic /* * Post an interrupt to the vcpu running on 'hostcpu'. This will use a * hardware assist if available (e.g. Posted Interrupt) or fall back to - * sending
svn commit: r260469 - head/usr.sbin/bhyve
Author: grehan Date: Thu Jan 9 07:17:21 2014 New Revision: 260469 URL: http://svnweb.freebsd.org/changeset/base/260469 Log: Fix issue with the virtio descriptor region being truncated if it was above 4GB. This was seen with CentOS 6.5 guests with large RAM, since the block drivers are loaded late in the boot sequence and end up allocating descriptor memory from high addresses. Reported by: Michael Dexter MFC after:3 days Modified: head/usr.sbin/bhyve/virtio.c Modified: head/usr.sbin/bhyve/virtio.c == --- head/usr.sbin/bhyve/virtio.cThu Jan 9 03:33:12 2014 (r260468) +++ head/usr.sbin/bhyve/virtio.cThu Jan 9 07:17:21 2014 (r260469) @@ -160,7 +160,7 @@ vi_vq_init(struct virtio_softc *vs, uint vq = &vs->vs_queues[vs->vs_curq]; vq->vq_pfn = pfn; - phys = pfn << VRING_PFN; + phys = (uint64_t)pfn << VRING_PFN; size = vring_size(vq->vq_qsize); base = paddr_guest2host(vs->vs_pi->pi_vmctx, phys, 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"