svn commit: r275685 - in projects/clang350-import: bin/freebsd-version contrib/file/doc contrib/file/src etc etc/autofs gnu/usr.bin/gdb/kgdb lib/libc/net lib/libc/stdio sbin/mount sys/arm/altera/so...
Dimitry Andric
dim at FreeBSD.org
Wed Dec 10 19:24:51 UTC 2014
Author: dim
Date: Wed Dec 10 19:24:42 2014
New Revision: 275685
URL: https://svnweb.freebsd.org/changeset/base/275685
Log:
Merge ^/head r274961 through r275684.
Added:
projects/clang350-import/etc/autofs/special_media
- copied unchanged from r275684, head/etc/autofs/special_media
projects/clang350-import/sys/dev/beri/virtio/network/
- copied from r275684, head/sys/dev/beri/virtio/network/
projects/clang350-import/sys/dev/xen/grant_table/
- copied from r275684, head/sys/dev/xen/grant_table/
projects/clang350-import/sys/dev/xen/pci/
- copied from r275684, head/sys/dev/xen/pci/
projects/clang350-import/sys/x86/xen/xen_pci_bus.c
- copied unchanged from r275684, head/sys/x86/xen/xen_pci_bus.c
projects/clang350-import/sys/xen/xen_pci.h
- copied unchanged from r275684, head/sys/xen/xen_pci.h
projects/clang350-import/usr.sbin/fstyp/
- copied from r275684, head/usr.sbin/fstyp/
projects/clang350-import/usr.sbin/pw/tests/pw_groupdel.sh
- copied unchanged from r275684, head/usr.sbin/pw/tests/pw_groupdel.sh
projects/clang350-import/usr.sbin/pw/tests/pw_groupmod.sh
- copied unchanged from r275684, head/usr.sbin/pw/tests/pw_groupmod.sh
projects/clang350-import/usr.sbin/pw/tests/pw_useradd.sh
- copied unchanged from r275684, head/usr.sbin/pw/tests/pw_useradd.sh
projects/clang350-import/usr.sbin/pw/tests/pw_userdel.sh
- copied unchanged from r275684, head/usr.sbin/pw/tests/pw_userdel.sh
projects/clang350-import/usr.sbin/pw/tests/pw_usermod.sh
- copied unchanged from r275684, head/usr.sbin/pw/tests/pw_usermod.sh
Deleted:
projects/clang350-import/sys/x86/xen/xen_pci.c
projects/clang350-import/sys/xen/gnttab.c
projects/clang350-import/usr.sbin/pw/tests/pw_delete.sh
projects/clang350-import/usr.sbin/pw/tests/pw_modify.sh
Modified:
projects/clang350-import/bin/freebsd-version/Makefile
projects/clang350-import/contrib/file/doc/file.man
projects/clang350-import/contrib/file/src/elfclass.h
projects/clang350-import/contrib/file/src/file.h
projects/clang350-import/contrib/file/src/funcs.c
projects/clang350-import/contrib/file/src/readelf.c
projects/clang350-import/contrib/file/src/softmagic.c
projects/clang350-import/etc/auto_master
projects/clang350-import/etc/autofs/Makefile
projects/clang350-import/etc/devd.conf
projects/clang350-import/gnu/usr.bin/gdb/kgdb/kthr.c
projects/clang350-import/lib/libc/net/sctp_sys_calls.c
projects/clang350-import/lib/libc/stdio/fflush.c
projects/clang350-import/sbin/mount/mount.8
projects/clang350-import/sys/arm/altera/socfpga/files.socfpga
projects/clang350-import/sys/arm/arm/syscall.c
projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_wdog.c
projects/clang350-import/sys/arm/conf/SOCKIT-BERI
projects/clang350-import/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts
projects/clang350-import/sys/conf/files
projects/clang350-import/sys/conf/files.amd64
projects/clang350-import/sys/dev/beri/virtio/virtio.c
projects/clang350-import/sys/dev/beri/virtio/virtio.h
projects/clang350-import/sys/dev/beri/virtio/virtio_block.c
projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.c
projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.h
projects/clang350-import/sys/dev/mii/micphy.c
projects/clang350-import/sys/dev/usb/usbdevs
projects/clang350-import/sys/dev/usb/wlan/if_upgt.c
projects/clang350-import/sys/dev/virtio/mmio/virtio_mmio.c
projects/clang350-import/sys/dev/virtio/mmio/virtio_mmio_if.m
projects/clang350-import/sys/fs/ext2fs/ext2_inode.c
projects/clang350-import/sys/fs/msdosfs/msdosfs_vfsops.c
projects/clang350-import/sys/kern/vfs_mount.c
projects/clang350-import/sys/kern/vfs_subr.c
projects/clang350-import/sys/ofed/include/linux/module.h
projects/clang350-import/sys/powerpc/aim/trap.c
projects/clang350-import/sys/x86/xen/pvcpu_enum.c
projects/clang350-import/sys/x86/xen/xen_intr.c
projects/clang350-import/sys/x86/xen/xenpv.c
projects/clang350-import/sys/xen/gnttab.h
projects/clang350-import/usr.sbin/Makefile
projects/clang350-import/usr.sbin/autofs/auto_master.5
projects/clang350-import/usr.sbin/mtree/verify.c
projects/clang350-import/usr.sbin/pw/tests/Makefile
Directory Properties:
projects/clang350-import/ (props changed)
projects/clang350-import/contrib/file/ (props changed)
projects/clang350-import/contrib/llvm/ (props changed)
projects/clang350-import/etc/ (props changed)
projects/clang350-import/gnu/usr.bin/gdb/ (props changed)
projects/clang350-import/lib/libc/ (props changed)
projects/clang350-import/sbin/ (props changed)
projects/clang350-import/sys/ (props changed)
projects/clang350-import/sys/boot/ (props changed)
projects/clang350-import/sys/conf/ (props changed)
Modified: projects/clang350-import/bin/freebsd-version/Makefile
==============================================================================
--- projects/clang350-import/bin/freebsd-version/Makefile Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/bin/freebsd-version/Makefile Wed Dec 10 19:24:42 2014 (r275685)
@@ -5,8 +5,7 @@ MAN = freebsd-version.1
CLEANFILES = freebsd-version.sh
NEWVERS = ${.CURDIR}/../../sys/conf/newvers.sh
-freebsd-version.sh.in: ${NEWVERS}
-freebsd-version.sh: ${.CURDIR}/freebsd-version.sh.in
+freebsd-version.sh: ${.CURDIR}/freebsd-version.sh.in ${NEWVERS}
eval $$(egrep '^(TYPE|REVISION|BRANCH)=' ${NEWVERS}) ; \
if ! sed -e "\
s/@@TYPE@@/$${TYPE}/g; \
Modified: projects/clang350-import/contrib/file/doc/file.man
==============================================================================
--- projects/clang350-import/contrib/file/doc/file.man Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/contrib/file/doc/file.man Wed Dec 10 19:24:42 2014 (r275685)
@@ -1,5 +1,5 @@
.\" $File: file.man,v 1.106 2014/03/07 23:11:51 christos Exp $
-.Dd January 30, 2014
+.Dd December 3, 2014
.Dt FILE __CSECTION__
.Os
.Sh NAME
@@ -385,6 +385,7 @@ options.
.Xr hexdump 1 ,
.Xr od 1 ,
.Xr strings 1 ,
+.Xr fstyp 8
.Sh STANDARDS CONFORMANCE
This program is believed to exceed the System V Interface Definition
of FILE(CMD), as near as one can determine from the vague language
Modified: projects/clang350-import/contrib/file/src/elfclass.h
==============================================================================
--- projects/clang350-import/contrib/file/src/elfclass.h Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/contrib/file/src/elfclass.h Wed Dec 10 19:24:42 2014 (r275685)
@@ -35,10 +35,12 @@
switch (type) {
#ifdef ELFCORE
case ET_CORE:
+ phnum = elf_getu16(swap, elfhdr.e_phnum);
+ if (phnum > MAX_PHNUM)
+ return toomany(ms, "program", phnum);
flags |= FLAGS_IS_CORE;
if (dophn_core(ms, clazz, swap, fd,
- (off_t)elf_getu(swap, elfhdr.e_phoff),
- elf_getu16(swap, elfhdr.e_phnum),
+ (off_t)elf_getu(swap, elfhdr.e_phoff), phnum,
(size_t)elf_getu16(swap, elfhdr.e_phentsize),
fsize, &flags) == -1)
return -1;
@@ -46,18 +48,24 @@
#endif
case ET_EXEC:
case ET_DYN:
+ phnum = elf_getu16(swap, elfhdr.e_phnum);
+ if (phnum > MAX_PHNUM)
+ return toomany(ms, "program", phnum);
+ shnum = elf_getu16(swap, elfhdr.e_shnum);
+ if (shnum > MAX_SHNUM)
+ return toomany(ms, "section", shnum);
if (dophn_exec(ms, clazz, swap, fd,
- (off_t)elf_getu(swap, elfhdr.e_phoff),
- elf_getu16(swap, elfhdr.e_phnum),
+ (off_t)elf_getu(swap, elfhdr.e_phoff), phnum,
(size_t)elf_getu16(swap, elfhdr.e_phentsize),
- fsize, &flags, elf_getu16(swap, elfhdr.e_shnum))
- == -1)
+ fsize, &flags, shnum) == -1)
return -1;
/*FALLTHROUGH*/
case ET_REL:
+ shnum = elf_getu16(swap, elfhdr.e_shnum);
+ if (shnum > MAX_SHNUM)
+ return toomany(ms, "section", shnum);
if (doshn(ms, clazz, swap, fd,
- (off_t)elf_getu(swap, elfhdr.e_shoff),
- elf_getu16(swap, elfhdr.e_shnum),
+ (off_t)elf_getu(swap, elfhdr.e_shoff), shnum,
(size_t)elf_getu16(swap, elfhdr.e_shentsize),
fsize, &flags, elf_getu16(swap, elfhdr.e_machine),
(int)elf_getu16(swap, elfhdr.e_shstrndx)) == -1)
Modified: projects/clang350-import/contrib/file/src/file.h
==============================================================================
--- projects/clang350-import/contrib/file/src/file.h Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/contrib/file/src/file.h Wed Dec 10 19:24:42 2014 (r275685)
@@ -482,6 +482,14 @@ protected int file_regexec(file_regex_t
protected void file_regfree(file_regex_t *);
protected void file_regerror(file_regex_t *, int, struct magic_set *);
+typedef struct {
+ char *buf;
+ uint32_t offset;
+} file_pushbuf_t;
+
+protected file_pushbuf_t *file_push_buffer(struct magic_set *);
+protected char *file_pop_buffer(struct magic_set *, file_pushbuf_t *);
+
#ifndef COMPILE_ONLY
extern const char *file_names[];
extern const size_t file_nnames;
Modified: projects/clang350-import/contrib/file/src/funcs.c
==============================================================================
--- projects/clang350-import/contrib/file/src/funcs.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/contrib/file/src/funcs.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -491,3 +491,43 @@ file_regerror(file_regex_t *rx, int rc,
file_magerror(ms, "regex error %d for `%s', (%s)", rc, rx->pat,
errmsg);
}
+
+protected file_pushbuf_t *
+file_push_buffer(struct magic_set *ms)
+{
+ file_pushbuf_t *pb;
+
+ if (ms->event_flags & EVENT_HAD_ERR)
+ return NULL;
+
+ if ((pb = (CAST(file_pushbuf_t *, malloc(sizeof(*pb))))) == NULL)
+ return NULL;
+
+ pb->buf = ms->o.buf;
+ pb->offset = ms->offset;
+
+ ms->o.buf = NULL;
+ ms->offset = 0;
+
+ return pb;
+}
+
+protected char *
+file_pop_buffer(struct magic_set *ms, file_pushbuf_t *pb)
+{
+ char *rbuf;
+
+ if (ms->event_flags & EVENT_HAD_ERR) {
+ free(pb->buf);
+ free(pb);
+ return NULL;
+ }
+
+ rbuf = ms->o.buf;
+
+ ms->o.buf = pb->buf;
+ ms->offset = pb->offset;
+
+ free(pb);
+ return rbuf;
+}
Modified: projects/clang350-import/contrib/file/src/readelf.c
==============================================================================
--- projects/clang350-import/contrib/file/src/readelf.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/contrib/file/src/readelf.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -60,6 +60,18 @@ private uint16_t getu16(int, uint16_t);
private uint32_t getu32(int, uint32_t);
private uint64_t getu64(int, uint64_t);
+#define MAX_PHNUM 256
+#define MAX_SHNUM 1024
+
+private int
+toomany(struct magic_set *ms, const char *name, uint16_t num)
+{
+ if (file_printf(ms, ", too many %s header sections (%u)", name, num
+ ) == -1)
+ return -1;
+ return 0;
+}
+
private uint16_t
getu16(int swap, uint16_t value)
{
@@ -477,6 +489,13 @@ donote(struct magic_set *ms, void *vbuf,
uint32_t namesz, descsz;
unsigned char *nbuf = CAST(unsigned char *, vbuf);
+ if (xnh_sizeof + offset > size) {
+ /*
+ * We're out of note headers.
+ */
+ return xnh_sizeof + offset;
+ }
+
(void)memcpy(xnh_addr, &nbuf[offset], xnh_sizeof);
offset += xnh_sizeof;
@@ -492,13 +511,13 @@ donote(struct magic_set *ms, void *vbuf,
if (namesz & 0x80000000) {
(void)file_printf(ms, ", bad note name size 0x%lx",
(unsigned long)namesz);
- return offset;
+ return 0;
}
if (descsz & 0x80000000) {
(void)file_printf(ms, ", bad note description size 0x%lx",
(unsigned long)descsz);
- return offset;
+ return 0;
}
@@ -900,6 +919,7 @@ doshn(struct magic_set *ms, int clazz, i
Elf32_Shdr sh32;
Elf64_Shdr sh64;
int stripped = 1;
+ size_t nbadcap = 0;
void *nbuf;
off_t noff, coff, name_off;
uint64_t cap_hw1 = 0; /* SunOS 5.x hardware capabilites */
@@ -988,6 +1008,8 @@ doshn(struct magic_set *ms, int clazz, i
goto skip;
}
+ if (nbadcap > 5)
+ break;
if (lseek(fd, xsh_offset, SEEK_SET) == (off_t)-1) {
file_badseek(ms);
return -1;
@@ -1053,6 +1075,8 @@ doshn(struct magic_set *ms, int clazz, i
(unsigned long long)xcap_tag,
(unsigned long long)xcap_val) == -1)
return -1;
+ if (nbadcap++ > 2)
+ coff = xsh_size;
break;
}
}
@@ -1233,7 +1257,7 @@ file_tryelf(struct magic_set *ms, int fd
int flags = 0;
Elf32_Ehdr elf32hdr;
Elf64_Ehdr elf64hdr;
- uint16_t type;
+ uint16_t type, phnum, shnum;
if (ms->flags & (MAGIC_MIME|MAGIC_APPLE))
return 0;
Modified: projects/clang350-import/contrib/file/src/softmagic.c
==============================================================================
--- projects/clang350-import/contrib/file/src/softmagic.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/contrib/file/src/softmagic.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -67,6 +67,9 @@ private void cvt_32(union VALUETYPE *, c
private void cvt_64(union VALUETYPE *, const struct magic *);
#define OFFSET_OOB(n, o, i) ((n) < (o) || (i) > ((n) - (o)))
+
+#define MAX_RECURSION_LEVEL 10
+
/*
* softmagic - lookup one file in parsed, in-memory copy of database
* Passed the name and FILE * of one file to be typed.
@@ -1193,14 +1196,15 @@ mget(struct magic_set *ms, const unsigne
int flip, int recursion_level, int *printed_something,
int *need_separator, int *returnval)
{
- uint32_t soffset, offset = ms->offset;
+ uint32_t offset = ms->offset;
uint32_t lhs;
+ file_pushbuf_t *pb;
int rv, oneed_separator, in_type;
- char *sbuf, *rbuf;
+ char *rbuf;
union VALUETYPE *p = &ms->ms_value;
struct mlist ml;
- if (recursion_level >= 20) {
+ if (recursion_level >= MAX_RECURSION_LEVEL) {
file_error(ms, 0, "recursion nesting exceeded");
return -1;
}
@@ -1644,19 +1648,23 @@ mget(struct magic_set *ms, const unsigne
case FILE_INDIRECT:
if (offset == 0)
return 0;
+
if (nbytes < offset)
return 0;
- sbuf = ms->o.buf;
- soffset = ms->offset;
- ms->o.buf = NULL;
- ms->offset = 0;
+
+ if ((pb = file_push_buffer(ms)) == NULL)
+ return -1;
+
rv = file_softmagic(ms, s + offset, nbytes - offset,
recursion_level, BINTEST, text);
+
if ((ms->flags & MAGIC_DEBUG) != 0)
fprintf(stderr, "indirect @offs=%u[%d]\n", offset, rv);
- rbuf = ms->o.buf;
- ms->o.buf = sbuf;
- ms->offset = soffset;
+
+ rbuf = file_pop_buffer(ms, pb);
+ if (rbuf == NULL && ms->event_flags & EVENT_HAD_ERR)
+ return -1;
+
if (rv == 1) {
if ((ms->flags & (MAGIC_MIME|MAGIC_APPLE)) == 0 &&
file_printf(ms, F(ms, m, "%u"), offset) == -1) {
@@ -1674,13 +1682,13 @@ mget(struct magic_set *ms, const unsigne
case FILE_USE:
if (nbytes < offset)
return 0;
- sbuf = m->value.s;
- if (*sbuf == '^') {
- sbuf++;
+ rbuf = m->value.s;
+ if (*rbuf == '^') {
+ rbuf++;
flip = !flip;
}
- if (file_magicfind(ms, sbuf, &ml) == -1) {
- file_error(ms, 0, "cannot find entry `%s'", sbuf);
+ if (file_magicfind(ms, rbuf, &ml) == -1) {
+ file_error(ms, 0, "cannot find entry `%s'", rbuf);
return -1;
}
Modified: projects/clang350-import/etc/auto_master
==============================================================================
--- projects/clang350-import/etc/auto_master Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/etc/auto_master Wed Dec 10 19:24:42 2014 (r275685)
@@ -3,3 +3,6 @@
# Automounter master map, see auto_master(5) for details.
#
/net -hosts -nobrowse,nosuid
+# When using the -media special map, make sure to edit devd.conf(5)
+# to move the call to "automount -c" out of the comments section.
+#/media -media -nosuid
Modified: projects/clang350-import/etc/autofs/Makefile
==============================================================================
--- projects/clang350-import/etc/autofs/Makefile Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/etc/autofs/Makefile Wed Dec 10 19:24:42 2014 (r275685)
@@ -1,6 +1,6 @@
# $FreeBSD$
-FILES= include_ldap special_hosts special_null
+FILES= include_ldap special_hosts special_media special_null
NO_OBJ=
FILESDIR= /etc/autofs
Copied: projects/clang350-import/etc/autofs/special_media (from r275684, head/etc/autofs/special_media)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/clang350-import/etc/autofs/special_media Wed Dec 10 19:24:42 2014 (r275685, copy of r275684, head/etc/autofs/special_media)
@@ -0,0 +1,93 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# Print newline-separated list of devices available for mounting.
+# If there is a filesystem label - use it, otherwise use device name.
+print_available() {
+ local _fstype _fstype_and_label _label _p
+
+ for _p in ${providers}; do
+ _fstype_and_label="$(fstyp -l "/dev/${_p}" 2> /dev/null)"
+ if [ $? -ne 0 ]; then
+ # Ignore devices for which we were unable
+ # to determine filesystem type.
+ continue
+ fi
+
+ _fstype="${_fstype_and_label%% *}"
+ if [ "${_fstype}" != "${_fstype_and_label}" ]; then
+ _label="${_fstype_and_label#* }"
+ echo "${_label}"
+ continue
+ fi
+
+ echo "${_p}"
+ done
+}
+
+# Print a single map entry.
+print_one() {
+ local _fstype _fstype_and_label _label _key _p
+
+ _key="$1"
+
+ _fstype="$(fstyp "/dev/${_key}" 2> /dev/null)"
+ if [ $? -eq 0 ]; then
+ echo "-fstype=${_fstype},nosuid :/dev/${_key}"
+ return
+ fi
+
+ for _p in ${providers}; do
+ _fstype_and_label="$(fstyp -l "/dev/${_p}" 2> /dev/null)"
+ if [ $? -ne 0 ]; then
+ # Ignore devices for which we were unable
+ # to determine filesystem type.
+ continue
+ fi
+
+ _fstype="${_fstype_and_label%% *}"
+ if [ "${_fstype}" = "${_fstype_and_label}" ]; then
+ # No label, try another device.
+ continue
+ fi
+
+ _label="${_fstype_and_label#* }"
+ if [ "${_label}" != "${_key}" ]; then
+ # Labels don't match, try another device.
+ continue
+ fi
+
+ echo "-fstype=${_fstype},nosuid :/dev/${_p}"
+ done
+
+ # No matching device - don't print anything, autofs will handle it.
+}
+
+# Obtain a list of (geom-provider-name, access-count) pairs, turning this:
+#
+# z0xfffff80005085d00 [shape=hexagon,label="ada0\nr2w2e3\nerr#0\nsector=512\nstripe=0"];
+#
+# Into this:
+#
+# ada0 r2w2e3
+#
+# XXX: It would be easier to use kern.geom.conftxt instead, but it lacks
+# access counts.
+pairs=$(sysctl kern.geom.confdot | sed -n 's/^.*hexagon,label="\([^\]*\)\\n\([^\]*\).*/\1 \2/p')
+
+# Obtain a list of GEOM providers that are not already open - not mounted,
+# and without other GEOM class, such as gpart, attached. In other words,
+# grep for "r0w0e0". Skip providers with names containing slashes; we're
+# not interested in geom_label(4) creations.
+providers=$(echo "$pairs" | awk '$2 == "r0w0e0" && $1 !~ /\// { print $1 }')
+
+if [ $# -eq 0 ]; then
+ print_available
+ exit 0
+fi
+
+print_one "$1"
+exit 0
+
Modified: projects/clang350-import/etc/devd.conf
==============================================================================
--- projects/clang350-import/etc/devd.conf Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/etc/devd.conf Wed Dec 10 19:24:42 2014 (r275685)
@@ -318,4 +318,16 @@ notify 0 {
action "/usr/local/etc/rc.d/postgresql restart";
};
+# Discard autofs caches, useful for the -media special map. The one
+# second delay is for GEOM to finish tasting.
+#
+# XXX: We should probably have a devctl(4) event that fires after GEOM
+# tasting.
+#
+notify 100 {
+ match "system" "DEVFS";
+ match "cdev" "(da|mmcsd)[0-9]+";
+ action "sleep 1 && /usr/sbin/automount -c";
+};
+
*/
Modified: projects/clang350-import/gnu/usr.bin/gdb/kgdb/kthr.c
==============================================================================
--- projects/clang350-import/gnu/usr.bin/gdb/kgdb/kthr.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/gnu/usr.bin/gdb/kgdb/kthr.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -96,7 +96,7 @@ kgdb_thr_add_procs(uintptr_t paddr)
kt->kaddr = addr;
if (td.td_tid == dumptid)
kt->pcb = dumppcb;
- else if (td.td_state == TDS_RUNNING &&
+ else if (td.td_oncpu != NOCPU &&
CPU_ISSET(td.td_oncpu, &stopped_cpus))
kt->pcb = kgdb_trgt_core_pcb(td.td_oncpu);
else
Modified: projects/clang350-import/lib/libc/net/sctp_sys_calls.c
==============================================================================
--- projects/clang350-import/lib/libc/net/sctp_sys_calls.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/lib/libc/net/sctp_sys_calls.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -886,7 +886,7 @@ sctp_recvv(int sd,
struct sctp_rcvinfo *rcvinfo;
struct sctp_nxtinfo *nxtinfo;
- if (((info != NULL) && (infolen == NULL)) |
+ if (((info != NULL) && (infolen == NULL)) ||
((info == NULL) && (infolen != NULL) && (*infolen != 0)) ||
((info != NULL) && (infotype == NULL))) {
errno = EINVAL;
Modified: projects/clang350-import/lib/libc/stdio/fflush.c
==============================================================================
--- projects/clang350-import/lib/libc/stdio/fflush.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/lib/libc/stdio/fflush.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -124,11 +124,13 @@ __sflush(FILE *fp)
t = _swrite(fp, (char *)p, n);
if (t <= 0) {
/* Reset _p and _w. */
- if (p > fp->_p) /* Some was written. */
+ if (p > fp->_p) {
+ /* Some was written. */
memmove(fp->_p, p, n);
- fp->_p += n;
- if ((fp->_flags & (__SLBF | __SNBF)) == 0)
- fp->_w -= n;
+ fp->_p += n;
+ if ((fp->_flags & (__SLBF | __SNBF)) == 0)
+ fp->_w -= n;
+ }
fp->_flags |= __SERR;
return (EOF);
}
Modified: projects/clang350-import/sbin/mount/mount.8
==============================================================================
--- projects/clang350-import/sbin/mount/mount.8 Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sbin/mount/mount.8 Wed Dec 10 19:24:42 2014 (r275685)
@@ -28,7 +28,7 @@
.\" @(#)mount.8 8.8 (Berkeley) 6/16/94
.\" $FreeBSD$
.\"
-.Dd November 22, 2014
+.Dd December 3, 2014
.Dt MOUNT 8
.Os
.Sh NAME
@@ -549,6 +549,7 @@ support for a particular file system mig
.Xr fstab 5 ,
.Xr procfs 5 ,
.Xr automount 8 ,
+.Xr fstyp 8 ,
.Xr kldload 8 ,
.Xr mount_cd9660 8 ,
.Xr mount_msdosfs 8 ,
Modified: projects/clang350-import/sys/arm/altera/socfpga/files.socfpga
==============================================================================
--- projects/clang350-import/sys/arm/altera/socfpga/files.socfpga Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/arm/altera/socfpga/files.socfpga Wed Dec 10 19:24:42 2014 (r275685)
@@ -26,5 +26,6 @@ dev/mmc/host/dwmmc.c optional dwmmc
# BERI specific
dev/beri/beri_ring.c optional beri_ring
dev/beri/beri_mem.c optional beri_mem
-dev/beri/virtio/virtio.c optional beri_vtblk
+dev/beri/virtio/virtio.c optional beri_vtblk | vtbe
dev/beri/virtio/virtio_block.c optional beri_vtblk
+dev/beri/virtio/network/if_vtbe.c optional vtbe
Modified: projects/clang350-import/sys/arm/arm/syscall.c
==============================================================================
--- projects/clang350-import/sys/arm/arm/syscall.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/arm/arm/syscall.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/lock.h>
#include <sys/mutex.h>
Modified: projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_wdog.c
==============================================================================
--- projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_wdog.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_wdog.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -142,14 +142,13 @@ bcmwd_watchdog_fn(void *private, u_int c
if (cmd > 0) {
sec = ((uint64_t)1 << (cmd & WD_INTERVAL)) / 1000000000;
- ticks = (sec << 16) & BCM2835_WDOG_TIME_MASK;
- if (ticks == 0) {
+ if (sec == 0 || sec > 15) {
/*
* Can't arm
* disable watchdog as watchdog(9) requires
*/
device_printf(sc->dev,
- "Can't arm, timeout is less than 1 second\n");
+ "Can't arm, timeout must be between 1-15 seconds\n");
WRITE(sc, BCM2835_RSTC_REG,
(BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT) |
BCM2835_RSTC_RESET);
@@ -157,6 +156,7 @@ bcmwd_watchdog_fn(void *private, u_int c
return;
}
+ ticks = (sec << 16) & BCM2835_WDOG_TIME_MASK;
reg = (BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT) | ticks;
WRITE(sc, BCM2835_WDOG_REG, reg);
Modified: projects/clang350-import/sys/arm/conf/SOCKIT-BERI
==============================================================================
--- projects/clang350-import/sys/arm/conf/SOCKIT-BERI Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/arm/conf/SOCKIT-BERI Wed Dec 10 19:24:42 2014 (r275685)
@@ -123,6 +123,7 @@ device spibus
device beri_ring
device beri_mem
device beri_vtblk
+device vtbe
device altera_pio
# Ethernet
Modified: projects/clang350-import/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts
==============================================================================
--- projects/clang350-import/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts Wed Dec 10 19:24:42 2014 (r275685)
@@ -39,7 +39,8 @@
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
memreserve = < 0x00000000 0x1000 >, /* SMP trampoline */
- < 0x00001000 0x1000 >; /* virtio block */
+ < 0x00001000 0x1000 >, /* virtio block */
+ < 0x00002000 0x1000 >; /* virtio net */
memory {
device_type = "memory";
@@ -111,6 +112,15 @@
pio-recv = <&pio0>;
pio-send = <&pio1>;
beri-mem = <&beri_mem0>;
+ status = "disabled";
+ };
+
+ beri_vtnet: vtnet at 00002000 {
+ compatible = "sri-cambridge,beri-vtnet";
+ reg = <0x00002000 0x1000>;
+ pio-recv = <&pio0>;
+ pio-send = <&pio1>;
+ beri-mem = <&beri_mem0>;
status = "okay";
};
Modified: projects/clang350-import/sys/conf/files
==============================================================================
--- projects/clang350-import/sys/conf/files Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/conf/files Wed Dec 10 19:24:42 2014 (r275685)
@@ -2651,6 +2651,7 @@ dev/xen/blkback/blkback.c optional xen |
dev/xen/console/console.c optional xen | xenhvm
dev/xen/console/xencons_ring.c optional xen | xenhvm
dev/xen/control/control.c optional xen | xenhvm
+dev/xen/grant_table/grant_table.c optional xen | xenhvm
dev/xen/netback/netback.c optional xen | xenhvm
dev/xen/netfront/netfront.c optional xen | xenhvm
dev/xen/xenpci/xenpci.c optional xenpci
@@ -4000,7 +4001,6 @@ vm/vm_reserv.c standard
vm/vm_unix.c standard
vm/vm_zeroidle.c standard
vm/vnode_pager.c standard
-xen/gnttab.c optional xen | xenhvm
xen/features.c optional xen | xenhvm
xen/xenbus/xenbus_if.m optional xen | xenhvm
xen/xenbus/xenbus.c optional xen | xenhvm
Modified: projects/clang350-import/sys/conf/files.amd64
==============================================================================
--- projects/clang350-import/sys/conf/files.amd64 Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/conf/files.amd64 Wed Dec 10 19:24:42 2014 (r275685)
@@ -336,6 +336,8 @@ dev/viawd/viawd.c optional viawd
dev/vmware/vmxnet3/if_vmx.c optional vmx
dev/wbwd/wbwd.c optional wbwd
dev/wpi/if_wpi.c optional wpi
+dev/xen/pci/xen_acpi_pci.c optional xenhvm
+dev/xen/pci/xen_pci.c optional xenhvm
dev/isci/isci.c optional isci
dev/isci/isci_controller.c optional isci
dev/isci/isci_domain.c optional isci
@@ -572,4 +574,4 @@ x86/xen/xen_apic.c optional xenhvm
x86/xen/xenpv.c optional xenhvm
x86/xen/xen_nexus.c optional xenhvm
x86/xen/xen_msi.c optional xenhvm
-x86/xen/xen_pci.c optional xenhvm
+x86/xen/xen_pci_bus.c optional xenhvm
Modified: projects/clang350-import/sys/dev/beri/virtio/virtio.c
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/virtio.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/beri/virtio/virtio.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -58,10 +58,18 @@ __FBSDID("$FreeBSD$");
#include <machine/cpu.h>
#include <machine/intr.h>
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/openfirm.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
#include <dev/beri/virtio/virtio.h>
#include <dev/virtio/virtio.h>
#include <dev/virtio/virtqueue.h>
#include <dev/virtio/virtio_ring.h>
+#include <dev/altera/pio/pio.h>
+
+#include "pio_if.h"
int
vq_ring_ready(struct vqueue_info *vq)
@@ -167,12 +175,13 @@ vq_relchain(struct vqueue_info *vq, stru
int i;
mask = vq->vq_qsize - 1;
+ vu = vq->vq_used;
head = be16toh(vq->vq_avail->ring[vq->vq_last_avail++ & mask]);
- vu = vq->vq_used;
uidx = be16toh(vu->idx);
vue = &vu->ring[uidx++ & mask];
- vue->id = htobe16(head);
+ vue->id = htobe32(head);
+
vue->len = htobe32(iolen);
vu->idx = htobe16(uidx);
@@ -181,3 +190,59 @@ vq_relchain(struct vqueue_info *vq, stru
paddr_unmap((void *)iov[i].iov_base, iov[i].iov_len);
}
}
+
+int
+setup_pio(device_t dev, char *name, device_t *pio_dev)
+{
+ phandle_t pio_node;
+ struct fdt_ic *ic;
+ phandle_t xref;
+ phandle_t node;
+
+ if ((node = ofw_bus_get_node(dev)) == -1)
+ return (ENXIO);
+
+ if (OF_searchencprop(node, name, &xref,
+ sizeof(xref)) == -1) {
+ return (ENXIO);
+ }
+
+ pio_node = OF_node_from_xref(xref);
+ SLIST_FOREACH(ic, &fdt_ic_list_head, fdt_ics) {
+ if (ic->iph == pio_node) {
+ *pio_dev = ic->dev;
+ PIO_CONFIGURE(*pio_dev, PIO_OUT_ALL,
+ PIO_UNMASK_ALL);
+ return (0);
+ }
+ }
+
+ return (ENXIO);
+}
+
+int
+setup_offset(device_t dev, uint32_t *offset)
+{
+ pcell_t dts_value[2];
+ phandle_t mem_node;
+ phandle_t xref;
+ phandle_t node;
+ int len;
+
+ if ((node = ofw_bus_get_node(dev)) == -1)
+ return (ENXIO);
+
+ if (OF_searchencprop(node, "beri-mem", &xref,
+ sizeof(xref)) == -1) {
+ return (ENXIO);
+ }
+
+ mem_node = OF_node_from_xref(xref);
+ if ((len = OF_getproplen(mem_node, "reg")) <= 0)
+ return (ENXIO);
+ OF_getencprop(mem_node, "reg", dts_value, len);
+ *offset = dts_value[0];
+
+ return (0);
+}
+
Modified: projects/clang350-import/sys/dev/beri/virtio/virtio.h
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/virtio.h Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/beri/virtio/virtio.h Wed Dec 10 19:24:42 2014 (r275685)
@@ -41,14 +41,10 @@
#define PAGE_SHIFT 12
#define VRING_ALIGN 4096
-#define NUM_QUEUES 1
#define VQ_ALLOC 0x01 /* set once we have a pfn */
#define VQ_MAX_DESCRIPTORS 512
-#define VTBLK_BLK_ID_BYTES 20
-#define VTBLK_MAXSEGS 256
-
struct vqueue_info {
uint16_t vq_qsize; /* size of this queue (a power of 2) */
uint16_t vq_num;
@@ -70,3 +66,5 @@ int vq_getchain(uint32_t beri_mem_offset
struct iovec *iov, int n_iov, uint16_t *flags);
void vq_relchain(struct vqueue_info *vq, struct iovec *iov, int n, uint32_t iolen);
+int setup_pio(device_t dev, char *name, device_t *pio_dev);
+int setup_offset(device_t dev, uint32_t *offset);
Modified: projects/clang350-import/sys/dev/beri/virtio/virtio_block.c
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/virtio_block.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/beri/virtio/virtio_block.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -74,6 +74,13 @@ __FBSDID("$FreeBSD$");
#define DPRINTF(fmt, ...)
+/* We use indirect descriptors */
+#define NUM_DESCS 1
+#define NUM_QUEUES 1
+
+#define VTBLK_BLK_ID_BYTES 20
+#define VTBLK_MAXSEGS 256
+
struct beri_vtblk_softc {
struct resource *res[1];
bus_space_tag_t bst;
@@ -286,8 +293,12 @@ vtblk_notify(struct beri_vtblk_softc *sc
while (vq_has_descs(vq))
vtblk_proc(sc, vq);
- /* Interrupt other side */
- PIO_SET(sc->pio_send, Q_INTR, 1);
+ /* Interrupt the other side */
+ if ((be16toh(vq->vq_avail->flags) & VRING_AVAIL_F_NO_INTERRUPT) == 0) {
+ reg = htobe32(VIRTIO_MMIO_INT_VRING);
+ WRITE4(sc, VIRTIO_MMIO_INTERRUPT_STATUS, reg);
+ PIO_SET(sc->pio_send, Q_INTR, 1);
+ }
return (0);
}
@@ -302,7 +313,7 @@ vq_init(struct beri_vtblk_softc *sc)
int pfn;
vq = &sc->vs_queues[0];
- vq->vq_qsize = NUM_QUEUES;
+ vq->vq_qsize = NUM_DESCS;
reg = READ4(sc, VIRTIO_MMIO_QUEUE_PFN);
pfn = be32toh(reg);
@@ -353,61 +364,6 @@ vtblk_thread(void *arg)
}
static int
-setup_pio(struct beri_vtblk_softc *sc, char *name, device_t *dev)
-{
- phandle_t pio_node;
- struct fdt_ic *ic;
- phandle_t xref;
- phandle_t node;
-
- if ((node = ofw_bus_get_node(sc->dev)) == -1)
- return (ENXIO);
-
- if (OF_searchencprop(node, name, &xref,
- sizeof(xref)) == -1) {
- return (ENXIO);
- }
-
- pio_node = OF_node_from_xref(xref);
- SLIST_FOREACH(ic, &fdt_ic_list_head, fdt_ics) {
- if (ic->iph == pio_node) {
- *dev = ic->dev;
- PIO_CONFIGURE(*dev, PIO_OUT_ALL,
- PIO_UNMASK_ALL);
- return (0);
- }
- }
-
- return (ENXIO);
-}
-
-static int
-setup_offset(struct beri_vtblk_softc *sc)
-{
- pcell_t dts_value[2];
- phandle_t mem_node;
- phandle_t xref;
- phandle_t node;
- int len;
-
- if ((node = ofw_bus_get_node(sc->dev)) == -1)
- return (ENXIO);
-
- if (OF_searchencprop(node, "beri-mem", &xref,
- sizeof(xref)) == -1) {
- return (ENXIO);
- }
-
- mem_node = OF_node_from_xref(xref);
- if ((len = OF_getproplen(mem_node, "reg")) <= 0)
- return (ENXIO);
- OF_getencprop(mem_node, "reg", dts_value, len);
- sc->beri_mem_offset = dts_value[0];
-
- return (0);
-}
-
-static int
backend_info(struct beri_vtblk_softc *sc)
{
struct virtio_blk_config *cfg;
@@ -419,9 +375,9 @@ backend_info(struct beri_vtblk_softc *sc
reg = htobe32(VIRTIO_ID_BLOCK);
WRITE4(sc, VIRTIO_MMIO_DEVICE_ID, reg);
- /* The number of queues we support */
- reg = htobe16(NUM_QUEUES);
- WRITE2(sc, VIRTIO_MMIO_QUEUE_NUM, reg);
+ /* Queue size */
+ reg = htobe32(NUM_DESCS);
+ WRITE4(sc, VIRTIO_MMIO_QUEUE_NUM_MAX, reg);
/* Our features */
reg = htobe32(VIRTIO_RING_F_INDIRECT_DESC
@@ -566,11 +522,11 @@ beri_vtblk_attach(device_t dev)
return (ENXIO);
}
- if (setup_offset(sc) != 0)
+ if (setup_offset(dev, &sc->beri_mem_offset) != 0)
return (ENXIO);
- if (setup_pio(sc, "pio-send", &sc->pio_send) != 0)
+ if (setup_pio(dev, "pio-send", &sc->pio_send) != 0)
return (ENXIO);
- if (setup_pio(sc, "pio-recv", &sc->pio_recv) != 0)
+ if (setup_pio(dev, "pio-recv", &sc->pio_recv) != 0)
return (ENXIO);
sc->cdev = make_dev(&beri_cdevsw, 0, UID_ROOT, GID_WHEEL,
Modified: projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.c
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -149,20 +149,49 @@ virtio_mmio_platform_attach(device_t dev
}
static int
-platform_note(device_t dev, size_t offset)
+platform_note(device_t dev, size_t offset, int val)
{
struct virtio_mmio_platform_softc *sc;
+ int note;
+ int i;
sc = device_get_softc(dev);
- if (offset == VIRTIO_MMIO_QUEUE_NOTIFY) {
- mips_dcache_wbinv_all();
- PIO_SET(sc->pio_send, Q_NOTIFY, 1);
+ switch (offset) {
+ case (VIRTIO_MMIO_QUEUE_NOTIFY):
+ if (val == 0)
+ note = Q_NOTIFY;
+ else if (val == 1)
+ note = Q_NOTIFY1;
+ break;
+ case (VIRTIO_MMIO_QUEUE_PFN):
+ note = Q_PFN;
+ break;
+ case (VIRTIO_MMIO_QUEUE_SEL):
+ note = Q_SEL;
+ break;
+ default:
+ note = 0;
}
- if (offset == VIRTIO_MMIO_QUEUE_PFN) {
+ if (note) {
mips_dcache_wbinv_all();
- PIO_SET(sc->pio_send, Q_PFN, 1);
+
+ PIO_SET(sc->pio_send, note, 1);
+
+ /*
+ * Wait until host ack the request.
+ * Usually done within few cycles.
+ * TODO: bad
+ */
+
+ for (i = 100; i > 0; i--) {
+ if (PIO_READ(sc->pio_send) == 0)
+ break;
+ }
+
+ if (i == 0)
+ device_printf(sc->dev, "Warning: host busy\n");
}
return (0);
Modified: projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.h
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.h Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/beri/virtio/virtio_mmio_platform.h Wed Dec 10 19:24:42 2014 (r275685)
@@ -30,6 +30,8 @@
* $FreeBSD$
*/
-#define Q_NOTIFY 0x1
-#define Q_PFN 0x2
-#define Q_INTR 0x4
+#define Q_NOTIFY 0x01
+#define Q_PFN 0x02
+#define Q_INTR 0x04
+#define Q_SEL 0x08
+#define Q_NOTIFY1 0x10
Modified: projects/clang350-import/sys/dev/mii/micphy.c
==============================================================================
--- projects/clang350-import/sys/dev/mii/micphy.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/mii/micphy.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -68,7 +68,7 @@ __FBSDID("$FreeBSD$");
#define MII_KSZPHY_RX_DATA_PAD_SKEW 0x105
#define MII_KSZPHY_TX_DATA_PAD_SKEW 0x106
-#define PS_TO_REG(p) (p / 200)
+#define PS_TO_REG(p) ((p) / 200)
static int micphy_probe(device_t);
static int micphy_attach(device_t);
@@ -104,7 +104,8 @@ static const struct mii_phy_funcs micphy
mii_phy_reset
};
-static void micphy_write(struct mii_softc *sc, uint32_t reg, uint32_t val)
+static void
+micphy_write(struct mii_softc *sc, uint32_t reg, uint32_t val)
{
PHY_WRITE(sc, MII_KSZPHY_EXTREG, KSZPHY_EXTREG_WRITE | reg);
Modified: projects/clang350-import/sys/dev/usb/usbdevs
==============================================================================
--- projects/clang350-import/sys/dev/usb/usbdevs Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/usb/usbdevs Wed Dec 10 19:24:42 2014 (r275685)
@@ -3195,7 +3195,7 @@ product NETGEAR EA101X 0x1002 Ethernet
product NETGEAR FA101 0x1020 Ethernet 10/100, USB1.1
product NETGEAR FA120 0x1040 USB 2.0 Ethernet
product NETGEAR M4100 0x1100 M4100/M5300/M7100 series switch
-product NETGEAR WG111V2_2 0x4240 PrismGT USB 2.0 WLAN
+product NETGEAR WG111V1_2 0x4240 PrismGT USB 2.0 WLAN
product NETGEAR WG111V3 0x4260 WG111v3
product NETGEAR WG111U 0x4300 WG111U
product NETGEAR WG111U_NF 0x4301 WG111U (no firmware)
Modified: projects/clang350-import/sys/dev/usb/wlan/if_upgt.c
==============================================================================
--- projects/clang350-import/sys/dev/usb/wlan/if_upgt.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/usb/wlan/if_upgt.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -182,7 +182,7 @@ static const STRUCT_USB_HOST_ID upgt_dev
UPGT_DEV(FSC, E5400),
UPGT_DEV(GLOBESPAN, PRISM_GT_1),
UPGT_DEV(GLOBESPAN, PRISM_GT_2),
- UPGT_DEV(NETGEAR, WG111V2_2),
+ UPGT_DEV(NETGEAR, WG111V1_2),
UPGT_DEV(INTERSIL, PRISM_GT),
UPGT_DEV(SMC, 2862WG),
UPGT_DEV(USR, USR5422),
Modified: projects/clang350-import/sys/dev/virtio/mmio/virtio_mmio.c
==============================================================================
--- projects/clang350-import/sys/dev/virtio/mmio/virtio_mmio.c Wed Dec 10 18:41:25 2014 (r275684)
+++ projects/clang350-import/sys/dev/virtio/mmio/virtio_mmio.c Wed Dec 10 19:24:42 2014 (r275685)
@@ -1,11 +1,15 @@
/*-
* Copyright (c) 2014 Ruslan Bukin <br at bsdpad.com>
+ * Copyright (c) 2014 The FreeBSD Foundation
* All rights reserved.
*
* This software was developed by SRI International and the University of
* Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
* ("CTSRD"), as part of the DARPA CRASH research programme.
*
+ * Portions of this software were developed by Andrew Turner
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list