svn commit: r259708 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 09:27:57 2013 New Revision: 259708 URL: http://svnweb.freebsd.org/changeset/base/259708 Log: Add item for clang 3.3 update. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 01:00:00 2013(r259707) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 09:27:57 2013(r259708) @@ -350,6 +350,11 @@ sect2 xml:id=userland titleUserland Changes/title + para revision=251662man.clang.1; and llvm have been updated to + version 3.3 release. Please refer to + link xlink:href=http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html; + Clang 3.3 Release Notes./link/para + para role=mergedBIND has been replaced by man.unbound.8; for local dns resolution in the base system. With this change, nslookup and dig are no longer a part of the base system. Users should ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
Re: svn commit: r259685 - in head/sys: arm/at91 dev/uart
On Sun, Dec 22, 2013 at 12:23 AM, Warner Losh i...@freebsd.org wrote: Author: imp Date: Sat Dec 21 16:23:31 2013 New Revision: 259685 URL: http://svnweb.freebsd.org/changeset/base/259685 Log: Plumb the cn_grab and cn_ungrab routines down into the uart clients. Mask RX interrupts while grabbed on the atmel serial driver. This UART interrupts every character. When interrupts are enabled at the mountroot prompt, this means the ISR eats the characters. Rather than try to create a cooperative buffering system for the low level kernel console, instead just mask out the ISR. For NS8250 and decsendents this isn't needed, since interrupts only happen after 14 or more characters (depending on the fifo settings). Plumb such that these are optional so there's no change in behavior for all the other UART clients. ddb worked on this platform because all interrupts were disabled while it was running, so this problem wasn't noticed. The mountroot issue has been around for a very very long time. MFC after:3 days Modified: head/sys/arm/at91/uart_dev_at91usart.c head/sys/dev/uart/uart_cpu.h head/sys/dev/uart/uart_tty.c There is PR kern/184919: uart infrastructure missing console grab / ungrab hooks, maybe that one should be closed. Ganbold Modified: head/sys/arm/at91/uart_dev_at91usart.c == --- head/sys/arm/at91/uart_dev_at91usart.c Sat Dec 21 15:40:36 2013 (r259684) +++ head/sys/arm/at91/uart_dev_at91usart.c Sat Dec 21 16:23:31 2013 (r259685) @@ -219,6 +219,20 @@ at91_usart_param(struct uart_bas *bas, i return (0); } +static void +at91_usart_grab(struct uart_bas *bas) +{ + + WR4(bas, USART_IDR, USART_CSR_RXRDY); +} + +static void +at91_usart_ungrab(struct uart_bas *bas) +{ + + WR4(bas, USART_IER, USART_CSR_RXRDY); +} + static struct uart_ops at91_usart_ops = { .probe = at91_usart_probe, .init = at91_usart_init, @@ -226,6 +240,8 @@ static struct uart_ops at91_usart_ops = .putc = at91_usart_putc, .rxready = at91_usart_rxready, .getc = at91_usart_getc, + .grab = at91_usart_grab, + .ungrab = at91_usart_ungrab, }; static int Modified: head/sys/dev/uart/uart_cpu.h == --- head/sys/dev/uart/uart_cpu.hSat Dec 21 15:40:36 2013 (r259684) +++ head/sys/dev/uart/uart_cpu.hSat Dec 21 16:23:31 2013 (r259685) @@ -43,6 +43,8 @@ struct uart_ops { void (*putc)(struct uart_bas *, int); int (*rxready)(struct uart_bas *); int (*getc)(struct uart_bas *, struct mtx *); + void (*grab)(struct uart_bas *); + void (*ungrab)(struct uart_bas *); }; extern bus_space_tag_t uart_bus_space_io; @@ -135,6 +137,27 @@ uart_putc(struct uart_devinfo *di, int c uart_unlock(di-hwmtx); } +static __inline void +uart_grab(struct uart_devinfo *di) +{ + + uart_lock(di-hwmtx); + if (di-ops-grab) + di-ops-grab(di-bas); + uart_unlock(di-hwmtx); +} + +static __inline void +uart_ungrab(struct uart_devinfo *di) +{ + + uart_lock(di-hwmtx); + if (di-ops-ungrab) + di-ops-ungrab(di-bas); + uart_unlock(di-hwmtx); +} + + static __inline int uart_rxready(struct uart_devinfo *di) { Modified: head/sys/dev/uart/uart_tty.c == --- head/sys/dev/uart/uart_tty.cSat Dec 21 15:40:36 2013 (r259684) +++ head/sys/dev/uart/uart_tty.cSat Dec 21 16:23:31 2013 (r259685) @@ -112,11 +112,15 @@ uart_cnterm(struct consdev *cp) static void uart_cngrab(struct consdev *cp) { + + uart_grab(cp-cn_arg); } static void uart_cnungrab(struct consdev *cp) { + + uart_ungrab(cp-cn_arg); } static void ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259709 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 09:40:03 2013 New Revision: 259709 URL: http://svnweb.freebsd.org/changeset/base/259709 Log: Add revision number for BIND removal. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 09:27:57 2013(r259708) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 09:40:03 2013(r259709) @@ -355,7 +355,7 @@ link xlink:href=http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html; Clang 3.3 Release Notes./link/para -para role=mergedBIND has been replaced by man.unbound.8; for +para role=merged revision=255949BIND has been replaced by man.unbound.8; for local dns resolution in the base system. With this change, nslookup and dig are no longer a part of the base system. Users should instead use man.host.1; and man.drill.1; Alternatively, ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259710 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 10:24:14 2013 New Revision: 259710 URL: http://svnweb.freebsd.org/changeset/base/259710 Log: Mention that GCC is not built on platforms where CLANG is the default system compiler. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 09:40:03 2013(r259709) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:24:14 2013(r259710) @@ -350,6 +350,14 @@ sect2 xml:id=userland titleUserland Changes/title + para revision=255321On platforms where man.clang.1; is the default + system compiler, (such as i386, amd64, arm) GCC and GNU libstdc++ are no + longer built by default. man.clang.1; and libc++ from LLVM are used on + these platforms by instead. GCC 4.2.1 and libstdc++ are still built + and used by default on pc98 and all other platforms where man.clang.1; + is not the default system compiler. + /para + para revision=251662man.clang.1; and llvm have been updated to version 3.3 release. Please refer to link xlink:href=http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259711 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 10:33:01 2013 New Revision: 259711 URL: http://svnweb.freebsd.org/changeset/base/259711 Log: Add revision number for iSCSI initiator. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:24:14 2013(r259710) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:33:01 2013(r259711) @@ -317,7 +317,7 @@ sect3 xml:id=fs titleFile Systems/title - paraA new kernel-based iSCSI target and initiator has been + para revision=255570A new kernel-based iSCSI target and initiator has been added/para paraUFS filesystems can now be enlarged with man.growfs.8; while ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259712 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 10:42:47 2013 New Revision: 259712 URL: http://svnweb.freebsd.org/changeset/base/259712 Log: Mention TRIM support for ZFS. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:33:01 2013(r259711) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:42:47 2013(r259712) @@ -343,6 +343,14 @@ by a snapshot, both copies of the block are kept even though both contain the same data./para + sect4 xml:id=fs-zfs + titleZFS/title + +para revision=240868TRIM support has been added for + ZFS./para + + /sect4 + /sect3 /sect2 ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259713 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 10:50:09 2013 New Revision: 259713 URL: http://svnweb.freebsd.org/changeset/base/259713 Log: Re-order ZFS items. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:42:47 2013(r259712) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:50:09 2013(r259713) @@ -329,26 +329,26 @@ base system. It allows the use of nearly all fusefs file systems/para - paraSupport for the high performance LZ4 compression algorithm -has been added to ZFS. LZ4 is usually faster and can achieve a -higher compression ratio than LZJB, the default compression -algorithm/para - - paraSupport for L2ARC compression has been added to ZFS./para - - paraZFS will now compare the checksums of incoming writes to -the checksum of the existing on-disk data and avoid issuing any -write I/O for data that has not changed. This will reduce I/O -as well as space usage because if the old block is referenced -by a snapshot, both copies of the block are kept even though -both contain the same data./para - sect4 xml:id=fs-zfs titleZFS/title para revision=240868TRIM support has been added for ZFS./para +para revision=246586Support for the high performance LZ4 compression algorithm + has been added to ZFS. LZ4 is usually faster and can achieve a + higher compression ratio than LZJB, the default compression + algorithm/para + +para revision=252140Support for L2ARC compression has been added to ZFS./para + +paraZFS will now compare the checksums of incoming writes to + the checksum of the existing on-disk data and avoid issuing any + write I/O for data that has not changed. This will reduce I/O + as well as space usage because if the old block is referenced + by a snapshot, both copies of the block are kept even though + both contain the same data./para + /sect4 /sect3 ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259714 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 10:52:51 2013 New Revision: 259714 URL: http://svnweb.freebsd.org/changeset/base/259714 Log: Add some revision numbers. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:50:09 2013(r259713) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:52:51 2013(r259714) @@ -320,12 +320,12 @@ para revision=255570A new kernel-based iSCSI target and initiator has been added/para - paraUFS filesystems can now be enlarged with man.growfs.8; while + para revision=243246UFS filesystems can now be enlarged with man.growfs.8; while mounted read-write. This is especially useful for virtual machines, allowing the addition of more harddrive space without interruption of service./para - paraA state of the art FUSE implementation is now part of the + para revision=241519A state of the art FUSE implementation is now part of the base system. It allows the use of nearly all fusefs file systems/para ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259715 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 10:58:40 2013 New Revision: 259715 URL: http://svnweb.freebsd.org/changeset/base/259715 Log: Mention ZFS zio nop-write improvement. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:52:51 2013(r259714) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:58:40 2013(r259715) @@ -342,6 +342,14 @@ para revision=252140Support for L2ARC compression has been added to ZFS./para +para revision=243524The zio nop-write improvement from Illumos + was imported into os;. To reduce I/O, nop-write skips overwriting + data if the checksum (cryptographically secure) of new data + matches the checksum of existing data. It also saves space if + snapshots are in use. This improvement only works only on + datasets with enabled compression, disabled deduplication and + sha256 checksums./para + paraZFS will now compare the checksums of incoming writes to the checksum of the existing on-disk data and avoid issuing any write I/O for data that has not changed. This will reduce I/O ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259716 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 11:10:08 2013 New Revision: 259716 URL: http://svnweb.freebsd.org/changeset/base/259716 Log: Mention addition of vmx(4). Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 10:58:40 2013(r259715) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 11:10:08 2013(r259716) @@ -253,6 +253,10 @@ para arch=amd64,i386 role=mergedThe man.wpi.4; driver has been updated to include a number of stability fixes./para + para revision=254738The man.vmx.4; driver has been added. + man.vmx.4; is a VMware VMXNET3 ethernet driver ported from + OpenBSD./para + para revision=248925The man.cxgbe.4; driver has been updated to support 40G/10G Ethernet NICs based on Chelsio's Terminator 5 (T5) ASIC./para ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259717 - head/sys/dev/drm2
Author: dumbbell Date: Sun Dec 22 11:11:23 2013 New Revision: 259717 URL: http://svnweb.freebsd.org/changeset/base/259717 Log: drm: Lower priority of EDID checksum is invalid message The priority goes from error to debug. Connectors are polled every 10 seconds. Reading EDID is part of this polling. However, when an invalid EDID is returned, this error message is logged. When using Newcons for instance, having a kernel message every 10 seconds is getting annoying. Now that it's a debug message, it'll be logged only if hw.dri.debug is enabled. This fix console spamming for some users. Tested by:Larry Rosenman l...@lerctr.org Modified: head/sys/dev/drm2/drm_edid.c Modified: head/sys/dev/drm2/drm_edid.c == --- head/sys/dev/drm2/drm_edid.cSun Dec 22 11:10:08 2013 (r259716) +++ head/sys/dev/drm2/drm_edid.cSun Dec 22 11:11:23 2013 (r259717) @@ -171,7 +171,7 @@ drm_edid_block_valid(u8 *raw_edid) for (i = 0; i EDID_LENGTH; i++) csum += raw_edid[i]; if (csum) { - DRM_ERROR(EDID checksum is invalid, remainder is %d\n, csum); + DRM_DEBUG(EDID checksum is invalid, remainder is %d\n, csum); /* allow CEA to slide through, switches mangle this */ if (raw_edid[0] != 0x02) ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259718 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 11:41:26 2013 New Revision: 259718 URL: http://svnweb.freebsd.org/changeset/base/259718 Log: Mention virtio support. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 11:11:23 2013(r259717) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 11:41:26 2013(r259718) @@ -125,6 +125,14 @@ support. These features are on all Nehalem models and beyond (e.g. Nehalem and newer), but not on the lower-end Atom CPUs./para +para revision=227652man.virtio.4; support has been added. man.virtio.4; is the + name for the paravirtualization interface developed for the Linux KVM, but + since adopted to other virtual machine hypervisors (with the notable exception of Xen). + This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers + for disk IO (man.virtio_blk.4; and man.virtio_scsi.4;), network IO (man.vtnet.4;), + memory ballooning (man.virtio_balloon.4;), and PCI. + Tested with on Qemu/KVM, VirtualBox, and man.bhyve.4;./para + para arch=amd64The maximum amount of memory the os; kernel can address has been increased from 1TB to 4TB./para ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259719 - head/sys/netpfil/pf
Author: glebius Date: Sun Dec 22 12:10:36 2013 New Revision: 259719 URL: http://svnweb.freebsd.org/changeset/base/259719 Log: Fix fallout from r258479: in pf_free_src_node() the node must already be unlinked. Reported by: Konstantin Kukushkin dark rambler-co.ru Sponsored by: Nginx, Inc. Modified: head/sys/netpfil/pf/pf.c Modified: head/sys/netpfil/pf/pf.c == --- head/sys/netpfil/pf/pf.cSun Dec 22 11:41:26 2013(r259718) +++ head/sys/netpfil/pf/pf.cSun Dec 22 12:10:36 2013(r259719) @@ -713,7 +713,6 @@ pf_free_src_node(struct pf_src_node *sn) { KASSERT(sn-states == 0, (%s: %p has refs, __func__, sn)); - LIST_REMOVE(sn, entry); uma_zfree(V_pf_sources_z, sn); } ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259720 - head/gnu/lib/csu
Author: dim Date: Sun Dec 22 12:53:56 2013 New Revision: 259720 URL: http://svnweb.freebsd.org/changeset/base/259720 Log: For gnu/lib/csu, only use gcc-specific flags when compiling with gcc. MFC after:3 days Modified: head/gnu/lib/csu/Makefile Modified: head/gnu/lib/csu/Makefile == --- head/gnu/lib/csu/Makefile Sun Dec 22 12:10:36 2013(r259719) +++ head/gnu/lib/csu/Makefile Sun Dec 22 12:53:56 2013(r259720) @@ -15,10 +15,12 @@ OBJS= crtbegin.o crtend.o crtbeginT.o SOBJS= crtbeginS.o crtendS.o CSTD?= gnu89 CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3 -CFLAGS+= -finhibit-size-directive -fno-inline-functions \ - -fno-exceptions -fno-zero-initialized-in-bss \ - -fno-zero-initialized-in-bss -fno-toplevel-reorder \ - -fno-asynchronous-unwind-tables -fno-omit-frame-pointer +.if ${COMPILER_TYPE} == gcc +CFLAGS+= -finhibit-size-directive -fno-toplevel-reorder +.endif +CFLAGS+= -fno-inline-functions -fno-exceptions \ + -fno-zero-initialized-in-bss -fno-asynchronous-unwind-tables \ + -fno-omit-frame-pointer CFLAGS+= -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \ -I${CCDIR}/cc_tools CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG} ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259721 - stable/10/sys/cam/scsi
Author: mav Date: Sun Dec 22 13:02:34 2013 New Revision: 259721 URL: http://svnweb.freebsd.org/changeset/base/259721 Log: MFC r259108: When comparing device IDs, make sure that they have the same type (like NAA assigned) and identify the same entity (like device or port). Otherwise there can be false positives since at least some models of Seagate disks use same IDs for the whole device and one of its ports. Modified: stable/10/sys/cam/scsi/scsi_all.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/scsi/scsi_all.c == --- stable/10/sys/cam/scsi/scsi_all.c Sun Dec 22 12:53:56 2013 (r259720) +++ stable/10/sys/cam/scsi/scsi_all.c Sun Dec 22 13:02:34 2013 (r259721) @@ -6509,7 +6509,11 @@ scsi_devid_match(uint8_t *lhs, size_t lh while (rhs_id = rhs_last (rhs_id-identifier + rhs_id-length) = rhs_end) { - if (rhs_id-length == lhs_id-length + if ((rhs_id-id_type +(SVPD_ID_ASSOC_MASK | SVPD_ID_TYPE_MASK)) == + (lhs_id-id_type +(SVPD_ID_ASSOC_MASK | SVPD_ID_TYPE_MASK)) + rhs_id-length == lhs_id-length memcmp(rhs_id-identifier, lhs_id-identifier, rhs_id-length) == 0) return (0); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259722 - stable/9/sys/cam/scsi
Author: mav Date: Sun Dec 22 13:03:33 2013 New Revision: 259722 URL: http://svnweb.freebsd.org/changeset/base/259722 Log: MFC r259108: When comparing device IDs, make sure that they have the same type (like NAA assigned) and identify the same entity (like device or port). Otherwise there can be false positives since at least some models of Seagate disks use same IDs for the whole device and one of its ports. Modified: stable/9/sys/cam/scsi/scsi_all.c Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/sys/cam/scsi/scsi_all.c == --- stable/9/sys/cam/scsi/scsi_all.cSun Dec 22 13:02:34 2013 (r259721) +++ stable/9/sys/cam/scsi/scsi_all.cSun Dec 22 13:03:33 2013 (r259722) @@ -6509,7 +6509,11 @@ scsi_devid_match(uint8_t *lhs, size_t lh while (rhs_id = rhs_last (rhs_id-identifier + rhs_id-length) = rhs_end) { - if (rhs_id-length == lhs_id-length + if ((rhs_id-id_type +(SVPD_ID_ASSOC_MASK | SVPD_ID_TYPE_MASK)) == + (lhs_id-id_type +(SVPD_ID_ASSOC_MASK | SVPD_ID_TYPE_MASK)) + rhs_id-length == lhs_id-length memcmp(rhs_id-identifier, lhs_id-identifier, rhs_id-length) == 0) return (0); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259724 - head/contrib/file
Author: dim Date: Sun Dec 22 14:14:53 2013 New Revision: 259724 URL: http://svnweb.freebsd.org/changeset/base/259724 Log: Apply upstream commit 33312fd828e59c78ae4ee30fd70d0ca109748cf0 (by zoulasc) to contrib/file: don't write a char to a pointer. MFC after:3 days Modified: head/contrib/file/compress.c Modified: head/contrib/file/compress.c == --- head/contrib/file/compress.cSun Dec 22 14:13:00 2013 (r259723) +++ head/contrib/file/compress.cSun Dec 22 14:14:53 2013 (r259724) @@ -480,7 +480,7 @@ uncompressbuf(struct magic_set *ms, int #endif free(*newch); n = 0; - newch[0] = '\0'; + *newch = NULL; goto err; } else { n = r; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259727 - head/sys/dev/vt
Author: ray Date: Sun Dec 22 15:33:15 2013 New Revision: 259727 URL: http://svnweb.freebsd.org/changeset/base/259727 Log: Update names from newcons to vt(9). Sponsored by: The FreeBSD Foundation Modified: head/sys/dev/vt/vt_core.c Modified: head/sys/dev/vt/vt_core.c == --- head/sys/dev/vt/vt_core.c Sun Dec 22 14:57:36 2013(r259726) +++ head/sys/dev/vt/vt_core.c Sun Dec 22 15:33:15 2013(r259727) @@ -112,9 +112,9 @@ const struct terminal_class vt_termclass /* XXX while syscons is here. */ int sc_txtmouse_no_retrace_wait; -static SYSCTL_NODE(_kern, OID_AUTO, vt, CTLFLAG_RD, 0, Newcons parameters); +static SYSCTL_NODE(_kern, OID_AUTO, vt, CTLFLAG_RD, 0, vt(9) parameters); VT_SYSCTL_INT(enable_altgr, 1, Enable AltGr key (Do not assume R.Alt as Alt)); -VT_SYSCTL_INT(debug, 0, Newcons debug level); +VT_SYSCTL_INT(debug, 0, vt(9) debug level); VT_SYSCTL_INT(deadtimer, 15, Time to wait busy process in VT_PROCESS mode); VT_SYSCTL_INT(suspendswitch, 1, Switch to VT0 before suspend); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259728 - head/sys/arm/freescale/imx
Author: ray Date: Sun Dec 22 16:09:29 2013 New Revision: 259728 URL: http://svnweb.freebsd.org/changeset/base/259728 Log: Add Freescale i.MX515 vt(9) driver. Sponsored by: The FreeBSD Foundation Added: head/sys/arm/freescale/imx/imx51_ipuv3_fbd.c (contents, props changed) Modified: head/sys/arm/freescale/imx/files.imx51 Modified: head/sys/arm/freescale/imx/files.imx51 == --- head/sys/arm/freescale/imx/files.imx51 Sun Dec 22 15:33:15 2013 (r259727) +++ head/sys/arm/freescale/imx/files.imx51 Sun Dec 22 16:09:29 2013 (r259728) @@ -49,4 +49,5 @@ arm/freescale/imx/i2c.c optional fslii # IPU - Image Processing Unit (frame buffer also) arm/freescale/imx/imx51_ipuv3.coptional sc - +arm/freescale/imx/imx51_ipuv3_fbd.coptional vt +dev/vt/hw/fb/vt_early_fb.c optional vt Added: head/sys/arm/freescale/imx/imx51_ipuv3_fbd.c == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/freescale/imx/imx51_ipuv3_fbd.cSun Dec 22 16:09:29 2013(r259728) @@ -0,0 +1,345 @@ +/*- + * Copyright (c) 2012 Oleksandr Tymoshenko go...@freebsd.org + * Copyright (c) 2012, 2013 The FreeBSD Foundation + * All rights reserved. + * + * Portions of this software were developed by Oleksandr Rybalko + * under sponsorship from the FreeBSD Foundation. + * + * 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 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. + * + */ +#include sys/cdefs.h +__FBSDID($FreeBSD$); + +#include sys/param.h +#include sys/systm.h +#include sys/bio.h +#include sys/bus.h +#include sys/conf.h +#include sys/endian.h +#include sys/kernel.h +#include sys/kthread.h +#include sys/lock.h +#include sys/malloc.h +#include sys/module.h +#include sys/mutex.h +#include sys/queue.h +#include sys/resource.h +#include sys/rman.h +#include sys/time.h +#include sys/timetc.h +#include sys/fbio.h +#include sys/consio.h +#include sys/eventhandler.h + +#include sys/kdb.h + +#include machine/bus.h +#include machine/cpu.h +#include machine/cpufunc.h +#include machine/resource.h +#include machine/frame.h +#include machine/intr.h + +#include dev/fdt/fdt_common.h +#include dev/ofw/ofw_bus.h +#include dev/ofw/ofw_bus_subr.h + +#include dev/vt/vt.h +#include dev/vt/colors/vt_termcolors.h + +#include arm/freescale/imx/imx51_ccmvar.h + +#include arm/freescale/imx/imx51_ipuv3reg.h + +#include fb_if.h + +#defineIMX51_IPU_HSP_CLOCK 66500 + +struct ipu3sc_softc { + device_tdev; + device_tsc_fbd; /* fbd child */ + struct fb_info sc_info; + + bus_space_tag_t iot; + bus_space_handle_t ioh; + bus_space_handle_t cm_ioh; + bus_space_handle_t dp_ioh; + bus_space_handle_t di0_ioh; + bus_space_handle_t di1_ioh; + bus_space_handle_t dctmpl_ioh; + bus_space_handle_t dc_ioh; + bus_space_handle_t dmfc_ioh; + bus_space_handle_t idmac_ioh; + bus_space_handle_t cpmem_ioh; +}; + +static struct ipu3sc_softc *ipu3sc_softc; + +#defineIPUV3_READ(ipuv3, module, reg) \ + bus_space_read_4((ipuv3)-iot, (ipuv3)-module##_ioh, (reg)) +#defineIPUV3_WRITE(ipuv3, module, reg, val) \ + bus_space_write_4((ipuv3)-iot, (ipuv3)-module##_ioh, (reg), (val)) + +#defineCPMEM_CHANNEL_OFFSET(_c)((_c) * 0x40) +#defineCPMEM_WORD_OFFSET(_w) ((_w) * 0x20) +#defineCPMEM_DP_OFFSET(_d) ((_d)
svn commit: r259729 - head/release
Author: gjb Date: Sun Dec 22 16:12:47 2013 New Revision: 259729 URL: http://svnweb.freebsd.org/changeset/base/259729 Log: Bootstrap etcupdate(8) as part of the release build, similar to what is done for mergemaster(8). This allows etcupdate(8) to work out-of-box after the first upgrade of a system. Submitted by: jhb MFC after:3 days Sponsored by: The FreeBSD Foundation Modified: head/release/Makefile Modified: head/release/Makefile == --- head/release/Makefile Sun Dec 22 16:09:29 2013(r259728) +++ head/release/Makefile Sun Dec 22 16:12:47 2013(r259729) @@ -104,6 +104,8 @@ base.txz: # Set up mergemaster root database sh ${.CURDIR}/scripts/mm-mtree.sh -m ${WORLDDIR} -F \ TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET} -D ${.OBJDIR}/${DISTDIR}/base + etcupdate extract -B -M TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET} \ + -d ${.OBJDIR}/${DISTDIR}/base/var/db/etcupdate # Package all components cd ${WORLDDIR} ${IMAKE} packageworld DISTDIR=${.OBJDIR}/${DISTDIR} mv ${DISTDIR}/*.txz . ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
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.bi...
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 Modified: head/gnu/lib/csu/Makefile == --- head/gnu/lib/csu/Makefile Sun Dec 22 16:12:47 2013(r259729) +++ head/gnu/lib/csu/Makefile Sun Dec 22 17:51:33 2013(r259730) @@ -15,9 +15,7 @@ OBJS= crtbegin.o crtend.o crtbeginT.o SOBJS= crtbeginS.o crtendS.o CSTD?= gnu89 CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3 -.if ${COMPILER_TYPE} == gcc -CFLAGS+= -finhibit-size-directive -fno-toplevel-reorder -.endif +CFLAGS.gcc+= -finhibit-size-directive -fno-toplevel-reorder CFLAGS+= -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss -fno-asynchronous-unwind-tables \ -fno-omit-frame-pointer Modified: head/gnu/lib/libgcc/Makefile == --- head/gnu/lib/libgcc/MakefileSun Dec 22 16:12:47 2013 (r259729) +++ head/gnu/lib/libgcc/MakefileSun Dec 22 17:51:33 2013 (r259730) @@ -112,9 +112,7 @@ LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udi .if ${TARGET_CPUARCH} == arm # from config/arm/t-strongarm-elf CFLAGS+= -Dinhibit_libc -fno-inline -.if ${COMPILER_TYPE} == clang -CFLAGS+= -fheinous-gnu-extensions -.endif +CFLAGS.clang+= -fheinous-gnu-extensions LIB1ASMSRC = lib1funcs.asm LIB1ASMFUNCS = _dvmd_tls _bb_init_func Modified: head/gnu/lib/libstdc++/Makefile == --- head/gnu/lib/libstdc++/Makefile Sun Dec 22 16:12:47 2013 (r259729) +++ head/gnu/lib/libstdc++/Makefile Sun Dec 22 17:51:33 2013 (r259730) @@ -637,6 +637,4 @@ CLEANFILES+=${VERSION_MAP} # Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98. CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]} -.if ${COMPILER_TYPE} == clang -CXXFLAGS+= -stdlib=libstdc++ -.endif +CXXFLAGS.clang+= -stdlib=libstdc++ Modified: head/gnu/lib/libsupc++/Makefile == --- head/gnu/lib/libsupc++/Makefile Sun Dec 22 16:12:47 2013 (r259729) +++ head/gnu/lib/libsupc++/Makefile Sun Dec 22 17:51:33 2013 (r259730) @@ -57,6 +57,4 @@ VERSION_MAP= ${.CURDIR}/Version.map # Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98. CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]} -.if ${COMPILER_TYPE} == clang -CXXFLAGS+= -stdlib=libstdc++ -.endif +CXXFLAGS.clang+= -stdlib=libstdc++ Modified: head/lib/atf/libatf-c/tests/Makefile == --- head/lib/atf/libatf-c/tests/MakefileSun Dec 22 16:12:47 2013 (r259729) +++ head/lib/atf/libatf-c/tests/MakefileSun Dec 22 17:51:33 2013 (r259730) @@ -10,12 +10,10 @@ ATF=${.CURDIR:H:H:H:H}/contrib/atf CFLAGS+= -I${ATF} -.if ${COMPILER_TYPE} == clang # macros_test.c contains a double 'const const' which will be gone with # the import of atf-0.18. # TODO(jmmv): Remove this workaround once we do that update. -CFLAGS+= -Wno-duplicate-decl-specifier -.endif +CFLAGS.clang+= -Wno-duplicate-decl-specifier FILESDIR= ${TESTSDIR} FILES= macros_h_test.c Modified: head/share/mk/bsd.sys.mk == --- head/share/mk/bsd.sys.mkSun Dec 22 16:12:47 2013(r259729) +++ head/share/mk/bsd.sys.mkSun Dec 22 17:51:33 2013(r259730) @@ -114,12 +114,19 @@ CWARNFLAGS+= -Wno-format CWARNFLAGS+= -Wno-unknown-pragmas .endif # IGNORE_PRAGMA -.if ${COMPILER_TYPE} == clang !defined(EARLY_BUILD) +.if !defined(EARLY_BUILD) +.if ${COMPILER_TYPE} == clang CLANG_NO_IAS= -no-integrated-as CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ -mllvm -enable-load-pre=false -mllvm -simplifycfg-dup-ret CFLAGS+=-Qunused-arguments +CFLAGS+=
svn commit: r259732 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 19:11:06 2013 New Revision: 259732 URL: http://svnweb.freebsd.org/changeset/base/259732 Log: Improve section on carp(4) updates. Add some revision numbers. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 19:11:04 2013(r259731) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 19:11:06 2013(r259732) @@ -217,7 +217,7 @@ sect4 xml:id=mm titleMultimedia Support/title -paraSupport for version 2.0 of the USB Audio reference design +para revision=240609Support for version 2.0 of the USB Audio reference design has been added. New devices should support higher bandwidth, increased sampling frequency and wider dynamic range./para @@ -288,21 +288,25 @@ sect3 xml:id=net-proto titleNetwork Protocols/title - paraman.carp.4; has been rewritten to make addresses + para revision=228571man.carp.4; has been rewritten to make addresses more sane from the viewpoint of routing daemons such as quagga/zebra. It also brings support for a single redundant address on the subnet (carpdev), switching state with -ifconfig, better locking and using modern kernel -interfaces to allocate multicast memberships./para +man.ifconfig.8;, better locking and using modern kernel +interfaces to allocate multicast memberships. +Configuration of the CARP protocol via man.ifconfig.8; has changed, as well as format + of CARP events submitted to man.devd.8; has changed. See man.carp.4; + for more information. The arpbalance feature of man.carp.4; is currently + not supported anymore./para - paraThe man.pf.4; firewall now supports fine-grain locking + para revision=240233The man.pf.4; firewall now supports fine-grain locking and better utilization on multi-cpu machines resulting in significant improvements in performance./para - paraSupport for up to 65536 routing tables has been + para revision=250700Support for up to 65536 routing tables has been introduced./para - paraSupport for setting/matching differentiated services + para revision=248552Support for setting/matching differentiated services codepoints (DSCP) in IP header has been added to man.ipfw.8;./para ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259733 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 19:33:15 2013 New Revision: 259733 URL: http://svnweb.freebsd.org/changeset/base/259733 Log: Add a note for Microsoft Hyper-V. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 19:11:06 2013(r259732) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 19:33:15 2013(r259733) @@ -133,6 +133,12 @@ memory ballooning (man.virtio_balloon.4;), and PCI. Tested with on Qemu/KVM, VirtualBox, and man.bhyve.4;./para +para arch=amd64,i386 revision=255524A paravirtualized driver named hyperv which + which supports Microsoft Hyper-V has been imported and made + part of the amd64 GENERIC kernel. For i386, this driver is not part of + GENERIC, so literalhyperv_load=YES/literal must be added to + filename/boot/loader.conf/filename to load the driver./para + para arch=amd64The maximum amount of memory the os; kernel can address has been increased from 1TB to 4TB./para ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259734 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: pjd Date: Sun Dec 22 19:36:08 2013 New Revision: 259734 URL: http://svnweb.freebsd.org/changeset/base/259734 Log: MFC r259576: MFV r258923: 4188 assertion failed in dmu_tx_hold_free(): dn_datablkshift != 0 illumos/illumos-gate@bb411a08b05466bfe0c7095b6373bbc1587e259a Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c == --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Sun Dec 22 19:33:15 2013(r259733) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Sun Dec 22 19:36:08 2013(r259734) @@ -635,9 +635,16 @@ dmu_tx_hold_free(dmu_tx_t *tx, uint64_t uint64_t start = off shift; uint64_t end = (off + len) shift; - ASSERT(dn-dn_datablkshift != 0); ASSERT(dn-dn_indblkshift != 0); + /* +* dnode_reallocate() can result in an object with indirect +* blocks having an odd data block size. In this case, +* just check the single block. +*/ + if (dn-dn_datablkshift == 0) + start = end = 0; + zio = zio_root(tx-tx_pool-dp_spa, NULL, NULL, ZIO_FLAG_CANFAIL); for (uint64_t i = start; i = end; i++) { ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259735 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 19:38:51 2013 New Revision: 259735 URL: http://svnweb.freebsd.org/changeset/base/259735 Log: Group virtualization items in one section. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 19:36:08 2013(r259734) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 19:38:51 2013(r259735) @@ -120,25 +120,6 @@ sect2 xml:id=kernel titleKernel Changes/title -para arch=amd64 revision=245652The BSD Hypervisor, man.bhyve.8; is included - with os;. man.bhyve.8; requires Intel CPUs with VT-x and Extended Page Table (EPT) - support. These features are on all Nehalem models and beyond - (e.g. Nehalem and newer), but not on the lower-end Atom CPUs./para - -para revision=227652man.virtio.4; support has been added. man.virtio.4; is the - name for the paravirtualization interface developed for the Linux KVM, but - since adopted to other virtual machine hypervisors (with the notable exception of Xen). - This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers - for disk IO (man.virtio_blk.4; and man.virtio_scsi.4;), network IO (man.vtnet.4;), - memory ballooning (man.virtio_balloon.4;), and PCI. - Tested with on Qemu/KVM, VirtualBox, and man.bhyve.4;./para - -para arch=amd64,i386 revision=255524A paravirtualized driver named hyperv which - which supports Microsoft Hyper-V has been imported and made - part of the amd64 GENERIC kernel. For i386, this driver is not part of - GENERIC, so literalhyperv_load=YES/literal must be added to - filename/boot/loader.conf/filename to load the driver./para - para arch=amd64The maximum amount of memory the os; kernel can address has been increased from 1TB to 4TB./para @@ -191,6 +172,33 @@ scheduler is now the default process scheduler in filenameGENERIC/filename kernels./para +sect3 xml:id=kernel-virtualization + titleVirtualization support/title + para arch=amd64 revision=245652The BSD Hypervisor, man.bhyve.8; is included +with os;. man.bhyve.8; requires Intel CPUs with VT-x and Extended Page Table (EPT) +support. These features are on all Nehalem models and beyond +(e.g. Nehalem and newer), but not on the lower-end Atom CPUs./para + + para revision=227652man.virtio.4; support has been added. man.virtio.4; is the +name for the paravirtualization interface developed for the Linux KVM, but +since adopted to other virtual machine hypervisors (with the notable exception of Xen). +This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers +for disk IO (man.virtio_blk.4; and man.virtio_scsi.4;), network IO (man.vtnet.4;), +memory ballooning (man.virtio_balloon.4;), and PCI. +Tested with on Qemu/KVM, VirtualBox, and man.bhyve.4;./para + + para arch=amd64,i386 revision=255524A paravirtualized driver named hyperv which +which supports Microsoft Hyper-V has been imported and made +part of the amd64 GENERIC kernel. For i386, this driver is not part of +GENERIC, so literalhyperv_load=YES/literal must be added to +filename/boot/loader.conf/filename to load the driver./para + + para revision=254738The man.vmx.4; driver has been added. +man.vmx.4; is a VMware VMXNET3 ethernet driver ported from +OpenBSD./para + +/sect3 + sect3 xml:id=boot titleBoot Loader Changes/title @@ -267,10 +275,6 @@ para arch=amd64,i386 role=mergedThe man.wpi.4; driver has been updated to include a number of stability fixes./para - para revision=254738The man.vmx.4; driver has been added. - man.vmx.4; is a VMware VMXNET3 ethernet driver ported from - OpenBSD./para - para revision=248925The man.cxgbe.4; driver has been updated to support 40G/10G Ethernet NICs based on Chelsio's Terminator 5 (T5) ASIC./para ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259736 - head/sys/netpfil/pf
Author: dim Date: Sun Dec 22 19:47:22 2013 New Revision: 259736 URL: http://svnweb.freebsd.org/changeset/base/259736 Log: Fix incorrect header guard define in sys/netpfil/pf/pf.h, which snuck in in r257186. Found by clang 3.4. Modified: head/sys/netpfil/pf/pf.h Modified: head/sys/netpfil/pf/pf.h == --- head/sys/netpfil/pf/pf.hSun Dec 22 19:38:51 2013(r259735) +++ head/sys/netpfil/pf/pf.hSun Dec 22 19:47:22 2013(r259736) @@ -31,7 +31,7 @@ */ #ifndef_NET_PF_H_ -#define_NET_PFAR_H_ +#define_NET_PF_H_ #definePF_TCPS_PROXY_SRC ((TCP_NSTATES)+0) #definePF_TCPS_PROXY_DST ((TCP_NSTATES)+1) ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259737 - in head: sys/amd64/include sys/amd64/vmm usr.sbin/bhyve
Author: neel Date: Sun Dec 22 20:29:59 2013 New Revision: 259737 URL: http://svnweb.freebsd.org/changeset/base/259737 Log: Add a parameter to 'vcpu_set_state()' to enforce that the vcpu is in the IDLE state before the requested state transition. This guarantees that there is exactly one ioctl() operating on a vcpu at any point in time and prevents unintended state transitions. More details available here: http://lists.freebsd.org/pipermail/freebsd-virtualization/2013-December/001825.html Reviewed by: grehan Reported by: Markiyan Kushnir (markiyan.kushnir at gmail.com) MFC after:3 days Modified: head/sys/amd64/include/vmm.h head/sys/amd64/vmm/vmm.c head/sys/amd64/vmm/vmm_dev.c head/usr.sbin/bhyve/bhyverun.c Modified: head/sys/amd64/include/vmm.h == --- head/sys/amd64/include/vmm.hSun Dec 22 19:47:22 2013 (r259736) +++ head/sys/amd64/include/vmm.hSun Dec 22 20:29:59 2013 (r259737) @@ -146,7 +146,8 @@ enum vcpu_state { VCPU_SLEEPING, }; -int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state); +int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state, +bool from_idle); enum vcpu_state vcpu_get_state(struct vm *vm, int vcpu, int *hostcpu); static int __inline Modified: head/sys/amd64/vmm/vmm.c == --- head/sys/amd64/vmm/vmm.cSun Dec 22 19:47:22 2013(r259736) +++ head/sys/amd64/vmm/vmm.cSun Dec 22 20:29:59 2013(r259737) @@ -804,13 +804,27 @@ save_guest_fpustate(struct vcpu *vcpu) static VMM_STAT(VCPU_IDLE_TICKS, number of ticks vcpu was idle); static int -vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate) +vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate, +bool from_idle) { int error; vcpu_assert_locked(vcpu); /* +* State transitions from the vmmdev_ioctl() must always begin from +* the VCPU_IDLE state. This guarantees that there is only a single +* ioctl() operating on a vcpu at any point. +*/ + if (from_idle) { + while (vcpu-state != VCPU_IDLE) + msleep_spin(vcpu-state, vcpu-mtx, vmstat, hz); + } else { + KASSERT(vcpu-state != VCPU_IDLE, (invalid transition from + vcpu idle state)); + } + + /* * The following state transitions are allowed: * IDLE - FROZEN - IDLE * FROZEN - RUNNING - FROZEN @@ -830,12 +844,14 @@ vcpu_set_state_locked(struct vcpu *vcpu, break; } - if (error == 0) - vcpu-state = newstate; - else - error = EBUSY; + if (error) + return (EBUSY); - return (error); + vcpu-state = newstate; + if (newstate == VCPU_IDLE) + wakeup(vcpu-state); + + return (0); } static void @@ -843,7 +859,7 @@ vcpu_require_state(struct vm *vm, int vc { int error; - if ((error = vcpu_set_state(vm, vcpuid, newstate)) != 0) + if ((error = vcpu_set_state(vm, vcpuid, newstate, false)) != 0) panic(Error %d setting state to %d\n, error, newstate); } @@ -852,7 +868,7 @@ vcpu_require_state_locked(struct vcpu *v { int error; - if ((error = vcpu_set_state_locked(vcpu, newstate)) != 0) + if ((error = vcpu_set_state_locked(vcpu, newstate, false)) != 0) panic(Error %d setting state to %d, error, newstate); } @@ -1235,7 +1251,8 @@ vm_iommu_domain(struct vm *vm) } int -vcpu_set_state(struct vm *vm, int vcpuid, enum vcpu_state newstate) +vcpu_set_state(struct vm *vm, int vcpuid, enum vcpu_state newstate, +bool from_idle) { int error; struct vcpu *vcpu; @@ -1246,7 +1263,7 @@ vcpu_set_state(struct vm *vm, int vcpuid vcpu = vm-vcpu[vcpuid]; vcpu_lock(vcpu); - error = vcpu_set_state_locked(vcpu, newstate); + error = vcpu_set_state_locked(vcpu, newstate, from_idle); vcpu_unlock(vcpu); return (error); Modified: head/sys/amd64/vmm/vmm_dev.c == --- head/sys/amd64/vmm/vmm_dev.cSun Dec 22 19:47:22 2013 (r259736) +++ head/sys/amd64/vmm/vmm_dev.cSun Dec 22 20:29:59 2013 (r259737) @@ -197,7 +197,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long c goto done; } - error = vcpu_set_state(sc-vm, vcpu, VCPU_FROZEN); + error = vcpu_set_state(sc-vm, vcpu, VCPU_FROZEN, true); if (error) goto done; @@ -214,14 +214,14 @@ vmmdev_ioctl(struct cdev *cdev, u_long c */ error = 0; for (vcpu = 0; vcpu VM_MAXCPU; vcpu++) { -
svn commit: r259738 - releng/10.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: pjd Date: Sun Dec 22 20:31:40 2013 New Revision: 259738 URL: http://svnweb.freebsd.org/changeset/base/259738 Log: MFC r259734: MFV r258923: 4188 assertion failed in dmu_tx_hold_free(): dn_datablkshift != 0 illumos/illumos-gate@bb411a08b05466bfe0c7095b6373bbc1587e259a Approved by: re (gjb) Modified: releng/10.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c == --- releng/10.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Sun Dec 22 20:29:59 2013(r259737) +++ releng/10.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Sun Dec 22 20:31:40 2013(r259738) @@ -635,9 +635,16 @@ dmu_tx_hold_free(dmu_tx_t *tx, uint64_t uint64_t start = off shift; uint64_t end = (off + len) shift; - ASSERT(dn-dn_datablkshift != 0); ASSERT(dn-dn_indblkshift != 0); + /* +* dnode_reallocate() can result in an object with indirect +* blocks having an odd data block size. In this case, +* just check the single block. +*/ + if (dn-dn_datablkshift == 0) + start = end = 0; + zio = zio_root(tx-tx_pool-dp_spa, NULL, NULL, ZIO_FLAG_CANFAIL); for (uint64_t i = start; i = end; i++) { ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259739 - head/sys/arm/ti/am335x
Author: ian Date: Sun Dec 22 20:40:56 2013 New Revision: 259739 URL: http://svnweb.freebsd.org/changeset/base/259739 Log: Shorten the DMTIMER_ prefix used for register names to DMT_. This is in preparation for adding more complete register defintions, some of which have fairly long names. Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c == --- head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 20:31:40 2013 (r259738) +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 20:40:56 2013 (r259739) @@ -53,23 +53,23 @@ __FBSDID($FreeBSD$); #define AM335X_NUM_TIMERS 8 -#define DMTIMER_TIDR 0x00 /* Identification Register */ -#define DMTIMER_TIOCP_CFG 0x10 /* Timer OCP Configuration Reg */ -#define DMTIMER_IQR_EOI0x20 /* Timer IRQ End-Of-Interrupt Reg */ -#define DMTIMER_IRQSTATUS_RAW 0x24 /* Timer IRQSTATUS Raw Reg */ -#define DMTIMER_IRQSTATUS 0x28 /* Timer IRQSTATUS Reg */ -#define DMTIMER_IRQENABLE_SET 0x2c /* Timer IRQSTATUS Set Reg */ -#define DMTIMER_IRQENABLE_CLR 0x30 /* Timer IRQSTATUS Clear Reg */ -#define DMTIMER_IRQWAKEEN 0x34 /* Timer IRQ Wakeup Enable Reg */ -#define DMTIMER_TCLR 0x38 /* Timer Control Register */ -#define DMTIMER_TCRR 0x3C /* Timer Counter Register */ -#define DMTIMER_TLDR 0x40 /* Timer Load Reg */ -#define DMTIMER_TTGR 0x44 /* Timer Trigger Reg */ -#define DMTIMER_TWPS 0x48 /* Timer Write Posted Status Reg */ -#define DMTIMER_TMAR 0x4C /* Timer Match Reg */ -#define DMTIMER_TCAR1 0x50 /* Timer Capture Reg */ -#define DMTIMER_TSICR 0x54 /* Timer Synchr. Interface Control Reg */ -#define DMTIMER_TCAR2 0x48 /* Timer Capture Reg */ +#defineDMT_TIDR0x00 /* Identification Register */ +#defineDMT_TIOCP_CFG 0x10 /* Timer OCP Configuration Reg */ +#defineDMT_IQR_EOI 0x20 /* Timer IRQ End-Of-Interrupt Reg */ +#defineDMT_IRQSTATUS_RAW 0x24 /* Timer IRQSTATUS Raw Reg */ +#defineDMT_IRQSTATUS 0x28 /* Timer IRQSTATUS Reg */ +#defineDMT_IRQENABLE_SET 0x2c /* Timer IRQSTATUS Set Reg */ +#defineDMT_IRQENABLE_CLR 0x30 /* Timer IRQSTATUS Clear Reg */ +#defineDMT_IRQWAKEEN 0x34 /* Timer IRQ Wakeup Enable Reg */ +#defineDMT_TCLR0x38 /* Timer Control Register */ +#defineDMT_TCRR0x3C /* Timer Counter Register */ +#defineDMT_TLDR0x40 /* Timer Load Reg */ +#defineDMT_TTGR0x44 /* Timer Trigger Reg */ +#defineDMT_TWPS0x48 /* Timer Write Posted Status Reg */ +#defineDMT_TMAR0x4C /* Timer Match Reg */ +#defineDMT_TCAR1 0x50 /* Timer Capture Reg */ +#defineDMT_TSICR 0x54 /* Timer Synchr. Interface Control Reg */ +#defineDMT_TCAR2 0x48 /* Timer Capture Reg */ struct am335x_dmtimer_softc { @@ -138,7 +138,7 @@ static struct timecounter am335x_dmtimer static unsigned am335x_dmtimer_tc_get_timecount(struct timecounter *tc) { - return am335x_dmtimer_tc_read_4(DMTIMER_TCRR); + return am335x_dmtimer_tc_read_4(DMT_TCRR); } static int @@ -162,23 +162,23 @@ am335x_dmtimer_start(struct eventtimer * count = load; /* Reset Timer */ - am335x_dmtimer_et_write_4(DMTIMER_TSICR, 2); + am335x_dmtimer_et_write_4(DMT_TSICR, 2); /* Wait for reset to complete */ - while (am335x_dmtimer_et_read_4(DMTIMER_TIOCP_CFG) 1); + while (am335x_dmtimer_et_read_4(DMT_TIOCP_CFG) 1); /* set load value */ - am335x_dmtimer_et_write_4(DMTIMER_TLDR, 0xFFFE - load); + am335x_dmtimer_et_write_4(DMT_TLDR, 0xFFFE - load); /* set counter value */ - am335x_dmtimer_et_write_4(DMTIMER_TCRR, 0xFFFE - count); + am335x_dmtimer_et_write_4(DMT_TCRR, 0xFFFE - count); /* enable overflow interrupt */ - am335x_dmtimer_et_write_4(DMTIMER_IRQENABLE_SET, 2); + am335x_dmtimer_et_write_4(DMT_IRQENABLE_SET, 2); /* start timer(ST) */ tclr |= 1; - am335x_dmtimer_et_write_4(DMTIMER_TCLR, tclr); + am335x_dmtimer_et_write_4(DMT_TCLR, tclr); return (0); } @@ -189,10 +189,10 @@ am335x_dmtimer_stop(struct eventtimer *e struct am335x_dmtimer *tmr = (struct am335x_dmtimer *)et-et_priv; /* Disable all interrupts */ - am335x_dmtimer_et_write_4(DMTIMER_IRQENABLE_CLR, 7); + am335x_dmtimer_et_write_4(DMT_IRQENABLE_CLR, 7); /* Stop Timer */ - am335x_dmtimer_et_write_4(DMTIMER_TCLR, 0); + am335x_dmtimer_et_write_4(DMT_TCLR, 0); return (0); } @@ -203,7 +203,7 @@
svn commit: r259740 - head/usr.bin/sort
Author: dim Date: Sun Dec 22 20:46:31 2013 New Revision: 259740 URL: http://svnweb.freebsd.org/changeset/base/259740 Log: In usr.bin/sort/radixsort.c, pop_ls_mt() is only referenced if SORT_THREADS is defined, so make the whole function conditional, instead of just the pthread calls in it. MFC after:3 days Modified: head/usr.bin/sort/radixsort.c Modified: head/usr.bin/sort/radixsort.c == --- head/usr.bin/sort/radixsort.c Sun Dec 22 20:40:56 2013 (r259739) +++ head/usr.bin/sort/radixsort.c Sun Dec 22 20:46:31 2013 (r259740) @@ -171,6 +171,8 @@ pop_ls_st(void) return (sl); } +#if defined(SORT_THREADS) + /* * Pop sort level from the stack (multi-threaded style) */ @@ -180,9 +182,7 @@ pop_ls_mt(void) struct level_stack *saved_ls; struct sort_level *sl; -#if defined(SORT_THREADS) pthread_mutex_lock(g_ls_mutex); -#endif if (g_ls) { sl = g_ls-sl; @@ -193,15 +193,15 @@ pop_ls_mt(void) saved_ls = NULL; } -#if defined(SORT_THREADS) pthread_mutex_unlock(g_ls_mutex); -#endif sort_free(saved_ls); return (sl); } +#endif /* defined(SORT_THREADS) */ + static void add_to_sublevel(struct sort_level *sl, struct sort_list_item *item, size_t indx) { ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259741 - stable/10/sys/dev/pci
Author: dumbbell Date: Sun Dec 22 21:09:43 2013 New Revision: 259741 URL: http://svnweb.freebsd.org/changeset/base/259741 Log: MFC r259679: vga_pci: Improve boot display detection The previous code was checking the VGA Enable bit on the video card's parent PCI-to-PCI bridge only. This didn't work for the case where the video card is attached to the root PCI bus (ie. the card has no parent PCI-to-PCI bridge). Now, the new code: 1. checks the VGA Enable bit on the parent bridge only if it's a PCI-to-PCI bridge; 2. always checks the I/O and Memory address space decoding bits on the video card itself. However, vendor-specific bits are not used. This fixes the use of many integrated Radeon cards: without this patch, we fail to detect them as the boot display and, when radeonkms looks for the Video BIOS, it skips the shadow copy made by the System BIOS. It then fails to fully initialize the card, because the shadow copy is the only way to read the Video BIOS in these situations. A workaround was to force the boot display selection using the hw.pci.default_vgapci_unit tunable. A previous version of this patch added a new function doing the checks. Now, the vga_pci_is_boot_display() function is used to perform the checks (only until the boot display is found) and return if the given device is the boot display or not. Furthermore, vga_pci_attach() logs Boot video device if the card being attached it the Chosen One: vgapci0: VGA-compatible display [...] vgapci0: Boot video device Reviewed by: kib@, jhb@ (both a previous version) Tested by:lunatic_ (#freebsd-xorg, integrated Radeon card, xmj (#freebsd-xorg, i915+NVIDIA cards) Modified: stable/10/sys/dev/pci/vga_pci.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/pci/vga_pci.c == --- stable/10/sys/dev/pci/vga_pci.c Sun Dec 22 20:46:31 2013 (r259740) +++ stable/10/sys/dev/pci/vga_pci.c Sun Dec 22 21:09:43 2013 (r259741) @@ -81,16 +81,58 @@ SYSCTL_INT(_hw_pci, OID_AUTO, default_vg int vga_pci_is_boot_display(device_t dev) { + int unit; + device_t pcib; + uint16_t config; + + /* Check that the given device is a video card */ + if ((pci_get_class(dev) != PCIC_DISPLAY + (pci_get_class(dev) != PCIC_OLD || +pci_get_subclass(dev) != PCIS_OLD_VGA))) + return (0); + + unit = device_get_unit(dev); + + if (vga_pci_default_unit = 0) { + /* +* The boot display device was determined by a previous +* call to this function, or the user forced it using +* the hw.pci.default_vgapci_unit tunable. +*/ + return (vga_pci_default_unit == unit); + } /* -* Return true if the given device is the default display used -* at boot time. +* The primary video card used as a boot display must have the +* I/O and Memory Address Space Decoding bits set in its +* Command register. +* +* Furthermore, if the card is attached to a bridge, instead of +* the root PCI bus, the bridge must have the VGA Enable bit +* set in its Control register. */ - return ( - (pci_get_class(dev) == PCIC_DISPLAY || -(pci_get_class(dev) == PCIC_OLD - pci_get_subclass(dev) == PCIS_OLD_VGA)) - device_get_unit(dev) == vga_pci_default_unit); + + pcib = device_get_parent(device_get_parent(dev)); + if (device_get_devclass(device_get_parent(pcib)) == + devclass_find(pci)) { + /* +* The parent bridge is a PCI-to-PCI bridge: check the +* value of the VGA Enable bit. +*/ + config = pci_read_config(pcib, PCIR_BRIDGECTL_1, 2); + if ((config PCIB_BCR_VGA_ENABLE) == 0) + return (0); + } + + config = pci_read_config(dev, PCIR_COMMAND, 2); + if ((config (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN)) == 0) + return (0); + + /* This video card is the boot display: record its unit number. */ + vga_pci_default_unit = unit; + device_set_flags(dev, 1); + + return (1); } void * @@ -159,9 +201,6 @@ vga_pci_unmap_bios(device_t dev, void *b static int vga_pci_probe(device_t dev) { - device_t bdev; - int unit; - uint16_t bctl; switch (pci_get_class(dev)) { case PCIC_DISPLAY: @@ -175,13 +214,7 @@ vga_pci_probe(device_t dev) } /* Probe default display. */ - unit = device_get_unit(dev); - bdev = device_get_parent(device_get_parent(dev)); - bctl = pci_read_config(bdev, PCIR_BRIDGECTL_1, 2); - if
svn commit: r259742 - in stable/10/sys/dev/drm2: radeon ttm
Author: dumbbell Date: Sun Dec 22 21:18:21 2013 New Revision: 259742 URL: http://svnweb.freebsd.org/changeset/base/259742 Log: MFC r259684: drm/ttm, drm/radeon: Replace EINTR/ERESTART by ERESTARTSYS... ... for msleep/cv_*wait() return values, where wait_event*() is used on Linux. ERESTARTSYS is the return code expected by callers when the operation was interrupted. For instance, this is the case of radeon_cs_ioctl() (radeon_cs.c): if an error occurs, and the code isn't ERESTARTSYS (eg. EINTR), it logs an error. Note that ERESTARTSYS is defined as ERESTART, but this keeps callers' code close to Linux. Submitted by: avg@ (previous version) Modified: stable/10/sys/dev/drm2/radeon/radeon_fence.c stable/10/sys/dev/drm2/radeon/radeon_sa.c stable/10/sys/dev/drm2/ttm/ttm_bo.c stable/10/sys/dev/drm2/ttm/ttm_lock.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/drm2/radeon/radeon_fence.c == --- stable/10/sys/dev/drm2/radeon/radeon_fence.cSun Dec 22 21:09:43 2013(r259741) +++ stable/10/sys/dev/drm2/radeon/radeon_fence.cSun Dec 22 21:18:21 2013(r259742) @@ -321,6 +321,8 @@ static int radeon_fence_wait_seq(struct rdev-fence_queue_mtx, timeout); } + if (r == EINTR) + r = ERESTARTSYS; if (r != 0) { if (r == EWOULDBLOCK) { signaled = @@ -334,7 +336,7 @@ static int radeon_fence_wait_seq(struct mtx_unlock(rdev-fence_queue_mtx); } radeon_irq_kms_sw_irq_put(rdev, ring); - if (unlikely(r == EINTR || r == ERESTART)) { + if (unlikely(r == ERESTARTSYS)) { return -r; } CTR2(KTR_DRM, radeon fence: wait end (ring=%d, seq=%d), @@ -514,6 +516,8 @@ static int radeon_fence_wait_any_seq(str rdev-fence_queue_mtx, timeout); } + if (r == EINTR) + r = ERESTARTSYS; if (r != 0) { if (r == EWOULDBLOCK) { signaled = @@ -531,7 +535,7 @@ static int radeon_fence_wait_any_seq(str radeon_irq_kms_sw_irq_put(rdev, i); } } - if (unlikely(r == EINTR || r == ERESTART)) { + if (unlikely(r == ERESTARTSYS)) { return -r; } CTR2(KTR_DRM, radeon fence: wait end (ring=%d, target_seq=%d), Modified: stable/10/sys/dev/drm2/radeon/radeon_sa.c == --- stable/10/sys/dev/drm2/radeon/radeon_sa.c Sun Dec 22 21:09:43 2013 (r259741) +++ stable/10/sys/dev/drm2/radeon/radeon_sa.c Sun Dec 22 21:18:21 2013 (r259742) @@ -363,6 +363,8 @@ int radeon_sa_bo_new(struct radeon_devic while (!radeon_sa_event(sa_manager, size, align)) { r = -cv_wait_sig(sa_manager-wq, sa_manager-wq_lock); + if (r == -EINTR) + r = -ERESTARTSYS; if (r != 0) break; } Modified: stable/10/sys/dev/drm2/ttm/ttm_bo.c == --- stable/10/sys/dev/drm2/ttm/ttm_bo.c Sun Dec 22 21:09:43 2013 (r259741) +++ stable/10/sys/dev/drm2/ttm/ttm_bo.c Sun Dec 22 21:18:21 2013 (r259742) @@ -147,6 +147,8 @@ ttm_bo_wait_unreserved_locked(struct ttm } while (ttm_bo_is_reserved(bo)) { ret = -msleep(bo, bo-glob-lru_lock, flags, wmsg, 0); + if (ret == -EINTR) + ret = -ERESTARTSYS; if (ret != 0) break; } Modified: stable/10/sys/dev/drm2/ttm/ttm_lock.c == --- stable/10/sys/dev/drm2/ttm/ttm_lock.c Sun Dec 22 21:09:43 2013 (r259741) +++ stable/10/sys/dev/drm2/ttm/ttm_lock.c Sun Dec 22 21:18:21 2013 (r259742) @@ -107,6 +107,8 @@ ttm_read_lock(struct ttm_lock *lock, boo mtx_lock(lock-lock); while (!__ttm_read_lock(lock)) { ret = msleep(lock, lock-lock, flags, wmsg, 0); + if (ret == EINTR) + ret = ERESTARTSYS; if (ret != 0)
svn commit: r259743 - head/sys/arm/ti/am335x
Author: ian Date: Sun Dec 22 21:35:18 2013 New Revision: 259743 URL: http://svnweb.freebsd.org/changeset/base/259743 Log: Map out all the timer-related registers, and define named constants for the bits within the registers. Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c == --- head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 21:18:21 2013 (r259742) +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 21:35:18 2013 (r259743) @@ -51,26 +51,49 @@ __FBSDID($FreeBSD$); #include arm/ti/ti_prcm.h -#define AM335X_NUM_TIMERS 8 +#defineAM335X_NUM_TIMERS 8 -#defineDMT_TIDR0x00 /* Identification Register */ -#defineDMT_TIOCP_CFG 0x10 /* Timer OCP Configuration Reg */ -#defineDMT_IQR_EOI 0x20 /* Timer IRQ End-Of-Interrupt Reg */ -#defineDMT_IRQSTATUS_RAW 0x24 /* Timer IRQSTATUS Raw Reg */ -#defineDMT_IRQSTATUS 0x28 /* Timer IRQSTATUS Reg */ -#defineDMT_IRQENABLE_SET 0x2c /* Timer IRQSTATUS Set Reg */ -#defineDMT_IRQENABLE_CLR 0x30 /* Timer IRQSTATUS Clear Reg */ -#defineDMT_IRQWAKEEN 0x34 /* Timer IRQ Wakeup Enable Reg */ -#defineDMT_TCLR0x38 /* Timer Control Register */ -#defineDMT_TCRR0x3C /* Timer Counter Register */ -#defineDMT_TLDR0x40 /* Timer Load Reg */ -#defineDMT_TTGR0x44 /* Timer Trigger Reg */ -#defineDMT_TWPS0x48 /* Timer Write Posted Status Reg */ -#defineDMT_TMAR0x4C /* Timer Match Reg */ -#defineDMT_TCAR1 0x50 /* Timer Capture Reg */ -#defineDMT_TSICR 0x54 /* Timer Synchr. Interface Control Reg */ -#defineDMT_TCAR2 0x48 /* Timer Capture Reg */ - +#defineDMT_TIDR0x00/* Identification Register */ +#defineDMT_TIOCP_CFG 0x10/* OCP Configuration Reg */ +#define DMT_TIOCP_RESET (1 0) /* TIOCP perform soft reset */ +#defineDMT_IQR_EOI 0x20/* IRQ End-Of-Interrupt Reg */ +#defineDMT_IRQSTATUS_RAW 0x24/* IRQSTATUS Raw Reg */ +#defineDMT_IRQSTATUS 0x28/* IRQSTATUS Reg */ +#defineDMT_IRQENABLE_SET 0x2c/* IRQSTATUS Set Reg */ +#defineDMT_IRQENABLE_CLR 0x30/* IRQSTATUS Clear Reg */ +#defineDMT_IRQWAKEEN 0x34/* IRQ Wakeup Enable Reg */ +#define DMT_IRQ_TCAR(1 0) /* IRQ: Capture */ +#define DMT_IRQ_OVF (1 1) /* IRQ: Overflow */ +#define DMT_IRQ_MAT (1 2) /* IRQ: Match */ +#define DMT_IRQ_MASK(DMT_IRQ_TCAR | DMT_IRQ_OVF | DMT_IRQ_MAT) +#defineDMT_TCLR0x38/* Control Register */ +#define DMT_TCLR_START (1 0) /* Start timer */ +#define DMT_TCLR_AUTOLOAD (1 1) /* Auto-reload on overflow */ +#define DMT_TCLR_PRES_MASK (7 2) /* Prescaler mask */ +#define DMT_TCLR_PRES_ENABLE(1 5) /* Prescaler enable */ +#define DMT_TCLR_COMP_ENABLE(1 6) /* Compare enable */ +#define DMT_TCLR_PWM_HIGH (1 7) /* PWM default output high */ +#define DMT_TCLR_CAPTRAN_MASK (3 8) /* Capture transition mask */ +#define DMT_TCLR_CAPTRAN_NONE (0 8) /* Capture: none */ +#define DMT_TCLR_CAPTRAN_LOHI (1 8) /* Capture lo-hi transition */ +#define DMT_TCLR_CAPTRAN_HILO (2 8) /* Capture hi-lo transition */ +#define DMT_TCLR_CAPTRAN_BOTH (3 8) /* Capture both transitions */ +#define DMT_TCLR_TRGMODE_MASK (3 10) /* Trigger output mode mask */ +#define DMT_TCLR_TRGMODE_NONE (0 10) /* Trigger off */ +#define DMT_TCLR_TRGMODE_OVFL (1 10) /* Trigger on overflow */ +#define DMT_TCLR_TRGMODE_BOTH (2 10) /* Trigger on match + ovflow */ +#define DMT_TCLR_PWM_PTOGGLE(1 12) /* PWM toggles */ +#define DMT_TCLR_CAP_MODE_2ND (1 13) /* Capture second event mode */ +#define DMT_TCLR_GPO_CFG(1 14) /* (no descr in datasheet) */ +#defineDMT_TCRR0x3C/* Counter Register */ +#defineDMT_TLDR0x40/* Load Reg */ +#defineDMT_TTGR0x44/* Trigger Reg */ +#defineDMT_TWPS0x48/* Write Posted Status Reg */ +#defineDMT_TMAR0x4C/* Match Reg */
svn commit: r259744 - head/sys/arm/ti/am335x
Author: ian Date: Sun Dec 22 21:44:32 2013 New Revision: 259744 URL: http://svnweb.freebsd.org/changeset/base/259744 Log: A variety of cleanups... - Use named constants for register bits, instead of mystery numebrs scattered around in the code. - Use inline functions for bus space read/write, instead of macros that rely on global variables. - Move the timecounter struct into the softc instead of treating it as a global variable. Backlink from it to the softc. - This leaves a pointer to the softc as the only static/global variable and it's now used only by DELAY(). Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c == --- head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 21:35:18 2013 (r259743) +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 21:44:32 2013 (r259744) @@ -99,13 +99,16 @@ struct am335x_dmtimer_softc { struct resource * tmr_mem_res[AM335X_NUM_TIMERS]; struct resource * tmr_irq_res[AM335X_NUM_TIMERS]; uint32_tsysclk_freq; - struct am335x_dmtimer { - bus_space_tag_t bst; - bus_space_handle_t bsh; - struct eventtimer et; - } t[AM335X_NUM_TIMERS]; + uint32_ttc_num; /* Which timer number is tc. */ + uint32_tet_num; /* Which timer number is et. */ + struct resource * tc_memres; /* Resources for tc timer. */ + struct resource * et_memres; /* Resources for et timer. */ + struct timecounter tc; + struct eventtimer et; }; +static struct am335x_dmtimer_softc *am335x_dmtimer_sc; + static struct resource_spec am335x_dmtimer_mem_spec[] = { { SYS_RES_MEMORY, 0, RF_ACTIVE }, { SYS_RES_MEMORY, 1, RF_ACTIVE }, @@ -129,51 +132,58 @@ static struct resource_spec am335x_dmtim { -1, 0, 0 } }; -static struct am335x_dmtimer *am335x_dmtimer_tc_tmr = NULL; +static inline uint32_t +am335x_dmtimer_tc_read_4(struct am335x_dmtimer_softc *sc, uint32_t reg) +{ -/* Read/Write macros for Timer used as timecounter */ -#define am335x_dmtimer_tc_read_4(reg) \ - bus_space_read_4(am335x_dmtimer_tc_tmr-bst, \ - am335x_dmtimer_tc_tmr-bsh, reg) - -#define am335x_dmtimer_tc_write_4(reg, val)\ - bus_space_write_4(am335x_dmtimer_tc_tmr-bst, \ - am335x_dmtimer_tc_tmr-bsh, reg, val) - -/* Read/Write macros for Timer used as eventtimer */ -#define am335x_dmtimer_et_read_4(reg) \ - bus_space_read_4(tmr-bst, tmr-bsh, reg) - -#define am335x_dmtimer_et_write_4(reg, val)\ - bus_space_write_4(tmr-bst, tmr-bsh, reg, val) - -static unsigned am335x_dmtimer_tc_get_timecount(struct timecounter *); - -static struct timecounter am335x_dmtimer_tc = { - .tc_name = AM335x Timecounter, - .tc_get_timecount = am335x_dmtimer_tc_get_timecount, - .tc_poll_pps = NULL, - .tc_counter_mask = ~0u, - .tc_frequency = 0, - .tc_quality= 1000, -}; + return (bus_read_4(sc-tc_memres, reg)); +} + +static inline void +am335x_dmtimer_tc_write_4(struct am335x_dmtimer_softc *sc, uint32_t reg, +uint32_t val) +{ + + bus_write_4(sc-tc_memres, reg, val); +} + +static inline uint32_t +am335x_dmtimer_et_read_4(struct am335x_dmtimer_softc *sc, uint32_t reg) +{ + + return (bus_read_4(sc-et_memres, reg)); +} + +static inline void +am335x_dmtimer_et_write_4(struct am335x_dmtimer_softc *sc, uint32_t reg, +uint32_t val) +{ + + bus_write_4(sc-et_memres, reg, val); +} static unsigned am335x_dmtimer_tc_get_timecount(struct timecounter *tc) { - return am335x_dmtimer_tc_read_4(DMT_TCRR); + struct am335x_dmtimer_softc *sc; + + sc = tc-tc_priv; + + return (am335x_dmtimer_tc_read_4(sc, DMT_TCRR)); } static int am335x_dmtimer_start(struct eventtimer *et, sbintime_t first, sbintime_t period) { - struct am335x_dmtimer *tmr = (struct am335x_dmtimer *)et-et_priv; - uint32_t load, count; - uint32_t tclr = 0; + struct am335x_dmtimer_softc *sc; + uint32_t count, load, tclr; + + sc = et-et_priv; + tclr = 0; if (period != 0) { load = ((uint32_t)et-et_frequency * period) 32; - tclr |= 2; /* autoreload bit */ + tclr |= DMT_TCLR_AUTOLOAD; panic(periodic timer not implemented\n); } else { load = 0; @@ -185,23 +195,24 @@ am335x_dmtimer_start(struct eventtimer * count = load; /* Reset Timer */ - am335x_dmtimer_et_write_4(DMT_TSICR, 2); + am335x_dmtimer_et_write_4(sc, DMT_TSICR, DMT_TSICR_RESET); /* Wait for reset to complete */ - while
svn commit: r259745 - stable/10/sys/dev/drm2
Author: dumbbell Date: Sun Dec 22 21:53:08 2013 New Revision: 259745 URL: http://svnweb.freebsd.org/changeset/base/259745 Log: MFC r259717: drm: Lower priority of EDID checksum is invalid message The priority goes from error to debug. Connectors are polled every 10 seconds. Reading EDID is part of this polling. However, when an invalid EDID is returned, this error message is logged. When using Newcons for instance, having a kernel message every 10 seconds is getting annoying. Now that it's a debug message, it'll be logged only if hw.dri.debug is enabled. This fix console spamming for some users. Tested by:Larry Rosenman l...@lerctr.org Modified: stable/10/sys/dev/drm2/drm_edid.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/drm2/drm_edid.c == --- stable/10/sys/dev/drm2/drm_edid.c Sun Dec 22 21:44:32 2013 (r259744) +++ stable/10/sys/dev/drm2/drm_edid.c Sun Dec 22 21:53:08 2013 (r259745) @@ -171,7 +171,7 @@ drm_edid_block_valid(u8 *raw_edid) for (i = 0; i EDID_LENGTH; i++) csum += raw_edid[i]; if (csum) { - DRM_ERROR(EDID checksum is invalid, remainder is %d\n, csum); + DRM_DEBUG(EDID checksum is invalid, remainder is %d\n, csum); /* allow CEA to slide through, switches mangle this */ if (raw_edid[0] != 0x02) ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259746 - releng/10.0/sys/arm/at91
Author: imp Date: Sun Dec 22 22:20:17 2013 New Revision: 259746 URL: http://svnweb.freebsd.org/changeset/base/259746 Log: Merge from stable/10 r259380: MFC r259038, r259039: Bump the maximum VM space from 3 * memory size to a fixed 256MB. That's all we have room for since we map the hardware registers starting at 0xd000. This allows my 64MB AT91SAM9G20 to boot again after the unmmaped I/O changes were MFC'd at r251897. Other subplatforms may need similar treatment. Although not strictly required to boot a 64MB board, bump vm_max_virtual_address to be KERNVIRTADDR + 256MB. This allows some future shock protection since the KVA requirements have gone up since the unmapped changes have gone in, as well as preventing us from overlapping with the hardware devices, which we map at 0xd000, which we'd hit with anything more than 85MB... Approved by: re@ (gjb@) Modified: releng/10.0/sys/arm/at91/at91_machdep.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/sys/arm/at91/at91_machdep.c == --- releng/10.0/sys/arm/at91/at91_machdep.c Sun Dec 22 21:53:08 2013 (r259745) +++ releng/10.0/sys/arm/at91/at91_machdep.c Sun Dec 22 22:20:17 2013 (r259746) @@ -631,7 +631,8 @@ initarm(struct arm_boot_params *abp) pmap_curmaxkvaddr = afterkern + L1_S_SIZE * (KERNEL_PT_KERN_NUM - 1); arm_dump_avail_init(memsize, sizeof(dump_avail)/sizeof(dump_avail[0])); - vm_max_kernel_address = KERNVIRTADDR + 3 * memsize; + /* Always use the 256MB of KVA we have available between the kernel and devices */ + vm_max_kernel_address = KERNVIRTADDR + (256 20); pmap_bootstrap(freemempos, kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259747 - releng/10.0/sys/arm/at91
Author: imp Date: Sun Dec 22 22:24:17 2013 New Revision: 259747 URL: http://svnweb.freebsd.org/changeset/base/259747 Log: Merge from stable/10 r259381: MFC r259212, r259220: Fix one race and one fence post error. When the TX buffer was completely full, we'd not complete any of the mbufs due to the fence post error (this creates a large leak). When this is fixed, we still leak, but at a much smaller rate due to a race between ateintr and atestart_locked as well as an asymmetry where atestart_locked is called from elsewhere. Ensure that we free in-flight packets that have completed there as well. Also remove needless check for NULL on mb, checked earlier in the loop and simplify a redundant if. Approved by: re@ (gjb@) Modified: releng/10.0/sys/arm/at91/if_ate.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/sys/arm/at91/if_ate.c == --- releng/10.0/sys/arm/at91/if_ate.c Sun Dec 22 22:20:17 2013 (r259746) +++ releng/10.0/sys/arm/at91/if_ate.c Sun Dec 22 22:24:17 2013 (r259747) @@ -946,10 +946,8 @@ ate_intr(void *xsc) } while (!done); - if (mb != NULL) { - ifp-if_ipackets++; - (*ifp-if_input)(ifp, mb); - } + ifp-if_ipackets++; + (*ifp-if_input)(ifp, mb); } } @@ -973,16 +971,14 @@ ate_intr(void *xsc) sc-tx_descs[sc-txtail + 1].status |= ETHB_TX_USED; } - while (sc-txtail != sc-txhead - sc-tx_descs[sc-txtail].status ETHB_TX_USED ) { - + while ((sc-tx_descs[sc-txtail].status ETHB_TX_USED) + sc-sent_mbuf[sc-txtail] != NULL) { bus_dmamap_sync(sc-mtag, sc-tx_map[sc-txtail], BUS_DMASYNC_POSTWRITE); bus_dmamap_unload(sc-mtag, sc-tx_map[sc-txtail]); m_freem(sc-sent_mbuf[sc-txtail]); sc-tx_descs[sc-txtail].addr = 0; sc-sent_mbuf[sc-txtail] = NULL; - ifp-if_opackets++; sc-txtail = NEXT_TX_IDX(sc, sc-txtail); } @@ -1117,12 +1113,10 @@ atestart_locked(struct ifnet *ifp) * xmit packets. We use OACTIVE to indicate we can stuff more * into our buffers (clear) or not (set). */ - if (!sc-is_emacb) { - /* RM9200 has only two hardware entries */ - if (!sc-is_emacb (RD4(sc, ETH_TSR) ETH_TSR_BNQ) == 0) { - ifp-if_drv_flags |= IFF_DRV_OACTIVE; - return; - } + /* RM9200 has only two hardware entries */ + if (!sc-is_emacb (RD4(sc, ETH_TSR) ETH_TSR_BNQ) == 0) { + ifp-if_drv_flags |= IFF_DRV_OACTIVE; + return; } IFQ_DRV_DEQUEUE(ifp-if_snd, m); @@ -1145,6 +1139,21 @@ atestart_locked(struct ifnet *ifp) m_freem(m); continue; } + + /* +* There's a small race between the loop in ate_intr finishing +* and the check above to see if the packet was finished, as well +* as when atestart gets called via other paths. Lose the race +* gracefully and free the mbuf... +*/ + if (sc-sent_mbuf[sc-txhead] != NULL) { + bus_dmamap_sync(sc-mtag, sc-tx_map[sc-txtail], + BUS_DMASYNC_POSTWRITE); + bus_dmamap_unload(sc-mtag, sc-tx_map[sc-txtail]); + m_free(sc-sent_mbuf[sc-txhead]); + ifp-if_opackets++; + } + sc-sent_mbuf[sc-txhead] = m; bus_dmamap_sync(sc-mtag, sc-tx_map[sc-txhead], ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259748 - releng/10.0/sys/arm/at91
Author: imp Date: Sun Dec 22 22:31:39 2013 New Revision: 259748 URL: http://svnweb.freebsd.org/changeset/base/259748 Log: Direct commit: not relevant to other branches. Fix mountroot prompt eating most of the characters by not enabling RXRDY interrupts in the attach routine. Instead, defer this until the first interrupt we see after the device is opened. Given the console use case, we're guaranteed to get a TXRDY interrupt before any reads are posted due to boot messages, which makes this work. The real fix is to use cngrab/cnungrab function pointers to disable RXRDY interrupts while grabbed. However, that touches the MI uart code, so was disallowed for 10.0 due to the lateness of the hour this fix was proposed. It works for mountroot, the most common atmel kernel prompt use cases, but wouldn't work for GELI since it prompts later in the boot process. Approved by: re@ (gjb@) Modified: releng/10.0/sys/arm/at91/uart_dev_at91usart.c Modified: releng/10.0/sys/arm/at91/uart_dev_at91usart.c == --- releng/10.0/sys/arm/at91/uart_dev_at91usart.c Sun Dec 22 22:24:17 2013(r259747) +++ releng/10.0/sys/arm/at91/uart_dev_at91usart.c Sun Dec 22 22:31:39 2013(r259748) @@ -72,6 +72,7 @@ struct at91_usart_softc { uint32_t flags; #defineHAS_TIMEOUT 0x1 #defineUSE_RTS0_WORKAROUND 0x2 +#defineNEEDS_RXRDY 0x4 bus_dma_tag_t rx_tag; struct at91_usart_rx ping_pong[2]; struct at91_usart_rx *ping; @@ -490,7 +491,13 @@ at91_usart_bus_attach(struct uart_softc WR4(sc-sc_bas, USART_IER, USART_CSR_TIMEOUT | USART_CSR_RXBUFF | USART_CSR_ENDRX); } else { - WR4(sc-sc_bas, USART_IER, USART_CSR_RXRDY); + /* +* Defer turning on the RXRDY bit until we're opened. This is to make the +* mountroot prompt work before we've opened the console. This is a workaround +* for not being able to change the UART interface for the 10.0 release. +*/ + atsc-flags |= NEEDS_RXRDY; + /* WR4(sc-sc_bas, USART_IER, USART_CSR_RXRDY); */ } WR4(sc-sc_bas, USART_IER, USART_CSR_RXBRK | USART_DCE_CHANGE_BITS); @@ -612,6 +619,12 @@ at91_usart_bus_ipend(struct uart_softc * uart_lock(sc-sc_hwmtx); csr = RD4(sc-sc_bas, USART_CSR); + /* Kludge -- Enable the RXRDY we deferred in attach */ + if (sc-sc_opened (atsc-flags NEEDS_RXRDY)) { + WR4(sc-sc_bas, USART_IER, USART_CSR_RXRDY); + atsc-flags = ~NEEDS_RXRDY; + } + if (csr USART_CSR_OVRE) { WR4(sc-sc_bas, USART_CR, USART_CR_RSTSTA); ipend |= SER_INT_OVERRUN; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
Re: svn commit: r259748 - releng/10.0/sys/arm/at91
Warner Losh wrote this message on Sun, Dec 22, 2013 at 22:31 +: The real fix is to use cngrab/cnungrab function pointers to disable RXRDY interrupts while grabbed. However, that touches the MI uart code, so was disallowed for 10.0 due to the lateness of the hour this fix was proposed. It works for mountroot, the most common atmel kernel prompt use cases, but wouldn't work for GELI since it prompts later in the boot process. Hmmm, good point about geli, there have been complaints that the geli prompt gets garbled by other output (and I'm anoyed by it too)... Can we solve this w/ grab? How would the console code know the other writers don't have the console grabed? Maybe by thread? -- John-Mark Gurney Voice: +1 415 225 5579 All that I will do, has been done, All that I have, has not. ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259749 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Sun Dec 22 22:56:45 2013 New Revision: 259749 URL: http://svnweb.freebsd.org/changeset/base/259749 Log: Add updates for Raspberry PI support, unmapped VMIO, netmap(4), nvme(4). Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 22:31:39 2013(r259748) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Dec 22 22:56:45 2013(r259749) @@ -120,6 +120,16 @@ sect2 xml:id=kernel titleKernel Changes/title +para revision=239922Raspberry PI support has been added. + Refer to these link xlink:href=http://kernelnomicon.org/?p=164;setup instructions/link + and link xlink:href=http://www.raspberrypi.org/quick-start-guide;quick start + guide/link./para + +para revision=248508The use of unmapped VMIO buffers eliminates the need to perform + TLB shootdown for mapping on buffer creation and reuse, greatly reducing the + amount of IPIs for shootdown on big-SMP machines and eliminating up to 25-30% + of the system time on i/o intensive workloads./para + para arch=amd64The maximum amount of memory the os; kernel can address has been increased from 1TB to 4TB./para @@ -292,6 +302,13 @@ for dynamically loading kernel modules for Infiniband core (ibcore) and IP over Infiniband (ipoib)./para + para revision=227614man.netmap.4; has been added. man.netmap.4; is a framework for + high-performance direct-to-hardware packet IO, offering low latency and high PPS + rates to userland applications while bypassing any kernel-side packet processing. + With man.netmap.4; it is trivially possible to fully saturate a 10 Gbps network interface with + minimal packet sizes. For more information, see: + link xlink:href=http://info.iet.unipi.it/~luigi/netmap/;Netmap Project/link./para + /sect4 /sect3 @@ -338,6 +355,11 @@ para role=mergedThe man.hptrr.4; driver has been updated to version 1.2 from Highpoint./para + para revision=240616man.nvme.4; has been added and provides NVM Express support. +NVM Express is an optimized register interface, command set and feature set of +PCI Express (PCIe)-based Solid-State Drives (SSDs). For more information, +see link xlink:href=http://http://www.nvmexpress.org/;nvmexpress.org/link./para + /sect3 sect3 xml:id=fs ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259750 - head/sys/arm/ti/am335x
Author: ian Date: Sun Dec 22 23:03:29 2013 New Revision: 259750 URL: http://svnweb.freebsd.org/changeset/base/259750 Log: Add PPS support to the am335x timer driver. This uses the timer hardware's capture mode together with the timecounter's PPS polling feature to get very accurate PPS capture without any interrupt processing (or latency). Hardware timers 4 through 7 have associated capture-trigger input pins. When the PPS support is compiled in the code automatically chooses the first timer it finds that has the capture-trigger pin set to input mode (this is configured via the fdt data). Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c == --- head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 22:56:45 2013 (r259749) +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Sun Dec 22 23:03:29 2013 (r259750) @@ -30,17 +30,22 @@ __FBSDID($FreeBSD$); #include sys/param.h #include sys/systm.h #include sys/bus.h +#include sys/conf.h #include sys/kernel.h #include sys/module.h #include sys/malloc.h #include sys/rman.h +#include sys/taskqueue.h #include sys/timeet.h +#include sys/timepps.h #include sys/timetc.h #include sys/watchdog.h #include machine/bus.h #include machine/cpu.h #include machine/intr.h +#include opt_ntp.h + #include dev/fdt/fdt_common.h #include dev/ofw/openfirm.h #include dev/ofw/ofw_bus.h @@ -50,6 +55,7 @@ __FBSDID($FreeBSD$); #include machine/fdt.h #include arm/ti/ti_prcm.h +#include arm/ti/ti_scm.h #defineAM335X_NUM_TIMERS 8 @@ -62,9 +68,9 @@ __FBSDID($FreeBSD$); #defineDMT_IRQENABLE_SET 0x2c/* IRQSTATUS Set Reg */ #defineDMT_IRQENABLE_CLR 0x30/* IRQSTATUS Clear Reg */ #defineDMT_IRQWAKEEN 0x34/* IRQ Wakeup Enable Reg */ -#define DMT_IRQ_TCAR(1 0) /* IRQ: Capture */ +#define DMT_IRQ_MAT (1 0) /* IRQ: Match */ #define DMT_IRQ_OVF (1 1) /* IRQ: Overflow */ -#define DMT_IRQ_MAT (1 2) /* IRQ: Match */ +#define DMT_IRQ_TCAR(1 2) /* IRQ: Capture */ #define DMT_IRQ_MASK(DMT_IRQ_TCAR | DMT_IRQ_OVF | DMT_IRQ_MAT) #defineDMT_TCLR0x38/* Control Register */ #define DMT_TCLR_START (1 0) /* Start timer */ @@ -92,17 +98,32 @@ __FBSDID($FreeBSD$); #defineDMT_TMAR0x4C/* Match Reg */ #defineDMT_TCAR1 0x50/* Capture Reg */ #defineDMT_TSICR 0x54/* Synchr. Interface Ctrl Reg */ -#define DMT_TSICR_RESET 0x02/* TSICR perform soft reset */ +#define DMT_TSICR_RESET (1 1) /* TSICR perform soft reset */ #defineDMT_TCAR2 0x48/* Capture Reg */ +/* + * Use timer 2 for the eventtimer. When PPS support is not compiled in, there's + * no need to use a timer that has an associated capture-input pin, so use timer + * 3 for timecounter. When PPS is compiled in we ignore the default and use + * whichever of timers 4-7 have the capture pin configured. + */ +#defineDEFAULT_ET_TIMER2 +#defineDEFAULT_TC_TIMER3 + struct am335x_dmtimer_softc { struct resource * tmr_mem_res[AM335X_NUM_TIMERS]; struct resource * tmr_irq_res[AM335X_NUM_TIMERS]; uint32_tsysclk_freq; uint32_ttc_num; /* Which timer number is tc. */ - uint32_tet_num; /* Which timer number is et. */ + uint32_ttc_tclr;/* Cached tc TCLR register. */ struct resource * tc_memres; /* Resources for tc timer. */ + uint32_tet_num; /* Which timer number is et. */ + uint32_tet_tclr;/* Cached et TCLR register. */ struct resource * et_memres; /* Resources for et timer. */ + int pps_curmode;/* Edge mode now set in hw. */ + struct task pps_task; /* For pps_event handling. */ + struct cdev * pps_cdev; + struct pps_statepps; struct timecounter tc; struct eventtimer et; }; @@ -162,6 +183,255 @@ am335x_dmtimer_et_write_4(struct am335x_ bus_write_4(sc-et_memres, reg, val); } +/* + * PPS driver routines, included when the kernel is built with option PPS_SYNC. + * + * Note that this PPS driver does not use an interrupt. Instead it uses the + * hardware's ability to latch the timer's count register in response to a + * signal on an IO pin. Each of timers 4-7 have an associated pin, and this + * code allows
svn commit: r259751 - stable/10/usr.sbin/kldxref
Author: jilles Date: Sun Dec 22 23:08:33 2013 New Revision: 259751 URL: http://svnweb.freebsd.org/changeset/base/259751 Log: MFC r256650: kldxref: Add static keyword to the new function only used in the same file. The WARNS level is not such that the omission broke the build. Modified: stable/10/usr.sbin/kldxref/kldxref.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/kldxref/kldxref.c == --- stable/10/usr.sbin/kldxref/kldxref.cSun Dec 22 23:03:29 2013 (r259750) +++ stable/10/usr.sbin/kldxref/kldxref.cSun Dec 22 23:08:33 2013 (r259751) @@ -274,7 +274,7 @@ usage(void) exit(1); } -int +static int compare(const FTSENT *const *a, const FTSENT *const *b) { if ((*a)-fts_info == FTS_D (*b)-fts_info != FTS_D) ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259752 - releng/10.0/sys/dev/pci
Author: dumbbell Date: Sun Dec 22 23:31:04 2013 New Revision: 259752 URL: http://svnweb.freebsd.org/changeset/base/259752 Log: Merge from stable/10, r259741: vga_pci: Improve boot display detection The previous code was checking the VGA Enable bit on the video card's parent PCI-to-PCI bridge only. This didn't work for the case where the video card is attached to the root PCI bus (ie. the card has no parent PCI-to-PCI bridge). Now, the new code: 1. checks the VGA Enable bit on the parent bridge only if it's a PCI-to-PCI bridge; 2. always checks the I/O and Memory address space decoding bits on the video card itself. However, vendor-specific bits are not used. This fixes the use of many integrated Radeon cards: without this patch, we fail to detect them as the boot display and, when radeonkms looks for the Video BIOS, it skips the shadow copy made by the System BIOS. It then fails to fully initialize the card, because the shadow copy is the only way to read the Video BIOS in these situations. A workaround was to force the boot display selection using the hw.pci.default_vgapci_unit tunable. A previous version of this patch added a new function doing the checks. Now, the vga_pci_is_boot_display() function is used to perform the checks (only until the boot display is found) and return if the given device is the boot display or not. Furthermore, vga_pci_attach() logs Boot video device if the card being attached it the Chosen One: vgapci0: VGA-compatible display [...] vgapci0: Boot video device Reviewed by: kib@, jhb@ (both a previous version) Tested by:lunatic_ (#freebsd-xorg, integrated Radeon card, xmj (#freebsd-xorg, i915+NVIDIA cards) Approved by: re (gjb) Modified: releng/10.0/sys/dev/pci/vga_pci.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/sys/dev/pci/vga_pci.c == --- releng/10.0/sys/dev/pci/vga_pci.c Sun Dec 22 23:08:33 2013 (r259751) +++ releng/10.0/sys/dev/pci/vga_pci.c Sun Dec 22 23:31:04 2013 (r259752) @@ -81,16 +81,58 @@ SYSCTL_INT(_hw_pci, OID_AUTO, default_vg int vga_pci_is_boot_display(device_t dev) { + int unit; + device_t pcib; + uint16_t config; + + /* Check that the given device is a video card */ + if ((pci_get_class(dev) != PCIC_DISPLAY + (pci_get_class(dev) != PCIC_OLD || +pci_get_subclass(dev) != PCIS_OLD_VGA))) + return (0); + + unit = device_get_unit(dev); + + if (vga_pci_default_unit = 0) { + /* +* The boot display device was determined by a previous +* call to this function, or the user forced it using +* the hw.pci.default_vgapci_unit tunable. +*/ + return (vga_pci_default_unit == unit); + } /* -* Return true if the given device is the default display used -* at boot time. +* The primary video card used as a boot display must have the +* I/O and Memory Address Space Decoding bits set in its +* Command register. +* +* Furthermore, if the card is attached to a bridge, instead of +* the root PCI bus, the bridge must have the VGA Enable bit +* set in its Control register. */ - return ( - (pci_get_class(dev) == PCIC_DISPLAY || -(pci_get_class(dev) == PCIC_OLD - pci_get_subclass(dev) == PCIS_OLD_VGA)) - device_get_unit(dev) == vga_pci_default_unit); + + pcib = device_get_parent(device_get_parent(dev)); + if (device_get_devclass(device_get_parent(pcib)) == + devclass_find(pci)) { + /* +* The parent bridge is a PCI-to-PCI bridge: check the +* value of the VGA Enable bit. +*/ + config = pci_read_config(pcib, PCIR_BRIDGECTL_1, 2); + if ((config PCIB_BCR_VGA_ENABLE) == 0) + return (0); + } + + config = pci_read_config(dev, PCIR_COMMAND, 2); + if ((config (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN)) == 0) + return (0); + + /* This video card is the boot display: record its unit number. */ + vga_pci_default_unit = unit; + device_set_flags(dev, 1); + + return (1); } void * @@ -159,9 +201,6 @@ vga_pci_unmap_bios(device_t dev, void *b static int vga_pci_probe(device_t dev) { - device_t bdev; - int unit; - uint16_t bctl; switch (pci_get_class(dev)) { case PCIC_DISPLAY: @@ -175,13 +214,7 @@ vga_pci_probe(device_t dev) } /* Probe default display. */ - unit = device_get_unit(dev); - bdev = device_get_parent(device_get_parent(dev)); - bctl = pci_read_config(bdev,
svn commit: r259753 - stable/9/sys/arm/at91
Author: imp Date: Sun Dec 22 23:33:27 2013 New Revision: 259753 URL: http://svnweb.freebsd.org/changeset/base/259753 Log: Direct Commit of mountroot prompt fix r259748 (since there's no sane branching relationship between that branch and this one and since the more general fix in head may be too risky for a stbale branch this mature): Fix mountroot prompt eating most of the characters by not enabling RXRDY interrupts in the attach routine. Instead, defer this until the first interrupt we see after the device is opened. Given the console use case, we're guaranteed to get a TXRDY interrupt before any reads are posted due to boot messages, which makes this work. The real fix is to use cngrab/cnungrab function pointers to disable RXRDY interrupts while grabbed. However, that touches the MI uart code, so was disallowed for 10.0 due to the lateness of the hour this fix was proposed. It works for mountroot, the most common atmel kernel prompt use cases, but wouldn't work for GELI since it prompts later in the boot process. Modified: stable/9/sys/arm/at91/uart_dev_at91usart.c Modified: stable/9/sys/arm/at91/uart_dev_at91usart.c == --- stable/9/sys/arm/at91/uart_dev_at91usart.c Sun Dec 22 23:31:04 2013 (r259752) +++ stable/9/sys/arm/at91/uart_dev_at91usart.c Sun Dec 22 23:33:27 2013 (r259753) @@ -63,7 +63,8 @@ struct at91_usart_softc { bus_dma_tag_t tx_tag; bus_dmamap_t tx_map; uint32_t flags; -#defineHAS_TIMEOUT 1 +#defineHAS_TIMEOUT 0x1 +#defineNEEDS_RXRDY 0x4 bus_dma_tag_t rx_tag; struct at91_usart_rx ping_pong[2]; struct at91_usart_rx *ping; @@ -425,7 +426,13 @@ at91_usart_bus_attach(struct uart_softc WR4(sc-sc_bas, USART_IER, USART_CSR_TIMEOUT | USART_CSR_RXBUFF | USART_CSR_ENDRX); } else { - WR4(sc-sc_bas, USART_IER, USART_CSR_RXRDY); + /* +* Defer turning on the RXRDY bit until we're opened. This is to make the +* mountroot prompt work before we've opened the console. This is a workaround +* for not being able to change the UART interface for the 10.0 release. +*/ + atsc-flags |= NEEDS_RXRDY; + /* WR4(sc-sc_bas, USART_IER, USART_CSR_RXRDY); */ } WR4(sc-sc_bas, USART_IER, USART_CSR_RXBRK); errout: @@ -530,6 +537,13 @@ at91_usart_bus_ipend(struct uart_softc * ipend = 0; atsc = (struct at91_usart_softc *)sc; uart_lock(sc-sc_hwmtx); + + /* Kludge -- Enable the RXRDY we deferred in attach */ + if (sc-sc_opened (atsc-flags NEEDS_RXRDY)) { + WR4(sc-sc_bas, USART_IER, USART_CSR_RXRDY); + atsc-flags = ~NEEDS_RXRDY; + } + csr = RD4(sc-sc_bas, USART_CSR); if (csr USART_CSR_ENDTX) { bus_dmamap_sync(atsc-tx_tag, atsc-tx_map, ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259754 - in releng/10.0/sys/dev/drm2: radeon ttm
Author: dumbbell Date: Sun Dec 22 23:41:14 2013 New Revision: 259754 URL: http://svnweb.freebsd.org/changeset/base/259754 Log: Merge from stable/10, r259742: drm/ttm, drm/radeon: Replace EINTR/ERESTART by ERESTARTSYS... ... for msleep/cv_*wait() return values, where wait_event*() is used on Linux. ERESTARTSYS is the return code expected by callers when the operation was interrupted. For instance, this is the case of radeon_cs_ioctl() (radeon_cs.c): if an error occurs, and the code isn't ERESTARTSYS (eg. EINTR), it logs an error. Note that ERESTARTSYS is defined as ERESTART, but this keeps callers' code close to Linux. Submitted by: avg@ (previous version) Approved by: re (gjb) Modified: releng/10.0/sys/dev/drm2/radeon/radeon_fence.c releng/10.0/sys/dev/drm2/radeon/radeon_sa.c releng/10.0/sys/dev/drm2/ttm/ttm_bo.c releng/10.0/sys/dev/drm2/ttm/ttm_lock.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/sys/dev/drm2/radeon/radeon_fence.c == --- releng/10.0/sys/dev/drm2/radeon/radeon_fence.c Sun Dec 22 23:33:27 2013(r259753) +++ releng/10.0/sys/dev/drm2/radeon/radeon_fence.c Sun Dec 22 23:41:14 2013(r259754) @@ -321,6 +321,8 @@ static int radeon_fence_wait_seq(struct rdev-fence_queue_mtx, timeout); } + if (r == EINTR) + r = ERESTARTSYS; if (r != 0) { if (r == EWOULDBLOCK) { signaled = @@ -334,7 +336,7 @@ static int radeon_fence_wait_seq(struct mtx_unlock(rdev-fence_queue_mtx); } radeon_irq_kms_sw_irq_put(rdev, ring); - if (unlikely(r == EINTR || r == ERESTART)) { + if (unlikely(r == ERESTARTSYS)) { return -r; } CTR2(KTR_DRM, radeon fence: wait end (ring=%d, seq=%d), @@ -514,6 +516,8 @@ static int radeon_fence_wait_any_seq(str rdev-fence_queue_mtx, timeout); } + if (r == EINTR) + r = ERESTARTSYS; if (r != 0) { if (r == EWOULDBLOCK) { signaled = @@ -531,7 +535,7 @@ static int radeon_fence_wait_any_seq(str radeon_irq_kms_sw_irq_put(rdev, i); } } - if (unlikely(r == EINTR || r == ERESTART)) { + if (unlikely(r == ERESTARTSYS)) { return -r; } CTR2(KTR_DRM, radeon fence: wait end (ring=%d, target_seq=%d), Modified: releng/10.0/sys/dev/drm2/radeon/radeon_sa.c == --- releng/10.0/sys/dev/drm2/radeon/radeon_sa.c Sun Dec 22 23:33:27 2013 (r259753) +++ releng/10.0/sys/dev/drm2/radeon/radeon_sa.c Sun Dec 22 23:41:14 2013 (r259754) @@ -363,6 +363,8 @@ int radeon_sa_bo_new(struct radeon_devic while (!radeon_sa_event(sa_manager, size, align)) { r = -cv_wait_sig(sa_manager-wq, sa_manager-wq_lock); + if (r == -EINTR) + r = -ERESTARTSYS; if (r != 0) break; } Modified: releng/10.0/sys/dev/drm2/ttm/ttm_bo.c == --- releng/10.0/sys/dev/drm2/ttm/ttm_bo.c Sun Dec 22 23:33:27 2013 (r259753) +++ releng/10.0/sys/dev/drm2/ttm/ttm_bo.c Sun Dec 22 23:41:14 2013 (r259754) @@ -147,6 +147,8 @@ ttm_bo_wait_unreserved_locked(struct ttm } while (ttm_bo_is_reserved(bo)) { ret = -msleep(bo, bo-glob-lru_lock, flags, wmsg, 0); + if (ret == -EINTR) + ret = -ERESTARTSYS; if (ret != 0) break; } Modified: releng/10.0/sys/dev/drm2/ttm/ttm_lock.c == --- releng/10.0/sys/dev/drm2/ttm/ttm_lock.c Sun Dec 22 23:33:27 2013 (r259753) +++ releng/10.0/sys/dev/drm2/ttm/ttm_lock.c Sun Dec 22 23:41:14 2013 (r259754) @@ -107,6 +107,8 @@ ttm_read_lock(struct ttm_lock *lock, boo mtx_lock(lock-lock); while (!__ttm_read_lock(lock)) { ret = msleep(lock, lock-lock, flags, wmsg, 0); + if (ret == EINTR) +
svn commit: r259755 - releng/10.0/sys/dev/drm2
Author: dumbbell Date: Sun Dec 22 23:52:11 2013 New Revision: 259755 URL: http://svnweb.freebsd.org/changeset/base/259755 Log: Merge from stable/10, r259745: drm: Lower priority of EDID checksum is invalid message The priority goes from error to debug. Connectors are polled every 10 seconds. Reading EDID is part of this polling. However, when an invalid EDID is returned, this error message is logged. When using Newcons for instance, having a kernel message every 10 seconds is getting annoying. Now that it's a debug message, it'll be logged only if hw.dri.debug is enabled. This fix console spamming for some users. Tested by:Larry Rosenman l...@lerctr.org Approved by: re (gjb) Modified: releng/10.0/sys/dev/drm2/drm_edid.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/sys/dev/drm2/drm_edid.c == --- releng/10.0/sys/dev/drm2/drm_edid.c Sun Dec 22 23:41:14 2013 (r259754) +++ releng/10.0/sys/dev/drm2/drm_edid.c Sun Dec 22 23:52:11 2013 (r259755) @@ -171,7 +171,7 @@ drm_edid_block_valid(u8 *raw_edid) for (i = 0; i EDID_LENGTH; i++) csum += raw_edid[i]; if (csum) { - DRM_ERROR(EDID checksum is invalid, remainder is %d\n, csum); + DRM_DEBUG(EDID checksum is invalid, remainder is %d\n, csum); /* allow CEA to slide through, switches mangle this */ if (raw_edid[0] != 0x02) ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259756 - head/contrib/gperf/lib
Author: dim Date: Mon Dec 23 00:02:18 2013 New Revision: 259756 URL: http://svnweb.freebsd.org/changeset/base/259756 Log: Get rid of register keyword usage in gperf, it is totally obsolete for C++, and this allows gperf to be compiled for C++11 without a warning about it. MFC after:3 days Modified: head/contrib/gperf/lib/getline.cc Modified: head/contrib/gperf/lib/getline.cc == --- head/contrib/gperf/lib/getline.cc Sun Dec 22 23:52:11 2013 (r259755) +++ head/contrib/gperf/lib/getline.cc Mon Dec 23 00:02:18 2013 (r259756) @@ -57,7 +57,7 @@ getstr (char **lineptr, size_t *n, FILE for (;;) { - register int c = getc (stream); + int c = getc (stream); /* We always want at least one char left in the buffer, since we always (unless we get an error while reading the first char) ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259757 - releng/10.0/sys/netgraph
Author: glebius Date: Mon Dec 23 01:15:55 2013 New Revision: 259757 URL: http://svnweb.freebsd.org/changeset/base/259757 Log: Revert one line from r248885, which uncovered several bugs in processing interaction between ksocket_incoming2() and soreceive(). This is direct commit to releng/10.0. A conservative solution for releng branch. Proper fix in head is r259681. PR: 184601 Sponsored by: Nginx, Inc. Approved by: re (gjb) Modified: releng/10.0/sys/netgraph/ng_ksocket.c Modified: releng/10.0/sys/netgraph/ng_ksocket.c == --- releng/10.0/sys/netgraph/ng_ksocket.c Mon Dec 23 00:02:18 2013 (r259756) +++ releng/10.0/sys/netgraph/ng_ksocket.c Mon Dec 23 01:15:55 2013 (r259757) @@ -1095,7 +1095,7 @@ ng_ksocket_incoming2(node_p node, hook_p /* Read and forward available mbuf's */ auio.uio_td = NULL; - auio.uio_resid = MJUMPAGESIZE; /* XXXGL: sane limit? */ + auio.uio_resid = 10; flags = MSG_DONTWAIT; while (1) { struct sockaddr *sa = NULL; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259758 - in releng/10.0: . crypto/heimdal/lib/gssapi/krb5
Author: hrs Date: Mon Dec 23 01:24:21 2013 New Revision: 259758 URL: http://svnweb.freebsd.org/changeset/base/259758 Log: MFS r249447: Apply patch from upstream Heimdal for encoding fix RFC 4402 specifies the implementation of the gss_pseudo_random() function for the krb5 mechanism (and the C bindings therein). The implementation uses a PRF+ function that concatenates the output of individual krb5 pseudo-random operations produced with a counter and seed. The original implementation of this function in Heimdal incorrectly encoded the counter as a little-endian integer, but the RFC specifies the counter encoding as big-endian. The implementation initializes the counter to zero, so the first block of output (16 octets, for the modern AES enctypes 17 and 18) is unchanged. (RFC 4402 specifies that the counter should begin at 1, but both existing implementations begin with zero and it looks like the standard will be re-issued, with test vectors, to begin at zero.) This is upstream's commit f85652af868e64811f2b32b815d4198e7f9017f6, from 13 October, 2013: % Fix krb5's gss_pseudo_random() (n is big-endian) % % The first enctype RFC3961 prf output length's bytes are correct because % the little- and big-endian representations of unsigned zero are the % same. The second block of output was wrong because the counter was not % being encoded as big-endian. % % This change could break applications. But those applications would not % have been interoperating with other implementations anyways (in % particular: MIT's). Approved by: re (gjb) Modified: releng/10.0/UPDATING releng/10.0/crypto/heimdal/lib/gssapi/krb5/prf.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/UPDATING == --- releng/10.0/UPDATINGMon Dec 23 01:15:55 2013(r259757) +++ releng/10.0/UPDATINGMon Dec 23 01:24:21 2013(r259758) @@ -16,6 +16,16 @@ from older versions of FreeBSD, try WITH stable/10, and then rebuild without this option. The bootstrap process from older version of current is a bit fragile. +20131223: + The behavior of gss_pseudo_random() for the krb5 mechanism + has changed, for applications requesting a longer random string + than produced by the underlying enctype's pseudo-random() function. + In particular, the random string produced from a session key of + enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will + be different at the 17th octet and later, after this change. + The counter used in the PRF+ construction is now encoded as a + big-endian integer in accordance with RFC 4402. + 20131031: The default version of mtree is nmtree which is obtained from NetBSD. The output is generally the same, but may vary Modified: releng/10.0/crypto/heimdal/lib/gssapi/krb5/prf.c == --- releng/10.0/crypto/heimdal/lib/gssapi/krb5/prf.cMon Dec 23 01:15:55 2013(r259757) +++ releng/10.0/crypto/heimdal/lib/gssapi/krb5/prf.cMon Dec 23 01:24:21 2013(r259758) @@ -119,7 +119,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_ while(dol 0) { size_t tsize; - _gsskrb5_encode_om_uint32(num, input.data); + _gsskrb5_encode_be_om_uint32(num, input.data); ret = krb5_crypto_prf(context, crypto, input, output); if (ret) { @@ -133,7 +133,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_ tsize = min(dol, output.length); memcpy(p, output.data, tsize); - p += output.length; + p += tsize; dol -= tsize; krb5_data_free(output); num++; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259759 - in stable/10/sys: arm/at91 dev/uart
Author: imp Date: Mon Dec 23 01:24:32 2013 New Revision: 259759 URL: http://svnweb.freebsd.org/changeset/base/259759 Log: MFC r259685: Plumb the cn_grab and cn_ungrab routines down into the uart clients. Mask RX interrupts while grabbed on the atmel serial driver. This UART interrupts every character. When interrupts are enabled at the mountroot prompt, this means the ISR eats the characters. Rather than try to create a cooperative buffering system for the low level kernel console, instead just mask out the ISR. For NS8250 and decsendents this isn't needed, since interrupts only happen after 14 or more characters (depending on the fifo settings). Plumb such that these are optional so there's no change in behavior for all the other UART clients. ddb worked on this platform because all interrupts were disabled while it was running, so this problem wasn't noticed. The mountroot issue has been around for a very very long time. Approved by: re@ (gjb@) Modified: stable/10/sys/arm/at91/uart_dev_at91usart.c stable/10/sys/dev/uart/uart_cpu.h stable/10/sys/dev/uart/uart_tty.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/arm/at91/uart_dev_at91usart.c == --- stable/10/sys/arm/at91/uart_dev_at91usart.c Mon Dec 23 01:24:21 2013 (r259758) +++ stable/10/sys/arm/at91/uart_dev_at91usart.c Mon Dec 23 01:24:32 2013 (r259759) @@ -219,6 +219,20 @@ at91_usart_param(struct uart_bas *bas, i return (0); } +static void +at91_usart_grab(struct uart_bas *bas) +{ + + WR4(bas, USART_IDR, USART_CSR_RXRDY); +} + +static void +at91_usart_ungrab(struct uart_bas *bas) +{ + + WR4(bas, USART_IER, USART_CSR_RXRDY); +} + static struct uart_ops at91_usart_ops = { .probe = at91_usart_probe, .init = at91_usart_init, @@ -226,6 +240,8 @@ static struct uart_ops at91_usart_ops = .putc = at91_usart_putc, .rxready = at91_usart_rxready, .getc = at91_usart_getc, + .grab = at91_usart_grab, + .ungrab = at91_usart_ungrab, }; static int Modified: stable/10/sys/dev/uart/uart_cpu.h == --- stable/10/sys/dev/uart/uart_cpu.h Mon Dec 23 01:24:21 2013 (r259758) +++ stable/10/sys/dev/uart/uart_cpu.h Mon Dec 23 01:24:32 2013 (r259759) @@ -43,6 +43,8 @@ struct uart_ops { void (*putc)(struct uart_bas *, int); int (*rxready)(struct uart_bas *); int (*getc)(struct uart_bas *, struct mtx *); + void (*grab)(struct uart_bas *); + void (*ungrab)(struct uart_bas *); }; extern bus_space_tag_t uart_bus_space_io; @@ -135,6 +137,27 @@ uart_putc(struct uart_devinfo *di, int c uart_unlock(di-hwmtx); } +static __inline void +uart_grab(struct uart_devinfo *di) +{ + + uart_lock(di-hwmtx); + if (di-ops-grab) + di-ops-grab(di-bas); + uart_unlock(di-hwmtx); +} + +static __inline void +uart_ungrab(struct uart_devinfo *di) +{ + + uart_lock(di-hwmtx); + if (di-ops-ungrab) + di-ops-ungrab(di-bas); + uart_unlock(di-hwmtx); +} + + static __inline int uart_rxready(struct uart_devinfo *di) { Modified: stable/10/sys/dev/uart/uart_tty.c == --- stable/10/sys/dev/uart/uart_tty.c Mon Dec 23 01:24:21 2013 (r259758) +++ stable/10/sys/dev/uart/uart_tty.c Mon Dec 23 01:24:32 2013 (r259759) @@ -112,11 +112,15 @@ uart_cnterm(struct consdev *cp) static void uart_cngrab(struct consdev *cp) { + + uart_grab(cp-cn_arg); } static void uart_cnungrab(struct consdev *cp) { + + uart_ungrab(cp-cn_arg); } static void ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
Re: svn commit: r259746 - releng/10.0/sys/arm/at91
Are there any compile and/or run time checks to ensure that memory regions aren't overlapping and to bitch if they are? -a On 22 December 2013 14:20, Warner Losh i...@freebsd.org wrote: Author: imp Date: Sun Dec 22 22:20:17 2013 New Revision: 259746 URL: http://svnweb.freebsd.org/changeset/base/259746 Log: Merge from stable/10 r259380: MFC r259038, r259039: Bump the maximum VM space from 3 * memory size to a fixed 256MB. That's all we have room for since we map the hardware registers starting at 0xd000. This allows my 64MB AT91SAM9G20 to boot again after the unmmaped I/O changes were MFC'd at r251897. Other subplatforms may need similar treatment. Although not strictly required to boot a 64MB board, bump vm_max_virtual_address to be KERNVIRTADDR + 256MB. This allows some future shock protection since the KVA requirements have gone up since the unmapped changes have gone in, as well as preventing us from overlapping with the hardware devices, which we map at 0xd000, which we'd hit with anything more than 85MB... Approved by: re@ (gjb@) Modified: releng/10.0/sys/arm/at91/at91_machdep.c Directory Properties: releng/10.0/ (props changed) Modified: releng/10.0/sys/arm/at91/at91_machdep.c == --- releng/10.0/sys/arm/at91/at91_machdep.c Sun Dec 22 21:53:08 2013 (r259745) +++ releng/10.0/sys/arm/at91/at91_machdep.c Sun Dec 22 22:20:17 2013 (r259746) @@ -631,7 +631,8 @@ initarm(struct arm_boot_params *abp) pmap_curmaxkvaddr = afterkern + L1_S_SIZE * (KERNEL_PT_KERN_NUM - 1); arm_dump_avail_init(memsize, sizeof(dump_avail)/sizeof(dump_avail[0])); - vm_max_kernel_address = KERNVIRTADDR + 3 * memsize; + /* Always use the 256MB of KVA we have available between the kernel and devices */ + vm_max_kernel_address = KERNVIRTADDR + (256 20); pmap_bootstrap(freemempos, kernel_l1pt); msgbufp = (void*)msgbufpv.pv_va; msgbufinit(msgbufp, msgbufsize); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259761 - head/sys/teken
Author: ed Date: Mon Dec 23 05:47:27 2013 New Revision: 259761 URL: http://svnweb.freebsd.org/changeset/base/259761 Log: Fix linewrapping behaviour for CJK fullwidth characters. Instead of only wrapping when in the 'wrapped state', also force wrapping when the character to be rendered does not fit on the line anymore. Tested by:lwhsu Modified: head/sys/teken/teken_subr.h Modified: head/sys/teken/teken_subr.h == --- head/sys/teken/teken_subr.h Mon Dec 23 04:38:56 2013(r259760) +++ head/sys/teken/teken_subr.h Mon Dec 23 05:47:27 2013(r259761) @@ -840,13 +840,18 @@ teken_subr_regular_character(teken_t *t, } t-t_cursor.tp_col = 0; } - } else if (t-t_cursor.tp_col == t-t_winsize.tp_col - 1 - (t-t_stateflags (TS_WRAPPED|TS_AUTOWRAP)) == - (TS_WRAPPED|TS_AUTOWRAP)) { + } else if (t-t_stateflags TS_AUTOWRAP + ((t-t_stateflags TS_WRAPPED + t-t_cursor.tp_col + 1 == t-t_winsize.tp_col) || + t-t_cursor.tp_col + width t-t_winsize.tp_col)) { teken_pos_t tp; - /* Perform line wrapping. */ - + /* +* Perform line wrapping, if: +* - Autowrapping is enabled, and +* - We're in the wrapped state at the last column, or +* - The character to be printed does not fit anymore. +*/ if (t-t_cursor.tp_row == t-t_scrollreg.ts_end - 1) { /* Perform scrolling. */ teken_subr_do_scroll(t, 1); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259762 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Mon Dec 23 07:35:34 2013 New Revision: 259762 URL: http://svnweb.freebsd.org/changeset/base/259762 Log: Fix text for loading Hyper-V drivers via loader.conf. Noticed by: hrs Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Dec 23 05:47:27 2013(r259761) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Dec 23 07:35:34 2013(r259762) @@ -197,11 +197,17 @@ memory ballooning (man.virtio_balloon.4;), and PCI. Tested with on Qemu/KVM, VirtualBox, and man.bhyve.4;./para - para arch=amd64,i386 revision=255524A paravirtualized driver named hyperv which -which supports Microsoft Hyper-V has been imported and made -part of the amd64 GENERIC kernel. For i386, this driver is not part of -GENERIC, so literalhyperv_load=YES/literal must be added to -filename/boot/loader.conf/filename to load the driver./para + para arch=amd64,i386 revision=255524Paravirtualized drivers which +support Microsoft Hyper-V have been imported and made +part of the amd64 GENERIC kernel. For i386, these drivers are not part of +GENERIC, so the following lines must be added to +filename/boot/loader.conf/filename to load these drivers: +programlistinghv_ata_pci_disengage_load=YES +hv_netsvc_load=YES +hv_utils_load=YES +hv_vmbus_load=YES/programlisting Alternatively, the Hyper-V drivers can be added to the i386 +kernel by adding literaldevice hyperv/literal to the kernel config, and then +recompiling the kernel./para para revision=254738The man.vmx.4; driver has been added. man.vmx.4; is a VMware VMXNET3 ethernet driver ported from ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r259763 - head/release/doc/en_US.ISO8859-1/relnotes
Author: rodrigc Date: Mon Dec 23 07:58:46 2013 New Revision: 259763 URL: http://svnweb.freebsd.org/changeset/base/259763 Log: Add notes for ARM. Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Dec 23 07:35:34 2013(r259762) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Dec 23 07:58:46 2013(r259763) @@ -120,11 +120,6 @@ sect2 xml:id=kernel titleKernel Changes/title -para revision=239922Raspberry PI support has been added. - Refer to these link xlink:href=http://kernelnomicon.org/?p=164;setup instructions/link - and link xlink:href=http://www.raspberrypi.org/quick-start-guide;quick start - guide/link./para - para revision=248508The use of unmapped VMIO buffers eliminates the need to perform TLB shootdown for mapping on buffer creation and reuse, greatly reducing the amount of IPIs for shootdown on big-SMP machines and eliminating up to 25-30% @@ -215,6 +210,32 @@ hv_vmbus_load=YES/programlisting Al /sect3 +sect3 xml:id=kernel-arm + titleARM support/title + + para revision=239922Raspberry PI support has been added. +Refer to these link xlink:href=http://kernelnomicon.org/?p=164;setup instructions/link +and link xlink:href=http://www.raspberrypi.org/quick-start-guide;quick start +guide/link./para + + para revision=253396The default ABI on ARM is now the ARM EABI. This brings a number of +improvements and allows future support for VFP and Thumb-2./para + + para revision=239268ARM support has been greatly improved, including support +for ARMv6 and ARMv7, SMP and thread-local storage (TLS). +Additionally support for some newer SoC like the MV78x60 and OMAP4 was added. +See link xlink:href=http://lists.freebsd.org/pipermail/freebsd-arm/2012-August/003757.html;this announcement/link +for further details./para + + para revision=254918Superpages support on ARM has been added. Superpages support +provides improved performance and scalability by allowing TLB +translations to dynamically cover large physical memory regions. +All ARMv6 and ARMv7-based platforms can take advantage of this feature. +See link xlink:href=https://wiki.freebsd.org/ARMSuperpages;this page/link +for further details./para + +/sect3 + sect3 xml:id=boot titleBoot Loader Changes/title ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org