From owner-svn-src-projects@FreeBSD.ORG Tue Dec 23 21:07:59 2008 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90FF5106564A; Tue, 23 Dec 2008 21:07:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7ACF58FC1C; Tue, 23 Dec 2008 21:07:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mBNL7xAD013737; Tue, 23 Dec 2008 21:07:59 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mBNL7wEY013702; Tue, 23 Dec 2008 21:07:58 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200812232107.mBNL7wEY013702@svn.freebsd.org> From: Sam Leffler Date: Tue, 23 Dec 2008 21:07:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r186460 - in projects/cambria: . etc etc/devd lib/bind/dns lib/bind/dns/dns lib/libarchive lib/libarchive/test libexec/ftpd sbin/kldstat sbin/mount_msdosfs sbin/shutdown share/man/man4 ... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2008 21:07:59 -0000 Author: sam Date: Tue Dec 23 21:07:57 2008 New Revision: 186460 URL: http://svn.freebsd.org/changeset/base/186460 Log: merge from HEAD Added: projects/cambria/sys/dev/usb/ehci_ixp4xx.c - copied unchanged from r186445, head/sys/dev/usb/ehci_ixp4xx.c projects/cambria/tools/tools/ether_reflect/ - copied from r186457, head/tools/tools/ether_reflect/ projects/cambria/usr.bin/elf2aout/elf2aout.1 - copied unchanged from r186445, head/usr.bin/elf2aout/elf2aout.1 Deleted: projects/cambria/sys/netinet/ipprotosw.h Modified: projects/cambria/ (props changed) projects/cambria/ObsoleteFiles.inc projects/cambria/etc/devd.conf projects/cambria/etc/devd/asus.conf projects/cambria/lib/bind/dns/code.h projects/cambria/lib/bind/dns/dns/enumclass.h projects/cambria/lib/bind/dns/dns/enumtype.h projects/cambria/lib/bind/dns/dns/rdatastruct.h projects/cambria/lib/libarchive/archive_entry.c projects/cambria/lib/libarchive/test/main.c projects/cambria/libexec/ftpd/extern.h projects/cambria/libexec/ftpd/ftpcmd.y projects/cambria/libexec/ftpd/ftpd.c projects/cambria/sbin/kldstat/kldstat.c projects/cambria/sbin/mount_msdosfs/mount_msdosfs.8 projects/cambria/sbin/shutdown/shutdown.8 projects/cambria/share/man/man4/uscanner.4 projects/cambria/share/man/man5/nsswitch.conf.5 projects/cambria/share/man/man9/domain.9 projects/cambria/sys/cam/cam_sim.h projects/cambria/sys/cam/scsi/scsi_cd.c projects/cambria/sys/cam/scsi/scsi_da.c projects/cambria/sys/cam/scsi/scsi_pass.c projects/cambria/sys/cam/scsi/scsi_sg.c projects/cambria/sys/conf/files projects/cambria/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c projects/cambria/sys/dev/agp/agp.c projects/cambria/sys/dev/agp/agp_i810.c projects/cambria/sys/dev/agp/agppriv.h projects/cambria/sys/dev/drm/drmP.h projects/cambria/sys/dev/re/if_re.c projects/cambria/sys/dev/sound/pci/hda/hdac.c projects/cambria/sys/dev/usb/ehci_mbus.c projects/cambria/sys/dev/usb/uftdi.c projects/cambria/sys/dev/usb/usbdevs projects/cambria/sys/dev/usb/uscanner.c projects/cambria/sys/dev/usb2/controller/at91dci.c projects/cambria/sys/dev/usb2/controller/at91dci_atmelarm.c projects/cambria/sys/dev/usb2/controller/ehci2.c projects/cambria/sys/dev/usb2/controller/ehci2_pci.c projects/cambria/sys/dev/usb2/controller/musb2_otg.c projects/cambria/sys/dev/usb2/controller/musb2_otg_atmelarm.c projects/cambria/sys/dev/usb2/controller/ohci2.c projects/cambria/sys/dev/usb2/controller/ohci2_atmelarm.c projects/cambria/sys/dev/usb2/controller/ohci2_pci.c projects/cambria/sys/dev/usb2/controller/uhci2.c projects/cambria/sys/dev/usb2/controller/uhci2_pci.c projects/cambria/sys/dev/usb2/controller/usb2_bus.h projects/cambria/sys/dev/usb2/controller/usb2_controller.c projects/cambria/sys/dev/usb2/controller/uss820dci.c projects/cambria/sys/dev/usb2/controller/uss820dci_atmelarm.c projects/cambria/sys/dev/usb2/core/usb2_transfer.c projects/cambria/sys/dev/usb2/ethernet/if_aue2.c projects/cambria/sys/dev/usb2/ethernet/if_axe2.c projects/cambria/sys/dev/usb2/ethernet/if_cue2.c projects/cambria/sys/dev/usb2/ethernet/if_kue2.c projects/cambria/sys/dev/usb2/ethernet/if_rue2.c projects/cambria/sys/dev/usb2/ethernet/if_udav2.c projects/cambria/sys/dev/usb2/input/ukbd2.c projects/cambria/sys/dev/usb2/input/ums2.c projects/cambria/sys/dev/usb2/serial/ulpt2.c projects/cambria/sys/dev/usb2/wlan/if_rum2.c projects/cambria/sys/dev/usb2/wlan/if_ural2.c projects/cambria/sys/dev/usb2/wlan/if_zyd2.c projects/cambria/sys/kern/sched_ule.c projects/cambria/sys/kern/subr_prf.c projects/cambria/sys/kern/tty.c projects/cambria/sys/kern/tty_pts.c projects/cambria/sys/kern/uipc_domain.c projects/cambria/sys/kern/vfs_cache.c projects/cambria/sys/net/if_tun.c projects/cambria/sys/netinet/if_ether.c projects/cambria/sys/netinet6/in6.c projects/cambria/sys/netinet6/ip6_input.c projects/cambria/sys/netipsec/vipsec.h projects/cambria/sys/pc98/conf/GENERIC projects/cambria/sys/pci/if_rl.c projects/cambria/sys/security/mac/mac_process.c projects/cambria/sys/sparc64/sparc64/mp_machdep.c projects/cambria/sys/sun4v/include/ofw_machdep.h projects/cambria/sys/vm/vm_object.c projects/cambria/tools/regression/bin/sh/builtins/type1.0.stderr (props changed) projects/cambria/tools/tools/README projects/cambria/tools/tools/mctest/mctest.1 projects/cambria/usr.bin/elf2aout/Makefile projects/cambria/usr.bin/ncal/ncal.1 projects/cambria/usr.bin/ncal/ncal.c projects/cambria/usr.sbin/burncd/burncd.c projects/cambria/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/cambria/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/cambria/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/cambria/usr.sbin/makefs/getid.c (props changed) projects/cambria/usr.sbin/nscd/nscd.conf.5 projects/cambria/usr.sbin/pmcstat/pmcstat.c projects/cambria/usr.sbin/syslogd/syslog.conf.5 Modified: projects/cambria/ObsoleteFiles.inc ============================================================================== --- projects/cambria/ObsoleteFiles.inc Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/ObsoleteFiles.inc Tue Dec 23 21:07:57 2008 (r186460) @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20081223: ipprotosw.h removed +OLD_FILES+=usr/include/netinet/ipprotosw.h # 20081123: vfs_mountedon.9 removed OLD_FILES+=usr/share/man/man9/vfs_mountedon.9.gz # 20081023: FREE.9 and MALLOC.9 removed Modified: projects/cambria/etc/devd.conf ============================================================================== --- projects/cambria/etc/devd.conf Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/etc/devd.conf Tue Dec 23 21:07:57 2008 (r186460) @@ -255,28 +255,6 @@ notify 10 { action "/etc/rc.resume acpi $notify"; }; -# The next blocks enable volume hotkeys that can be found on the Asus laptops -notify 0 { - match "system" "ACPI"; - match "subsystem" "ASUS"; - match "notify" "0x32"; - action "mixer 0"; -}; - -notify 0 { - match "system" "ACPI"; - match "subsystem" "ASUS"; - match "notify" "0x31"; - action "mixer vol -10"; -}; - -notify 0 { - match "system" "ACPI"; - match "subsystem" "ASUS"; - match "notify" "0x30"; - action "mixer vol +10"; -}; - /* EXAMPLES TO END OF FILE # The following might be an example of something that a vendor might Modified: projects/cambria/etc/devd/asus.conf ============================================================================== --- projects/cambria/etc/devd/asus.conf Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/etc/devd/asus.conf Tue Dec 23 21:07:57 2008 (r186460) @@ -2,6 +2,28 @@ # # ASUS specific devd events +# The next blocks enable volume hotkeys that can be found on the Asus laptops +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS"; + match "notify" "0x32"; + action "mixer 0"; +}; + +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS"; + match "notify" "0x31"; + action "mixer vol -10"; +}; + +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS"; + match "notify" "0x30"; + action "mixer vol +10"; +}; + # The next blocks enable volume hotkeys that can be found on the Asus EeePC notify 0 { match "system" "ACPI"; Modified: projects/cambria/lib/bind/dns/code.h ============================================================================== --- projects/cambria/lib/bind/dns/code.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/lib/bind/dns/code.h Tue Dec 23 21:07:57 2008 (r186460) @@ -1,7 +1,7 @@ /* $FreeBSD$ */ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2003 Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any Modified: projects/cambria/lib/bind/dns/dns/enumclass.h ============================================================================== --- projects/cambria/lib/bind/dns/dns/enumclass.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/lib/bind/dns/dns/enumclass.h Tue Dec 23 21:07:57 2008 (r186460) @@ -1,7 +1,7 @@ /* $FreeBSD$ */ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2003 Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any Modified: projects/cambria/lib/bind/dns/dns/enumtype.h ============================================================================== --- projects/cambria/lib/bind/dns/dns/enumtype.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/lib/bind/dns/dns/enumtype.h Tue Dec 23 21:07:57 2008 (r186460) @@ -1,7 +1,7 @@ /* $FreeBSD$ */ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2003 Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any Modified: projects/cambria/lib/bind/dns/dns/rdatastruct.h ============================================================================== --- projects/cambria/lib/bind/dns/dns/rdatastruct.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/lib/bind/dns/dns/rdatastruct.h Tue Dec 23 21:07:57 2008 (r186460) @@ -1,7 +1,7 @@ /* $FreeBSD$ */ /* - * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2003 Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any @@ -1608,10 +1608,10 @@ typedef struct dns_rdata_rrsig { #endif /* GENERIC_DNSSIG_46_H */ /* - * Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2003 Internet Software Consortium. * - * Permission to use, copy, modify, and distribute this software for any + * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * @@ -1627,10 +1627,10 @@ typedef struct dns_rdata_rrsig { #ifndef GENERIC_NSEC_47_H #define GENERIC_NSEC_47_H 1 -/* $Id: nsec_47.h,v 1.4.20.2 2005/04/29 00:16:37 marka Exp $ */ +/* $Id: nsec_47.h,v 1.4.20.4 2008/07/15 23:46:14 tbox Exp $ */ /*! - * \brief Per draft-ietf-dnsext-nsec-rdata-01.txt */ + * \brief Per RFC 3845 */ typedef struct dns_rdata_nsec { dns_rdatacommon_t common; Modified: projects/cambria/lib/libarchive/archive_entry.c ============================================================================== --- projects/cambria/lib/libarchive/archive_entry.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/lib/libarchive/archive_entry.c Tue Dec 23 21:07:57 2008 (r186460) @@ -239,7 +239,8 @@ aes_get_wcs(struct aes *aes) if (aes->aes_set & AES_SET_UTF8) { /* Try converting UTF8 to WCS. */ aes->aes_wcs = __archive_string_utf8_w(&(aes->aes_utf8)); - aes->aes_set |= AES_SET_WCS; + if (aes->aes_wcs != NULL) + aes->aes_set |= AES_SET_WCS; return (aes->aes_wcs); } return (NULL); Modified: projects/cambria/lib/libarchive/test/main.c ============================================================================== --- projects/cambria/lib/libarchive/test/main.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/lib/libarchive/test/main.c Tue Dec 23 21:07:57 2008 (r186460) @@ -846,48 +846,59 @@ extract_reference_file(const char *name) static char * get_refdir(const char *tmpdir) { - char *ref, *p; + char tried[512] = { '\0' }; + char buff[128]; + char *pwd, *p; /* Get the current dir. */ systemf("/bin/pwd > %s/refdir", tmpdir); - ref = slurpfile(NULL, "%s/refdir", tmpdir); - p = ref + strlen(ref); - while (p[-1] == '\n') { - --p; - *p = '\0'; - } + pwd = slurpfile(NULL, "%s/refdir", tmpdir); + while (pwd[strlen(pwd) - 1] == '\n') + pwd[strlen(pwd) - 1] = '\0'; + printf("PWD: %s\n", pwd); systemf("rm %s/refdir", tmpdir); + /* Look for a known file. */ - p = slurpfile(NULL, "%s/%s", ref, KNOWNREF); - if (p != NULL) { - free(p); - return (ref); - } - p = slurpfile(NULL, "%s/test/%s", ref, KNOWNREF); - if (p != NULL) { - free(p); - p = malloc(strlen(ref) + strlen("/test") + 1); - strcpy(p, ref); - strcat(p, "/test"); - free(ref); - return (p); - } - p = slurpfile(NULL, "%s/%s/test/%s", ref, LIBRARY, KNOWNREF); - if (p != NULL) { - free(p); - p = malloc(strlen(ref) + 1 + strlen(LIBRARY) + strlen("/test") + 1); - strcpy(p, ref); - strcat(p, "/"); - strcat(p, LIBRARY); - strcat(p, "/test"); - free(ref); - return (p); + snprintf(buff, sizeof(buff), "%s", pwd); + p = slurpfile(NULL, "%s/%s", buff, KNOWNREF); + if (p != NULL) goto success; + strncat(tried, buff, sizeof(tried) - strlen(tried) - 1); + strncat(tried, "\n", sizeof(tried) - strlen(tried) - 1); + + snprintf(buff, sizeof(buff), "%s/test", pwd); + p = slurpfile(NULL, "%s/%s", buff, KNOWNREF); + if (p != NULL) goto success; + strncat(tried, buff, sizeof(tried) - strlen(tried) - 1); + strncat(tried, "\n", sizeof(tried) - strlen(tried) - 1); + + snprintf(buff, sizeof(buff), "%s/%s/test", pwd, LIBRARY); + p = slurpfile(NULL, "%s/%s", buff, KNOWNREF); + if (p != NULL) goto success; + strncat(tried, buff, sizeof(tried) - strlen(tried) - 1); + strncat(tried, "\n", sizeof(tried) - strlen(tried) - 1); + + if (memcmp(pwd, "/usr/obj", 8) == 0) { + snprintf(buff, sizeof(buff), "%s", pwd + 8); + p = slurpfile(NULL, "%s/%s", buff, KNOWNREF); + if (p != NULL) goto success; + strncat(tried, buff, sizeof(tried) - strlen(tried) - 1); + strncat(tried, "\n", sizeof(tried) - strlen(tried) - 1); + + snprintf(buff, sizeof(buff), "%s/test", pwd + 8); + p = slurpfile(NULL, "%s/%s", buff, KNOWNREF); + if (p != NULL) goto success; + strncat(tried, buff, sizeof(tried) - strlen(tried) - 1); + strncat(tried, "\n", sizeof(tried) - strlen(tried) - 1); } + printf("Unable to locate known reference file %s\n", KNOWNREF); - printf(" Checked directory %s\n", ref); - printf(" Checked directory %s/test\n", ref); - printf(" Checked directory %s/%s/test\n", ref, LIBRARY); + printf(" Checked following directories:\n%s\n", tried); exit(1); + +success: + free(p); + free(pwd); + return strdup(buff); } int main(int argc, char **argv) Modified: projects/cambria/libexec/ftpd/extern.h ============================================================================== --- projects/cambria/libexec/ftpd/extern.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/libexec/ftpd/extern.h Tue Dec 23 21:07:57 2008 (r186460) @@ -46,7 +46,7 @@ void fatalerror(char *); void ftpd_logwtmp(char *, char *, struct sockaddr *addr); int ftpd_pclose(FILE *); FILE *ftpd_popen(char *, char *); -char *getline(char *, int, FILE *); +int getline(char *, int, FILE *); void lreply(int, const char *, ...) __printflike(2, 3); void makedir(char *); void nack(char *); Modified: projects/cambria/libexec/ftpd/ftpcmd.y ============================================================================== --- projects/cambria/libexec/ftpd/ftpcmd.y Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/libexec/ftpd/ftpcmd.y Tue Dec 23 21:07:57 2008 (r186460) @@ -1191,7 +1191,7 @@ lookup(struct tab *p, char *cmd) /* * getline - a hacked up version of fgets to ignore TELNET escape codes. */ -char * +int getline(char *s, int n, FILE *iop) { int c; @@ -1207,7 +1207,7 @@ getline(char *s, int n, FILE *iop) if (ftpdebug) syslog(LOG_DEBUG, "command: %s", s); tmpline[0] = '\0'; - return(s); + return(0); } if (c == 0) tmpline[0] = '\0'; @@ -1244,13 +1244,24 @@ getline(char *s, int n, FILE *iop) } } *cs++ = c; - if (--n <= 0 || c == '\n') + if (--n <= 0) { + /* + * If command doesn't fit into buffer, discard the + * rest of the command and indicate truncation. + * This prevents the command to be split up into + * multiple commands. + */ + while (c != '\n' && (c = getc(iop)) != EOF) + ; + return (-2); + } + if (c == '\n') break; } got_eof: sigprocmask(SIG_SETMASK, &osset, NULL); if (c == EOF && cs == s) - return (NULL); + return (-1); *cs++ = '\0'; if (ftpdebug) { if (!guest && strncasecmp("pass ", s, 5) == 0) { @@ -1270,7 +1281,7 @@ got_eof: syslog(LOG_DEBUG, "command: %.*s", len, s); } } - return (s); + return (0); } static void @@ -1300,9 +1311,14 @@ yylex(void) case CMD: (void) signal(SIGALRM, toolong); (void) alarm(timeout); - if (getline(cbuf, sizeof(cbuf)-1, stdin) == NULL) { + n = getline(cbuf, sizeof(cbuf)-1, stdin); + if (n == -1) { reply(221, "You could at least say goodbye."); dologout(0); + } else if (n == -2) { + reply(500, "Command too long."); + (void) alarm(0); + continue; } (void) alarm(0); #ifdef SETPROCTITLE Modified: projects/cambria/libexec/ftpd/ftpd.c ============================================================================== --- projects/cambria/libexec/ftpd/ftpd.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/libexec/ftpd/ftpd.c Tue Dec 23 21:07:57 2008 (r186460) @@ -2794,15 +2794,20 @@ static int myoob(void) { char *cp; + int ret; if (!transflag) { syslog(LOG_ERR, "Internal: myoob() while no transfer"); return (0); } cp = tmpline; - if (getline(cp, 7, stdin) == NULL) { + ret = getline(cp, 7, stdin); + if (ret == -1) { reply(221, "You could at least say goodbye."); dologout(0); + } else if (ret == -2) { + /* Ignore truncated command. */ + return (0); } upper(cp); if (strcmp(cp, "ABOR\r\n") == 0) { Modified: projects/cambria/sbin/kldstat/kldstat.c ============================================================================== --- projects/cambria/sbin/kldstat/kldstat.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sbin/kldstat/kldstat.c Tue Dec 23 21:07:57 2008 (r186460) @@ -60,17 +60,19 @@ static void printfile(int fileid, int ve if (kldstat(fileid, &stat) < 0) warn("can't stat file id %d", fileid); else - printf("%2d %4d %p %-8jx %s (%s)\n", + printf("%2d %4d %p %-8jx %s", stat.id, stat.refs, stat.address, (uintmax_t)stat.size, - stat.name, stat.pathname); + stat.name); if (verbose) { + printf(" (%s)\n", stat.pathname); printf("\tContains modules:\n"); printf("\t\tId Name\n"); for (modid = kldfirstmod(fileid); modid > 0; modid = modfnext(modid)) printmod(modid); - } + } else + printf("\n"); } static void Modified: projects/cambria/sbin/mount_msdosfs/mount_msdosfs.8 ============================================================================== --- projects/cambria/sbin/mount_msdosfs/mount_msdosfs.8 Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sbin/mount_msdosfs/mount_msdosfs.8 Tue Dec 23 21:07:57 2008 (r186460) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 7, 1994 +.Dd December 23, 2008 .Dt MOUNT_MSDOSFS 8 .Os .Sh NAME @@ -73,6 +73,11 @@ as described in .Xr mount 8 . The following MSDOS file system-specific options are available: .Bl -tag -width indent +.It Cm large +Support file systems larger than 128 gigabytes at the expense +of 32 bytes of kernel memory. +This memory will not be reclaimed until the file system has +been unmounted. .It Cm longnames Force Windows 95 long filenames to be visible. .It Cm shortnames Modified: projects/cambria/sbin/shutdown/shutdown.8 ============================================================================== --- projects/cambria/sbin/shutdown/shutdown.8 Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sbin/shutdown/shutdown.8 Tue Dec 23 21:07:57 2008 (r186460) @@ -28,7 +28,7 @@ .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 .\" $FreeBSD$ .\" -.Dd December 11, 1998 +.Dd December 23, 2008 .Dt SHUTDOWN 8 .Os .Sh NAME @@ -167,6 +167,12 @@ The file that .Nm created will be removed automatically. +.Pp +When run without options, the +.Nm +utility will place the system into single user mode at the +.Ar time +specified. .Sh FILES .Bl -tag -width /var/run/nologin -compact .It Pa /var/run/nologin Modified: projects/cambria/share/man/man4/uscanner.4 ============================================================================== --- projects/cambria/share/man/man4/uscanner.4 Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/share/man/man4/uscanner.4 Tue Dec 23 21:07:57 2008 (r186460) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 28, 2008 +.Dd December 23, 2008 .Dt USCANNER 4 .Os .Sh NAME @@ -112,6 +112,7 @@ Hewlett Packard: Photosmart S20 Hewlett Packard Scanjet: 2200C, 3300C, 3400CSE, 4100C, 4200C, 4300C, +4470C, 5200C, 5300C, 5400C, 6200C, 6300C, 8200C, 8250C, 8290C; Modified: projects/cambria/share/man/man5/nsswitch.conf.5 ============================================================================== --- projects/cambria/share/man/man5/nsswitch.conf.5 Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/share/man/man5/nsswitch.conf.5 Tue Dec 23 21:07:57 2008 (r186460) @@ -33,7 +33,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 22, 2007 +.Dd December 23, 2008 .Dt NSSWITCH.CONF 5 .Os .Sh NAME @@ -141,9 +141,13 @@ The following databases are used by the .Xr getrpcbynumber 3 , .Xr getrpcent 3 .It proto -.Xr getprotobyname 3 +.Xr getprotobyname 3 , .Xr getprotobynumber 3 , .Xr getprotoent 3 +.It netgroup +.Xr getnetgrent 3 , +.Xr setnetgrent 3 , +.Xr innetgr 3 .El .Ss Status codes The following status codes are available: Modified: projects/cambria/share/man/man9/domain.9 ============================================================================== --- projects/cambria/share/man/man9/domain.9 Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/share/man/man9/domain.9 Tue Dec 23 21:07:57 2008 (r186460) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 7, 2001 +.Dd December 23, 2008 .Dt DOMAIN 9 .Os .Sh NAME @@ -103,7 +103,6 @@ struct protosw { pr_drain_t *pr_drain; /* flush any excess space possible */ struct pr_usrreqs *pr_usrreqs; /* supersedes pr_usrreq() */ - struct pfil_head pr_pfh; }; .Ed .Pp Modified: projects/cambria/sys/cam/cam_sim.h ============================================================================== --- projects/cambria/sys/cam/cam_sim.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/cam/cam_sim.h Tue Dec 23 21:07:57 2008 (r186460) @@ -109,7 +109,7 @@ struct cam_sim { struct cam_devq *devq; /* Device Queue to use for this SIM */ int refcount; /* References to the SIM. */ - /* "Pool" of inactive ccbs managed by xpt_alloc_ccb and xpt_free_ccb */ + /* "Pool" of inactive ccbs managed by xpt_get_ccb and xpt_release_ccb */ SLIST_HEAD(,ccb_hdr) ccb_freeq; /* * Maximum size of ccb pool. Modified as devices are added/removed Modified: projects/cambria/sys/cam/scsi/scsi_cd.c ============================================================================== --- projects/cambria/sys/cam/scsi/scsi_cd.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/cam/scsi/scsi_cd.c Tue Dec 23 21:07:57 2008 (r186460) @@ -996,12 +996,6 @@ cdopen(struct disk *dp) return (error); } - /* Closes aren't symmetrical with opens, so fix up the refcounting. */ - if (softc->flags & CD_FLAG_OPEN) - cam_periph_release(periph); - else - softc->flags |= CD_FLAG_OPEN; - /* * Check for media, and set the appropriate flags. We don't bail * if we don't have media, but then we don't allow anything but the @@ -1011,7 +1005,15 @@ cdopen(struct disk *dp) CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("leaving cdopen\n")); cam_periph_unhold(periph); - cam_periph_unlock(periph); + + /* Closes aren't symmetrical with opens, so fix up the refcounting. */ + if ((softc->flags & CD_FLAG_OPEN) == 0) { + softc->flags |= CD_FLAG_OPEN; + cam_periph_unlock(periph); + } else { + cam_periph_unlock(periph); + cam_periph_release(periph); + } return (0); } Modified: projects/cambria/sys/cam/scsi/scsi_da.c ============================================================================== --- projects/cambria/sys/cam/scsi/scsi_da.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/cam/scsi/scsi_da.c Tue Dec 23 21:07:57 2008 (r186460) @@ -537,6 +537,14 @@ static struct da_quirk_entry da_quirk_ta }, { /* + * Storcase (Kingston) InfoStation IFS FC2/SATA-R 201A + * PR: 129858 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "IFS", "FC2/SATA-R*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* * Samsung YP-U3 mp3-player * PR: 125398 */ Modified: projects/cambria/sys/cam/scsi/scsi_pass.c ============================================================================== --- projects/cambria/sys/cam/scsi/scsi_pass.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/cam/scsi/scsi_pass.c Tue Dec 23 21:07:57 2008 (r186460) @@ -346,13 +346,13 @@ passopen(struct cdev *dev, int flags, in if ((softc->flags & PASS_FLAG_OPEN) == 0) { softc->flags |= PASS_FLAG_OPEN; + cam_periph_unlock(periph); } else { /* Device closes aren't symmertical, so fix up the refcount */ + cam_periph_unlock(periph); cam_periph_release(periph); } - cam_periph_unlock(periph); - return (error); } Modified: projects/cambria/sys/cam/scsi/scsi_sg.c ============================================================================== --- projects/cambria/sys/cam/scsi/scsi_sg.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/cam/scsi/scsi_sg.c Tue Dec 23 21:07:57 2008 (r186460) @@ -399,13 +399,13 @@ sgopen(struct cdev *dev, int flags, int if ((softc->flags & SG_FLAG_OPEN) == 0) { softc->flags |= SG_FLAG_OPEN; + cam_periph_unlock(periph); } else { /* Device closes aren't symmetrical, fix up the refcount. */ + cam_periph_unlock(periph); cam_periph_release(periph); } - cam_periph_unlock(periph); - return (error); } Modified: projects/cambria/sys/conf/files ============================================================================== --- projects/cambria/sys/conf/files Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/conf/files Tue Dec 23 21:07:57 2008 (r186460) @@ -1594,7 +1594,7 @@ dev/usb2/ethernet/if_cdce2.c optional u dev/usb2/ethernet/if_cue2.c optional usb2_core usb2_ethernet usb2_ethernet_cue dev/usb2/ethernet/if_kue2.c optional usb2_core usb2_ethernet usb2_ethernet_kue dev/usb2/ethernet/if_rue2.c optional usb2_core usb2_ethernet usb2_ethernet_rue -dev/usb2/ethernet/if_udav2.c optional usb2_core usb2_ethernet usb2_ethernet_udav +dev/usb2/ethernet/if_udav2.c optional usb2_core usb2_ethernet usb2_ethernet_dav dev/usb2/ethernet/usb2_ethernet.c optional usb2_core usb2_ethernet # # USB2 WLAN drivers @@ -1623,6 +1623,7 @@ dev/usb2/serial/uplcom2.c optional usb2_ dev/usb2/serial/usb2_serial.c optional usb2_core usb2_serial dev/usb2/serial/uvisor2.c optional usb2_core usb2_serial usb2_serial_visor dev/usb2/serial/uvscom2.c optional usb2_core usb2_serial usb2_serial_vscom +dev/usb2/serial/u3g2.c optional usb2_core usb2_serial usb2_serial_3g # # USB2 bluetooth drivers # Modified: projects/cambria/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c ============================================================================== --- projects/cambria/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c Tue Dec 23 21:07:57 2008 (r186460) @@ -156,7 +156,9 @@ struct selinfo ipfselwait[IPL_LOGSIZE]; # include # if defined(NETBSD_PF) # include -# include +# if (__FreeBSD_version < 501108) +# include +# endif /* * We provide the fr_checkp name just to minimize changes later. */ Modified: projects/cambria/sys/dev/agp/agp.c ============================================================================== --- projects/cambria/sys/dev/agp/agp.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/dev/agp/agp.c Tue Dec 23 21:07:57 2008 (r186460) @@ -564,6 +564,7 @@ agp_generic_bind_memory(device_t dev, st device_printf(dev, "memory already bound\n"); error = EINVAL; VM_OBJECT_LOCK(mem->am_obj); + i = 0; goto bad; } @@ -592,7 +593,6 @@ agp_generic_bind_memory(device_t dev, st * Bail out. Reverse all the mappings * and unwire the pages. */ - vm_page_wakeup(m); for (k = 0; k < i + j; k += AGP_PAGE_SIZE) AGP_UNBIND_PAGE(dev, offset + k); goto bad; @@ -622,8 +622,10 @@ agp_generic_bind_memory(device_t dev, st bad: mtx_unlock(&sc->as_lock); VM_OBJECT_LOCK_ASSERT(mem->am_obj, MA_OWNED); - for (i = 0; i < mem->am_size; i += PAGE_SIZE) { - m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(i)); + for (k = 0; k < mem->am_size; k += PAGE_SIZE) { + m = vm_page_lookup(mem->am_obj, OFF_TO_IDX(k)); + if (k >= i) + vm_page_wakeup(m); vm_page_lock_queues(); vm_page_unwire(m, 0); vm_page_unlock_queues(); Modified: projects/cambria/sys/dev/agp/agp_i810.c ============================================================================== --- projects/cambria/sys/dev/agp/agp_i810.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/dev/agp/agp_i810.c Tue Dec 23 21:07:57 2008 (r186460) @@ -167,7 +167,7 @@ static const struct agp_i810_match { "Intel GM965 SVGA controller"}, {0x2A128086, CHIP_I965, 0x00020000, "Intel GME965 SVGA controller"}, - {0x2A428086, CHIP_I965, 0x00020000, + {0x2A428086, CHIP_G4X, 0x00020000, "Intel GM45 SVGA controller"}, {0x2E028086, CHIP_G4X, 0x00020000, "Intel 4 Series SVGA controller"}, @@ -284,6 +284,7 @@ agp_i810_probe(device_t dev) case CHIP_I915: case CHIP_I965: case CHIP_G33: + case CHIP_G4X: deven = pci_read_config(bdev, AGP_I915_DEVEN, 4); if ((deven & AGP_I915_DEVEN_D2F0) == AGP_I915_DEVEN_D2F0_DISABLED) { @@ -348,6 +349,7 @@ agp_i810_dump_regs(device_t dev) case CHIP_I915: case CHIP_I965: case CHIP_G33: + case CHIP_G4X: device_printf(dev, "AGP_I855_GCC1: 0x%02x\n", pci_read_config(sc->bdev, AGP_I855_GCC1, 1)); device_printf(dev, "AGP_I915_MSAC: 0x%02x\n", @@ -397,7 +399,7 @@ agp_i810_attach(device_t dev) return error; if (sc->chiptype != CHIP_I965 && sc->chiptype != CHIP_G33 && - ptoa((vm_paddr_t)Maxmem) > 0xfffffffful) + sc->chiptype != CHIP_G4X && ptoa((vm_paddr_t)Maxmem) > 0xfffffffful) { device_printf(dev, "agp_i810.c does not support physical " "memory above 4GB.\n"); @@ -659,8 +661,7 @@ agp_i810_attach(device_t dev) return EINVAL; } - if (sc->chiptype != CHIP_G4X) - gtt_size += 4; + gtt_size += 4; sc->stolen = (stolen - gtt_size) * 1024 / 4096; if (sc->stolen > 0) @@ -780,6 +781,7 @@ agp_i810_set_aperture(device_t dev, u_in case CHIP_I915: case CHIP_I965: case CHIP_G33: + case CHIP_G4X: return agp_generic_set_aperture(dev, aperture); } @@ -798,7 +800,8 @@ agp_i810_write_gtt_entry(device_t dev, i u_int32_t pte; pte = (u_int32_t)physical | 1; - if (sc->chiptype == CHIP_I965 || sc->chiptype == CHIP_G33) { + if (sc->chiptype == CHIP_I965 || sc->chiptype == CHIP_G33 || + sc->chiptype == CHIP_G4X) { pte |= (physical & 0x0000000f00000000ull) >> 28; } else { /* If we do actually have memory above 4GB on an older system, @@ -825,6 +828,10 @@ agp_i810_write_gtt_entry(device_t dev, i bus_write_4(sc->sc_res[0], (offset >> AGP_PAGE_SHIFT) * 4 + (512 * 1024), pte); break; + case CHIP_G4X: + bus_write_4(sc->sc_res[0], + (offset >> AGP_PAGE_SHIFT) * 4 + (2 * 1024 * 1024), pte); + break; } } Modified: projects/cambria/sys/dev/agp/agppriv.h ============================================================================== --- projects/cambria/sys/dev/agp/agppriv.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/dev/agp/agppriv.h Tue Dec 23 21:07:57 2008 (r186460) @@ -36,15 +36,12 @@ #include #include -#define AGP_DEBUGxx - #ifdef AGP_DEBUG -#define AGP_DPF(x...) do { \ - printf("agp: "); \ - printf(##x); \ +#define AGP_DPF(fmt, ...) do { \ + printf("agp: " fmt, ##__VA_ARGS__); \ } while (0) #else -#define AGP_DPF(x...) do {} while (0) +#define AGP_DPF(fmt, ...) do {} while (0) #endif #include "agp_if.h" Modified: projects/cambria/sys/dev/drm/drmP.h ============================================================================== --- projects/cambria/sys/dev/drm/drmP.h Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/dev/drm/drmP.h Tue Dec 23 21:07:57 2008 (r186460) @@ -300,16 +300,16 @@ for ( ret = 0 ; !ret && !(condition) ; ) DRM_LOCK(); \ } -#define DRM_ERROR(fmt, arg...) \ +#define DRM_ERROR(fmt, ...) \ printf("error: [" DRM_NAME ":pid%d:%s] *ERROR* " fmt, \ - DRM_CURRENTPID, __func__ , ## arg) + DRM_CURRENTPID, __func__ , ##__VA_ARGS__) -#define DRM_INFO(fmt, arg...) printf("info: [" DRM_NAME "] " fmt , ## arg) +#define DRM_INFO(fmt, ...) printf("info: [" DRM_NAME "] " fmt , ##__VA_ARGS__) -#define DRM_DEBUG(fmt, arg...) do { \ +#define DRM_DEBUG(fmt, ...) do { \ if (drm_debug_flag) \ printf("[" DRM_NAME ":pid%d:%s] " fmt, DRM_CURRENTPID, \ - __func__ , ## arg); \ + __func__ , ##__VA_ARGS__); \ } while (0) typedef struct drm_pci_id_list Modified: projects/cambria/sys/dev/re/if_re.c ============================================================================== --- projects/cambria/sys/dev/re/if_re.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/dev/re/if_re.c Tue Dec 23 21:07:57 2008 (r186460) @@ -2068,6 +2068,8 @@ re_tick(void *xsc) mii = device_get_softc(sc->rl_miibus); mii_tick(mii); + if ((sc->rl_flags & RL_FLAG_LINK) == 0) + re_miibus_statchg(sc->rl_dev); re_watchdog(sc); callout_reset(&sc->rl_stat_callout, hz, re_tick, sc); } Modified: projects/cambria/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- projects/cambria/sys/dev/sound/pci/hda/hdac.c Tue Dec 23 20:45:40 2008 (r186459) +++ projects/cambria/sys/dev/sound/pci/hda/hdac.c Tue Dec 23 21:07:57 2008 (r186460) @@ -83,7 +83,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20081219_0119" +#define HDA_DRV_TEST_REV "20081223_0121" SND_DECLARE_FILE("$FreeBSD$"); @@ -568,12 +568,21 @@ static const struct { /* Analog Devices */ #define ANALOGDEVICES_VENDORID 0x11d4 +#define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a) +#define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882) +#define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883) +#define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884) +#define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a) +#define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b) #define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981) #define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983) #define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984) #define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986) +#define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987) #define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988) #define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b) +#define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a) +#define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b) #define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff) /* CMedia */ @@ -649,19 +658,11 @@ static const struct { #define AGERE_VENDORID 0x11c1 #define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) -/* - * Conexant - * - * Ok, the truth is, I don't have any idea at all whether - * it is "Venice" or "Waikiki" or other unnamed CXyadayada. The only - * place that tell me it is "Venice" is from its Windows driver INF. - * - * Venice - CX????? - * Waikiki - CX20551-22 - */ +/* Conexant */ #define CONEXANT_VENDORID 0x14f1 -#define HDA_CODEC_CXVENICE HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) -#define HDA_CODEC_CXWAIKIKI HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) +#define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) +#define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051) #define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff) /* VIA */ @@ -722,12 +723,21 @@ static const struct { { HDA_CODEC_ALC885, "Realtek ALC885" }, { HDA_CODEC_ALC888, "Realtek ALC888" }, { HDA_CODEC_ALC889, "Realtek ALC889" }, + { HDA_CODEC_AD1882, "Analog Devices AD1882" }, + { HDA_CODEC_AD1882A, "Analog Devices AD1882A" }, + { HDA_CODEC_AD1883, "Analog Devices AD1883" }, + { HDA_CODEC_AD1884, "Analog Devices AD1884" }, + { HDA_CODEC_AD1884A, "Analog Devices AD1884A" }, { HDA_CODEC_AD1981HD, "Analog Devices AD1981HD" }, { HDA_CODEC_AD1983, "Analog Devices AD1983" }, { HDA_CODEC_AD1984, "Analog Devices AD1984" }, + { HDA_CODEC_AD1984A, "Analog Devices AD1984A" }, + { HDA_CODEC_AD1984B, "Analog Devices AD1984B" }, { HDA_CODEC_AD1986A, "Analog Devices AD1986A" }, - { HDA_CODEC_AD1988, "Analog Devices AD1988" }, + { HDA_CODEC_AD1987, "Analog Devices AD1987" }, + { HDA_CODEC_AD1988, "Analog Devices AD1988A" }, { HDA_CODEC_AD1988B, "Analog Devices AD1988B" }, + { HDA_CODEC_AD1989B, "Analog Devices AD1989B" }, { HDA_CODEC_CMI9880, "CMedia CMI9880" }, { HDA_CODEC_STAC9200D, "Sigmatel STAC9200D" }, { HDA_CODEC_STAC9204X, "Sigmatel STAC9204X" }, @@ -780,8 +790,9 @@ static const struct { { HDA_CODEC_IDT92HD81B1X, "IDT 92HD81B1X" }, { HDA_CODEC_IDT92HD83C1C, "IDT 92HD83C1C" }, { HDA_CODEC_IDT92HD83C1X, "IDT 92HD83C1X" }, - { HDA_CODEC_CXVENICE, "Conexant Venice" }, - { HDA_CODEC_CXWAIKIKI, "Conexant Waikiki" }, + { HDA_CODEC_CX20549, "Conexant CX20549 (Venice)" }, + { HDA_CODEC_CX20551, "Conexant CX20551 (Waikiki)" }, + { HDA_CODEC_CX20561, "Conexant CX20561 (Hermosa)" }, { HDA_CODEC_VT1708_8, "VIA VT1708_8" }, { HDA_CODEC_VT1708_9, "VIA VT1708_9" }, { HDA_CODEC_VT1708_A, "VIA VT1708_A" }, @@ -2251,7 +2262,7 @@ hdac_widget_pin_getconfig(struct hdac_wi HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED); break; } - } else if (id == HDA_CODEC_CXVENICE && sc->pci_subvendor == + } else if (id == HDA_CODEC_CX20549 && sc->pci_subvendor == HP_V3000_SUBVENDOR) { switch (nid) { case 18: @@ -2271,7 +2282,7 @@ hdac_widget_pin_getconfig(struct hdac_wi HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED); break; } - } else if (id == HDA_CODEC_CXWAIKIKI && sc->pci_subvendor == + } else if (id == HDA_CODEC_CX20551 && sc->pci_subvendor == HP_DV5000_SUBVENDOR) { switch (nid) { case 20: @@ -4476,7 +4487,7 @@ static const struct { HDA_QUIRK_IVREF80, HDA_QUIRK_IVREF50 | HDA_QUIRK_IVREF100 }, { HDA_MATCH_ALL, HDA_CODEC_AD1988B, HDA_QUIRK_IVREF80, HDA_QUIRK_IVREF50 | HDA_QUIRK_IVREF100 }, - { HDA_MATCH_ALL, HDA_CODEC_CXVENICE, + { HDA_MATCH_ALL, HDA_CODEC_CX20549, 0, HDA_QUIRK_FORCESTEREO } }; #define HDAC_QUIRKS_LEN (sizeof(hdac_quirks) / sizeof(hdac_quirks[0])) Copied: projects/cambria/sys/dev/usb/ehci_ixp4xx.c (from r186445, head/sys/dev/usb/ehci_ixp4xx.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/cambria/sys/dev/usb/ehci_ixp4xx.c Tue Dec 23 21:07:57 2008 (r186460, copy of r186445, head/sys/dev/usb/ehci_ixp4xx.c) @@ -0,0 +1,360 @@ +/*- + * Copyright (c) 2008 Sam Leffler. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * IXP435 attachment driver for the USB Enhanced Host Controller. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_bus.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include + +#define EHCI_VENDORID_IXP4XX 0x42fa05 +#define EHCI_HC_DEVSTR "IXP4XX Integrated USB 2.0 controller" + +struct ixp_ehci_softc { + ehci_softc_t base; /* storage for EHCI code */ + bus_space_tag_t iot; + bus_space_handle_t ioh; + struct bus_space tag; /* tag for private bus space ops */ +}; + +static int ehci_ixp_detach(device_t self); + +static uint8_t ehci_bs_r_1(void *, bus_space_handle_t, bus_size_t); +static void ehci_bs_w_1(void *, bus_space_handle_t, bus_size_t, u_int8_t); +static uint16_t ehci_bs_r_2(void *, bus_space_handle_t, bus_size_t); +static void ehci_bs_w_2(void *, bus_space_handle_t, bus_size_t, uint16_t); +static uint32_t ehci_bs_r_4(void *, bus_space_handle_t, bus_size_t); +static void ehci_bs_w_4(void *, bus_space_handle_t, bus_size_t, uint32_t); + +static int +ehci_ixp_suspend(device_t self) +{ + ehci_softc_t *sc; + int err; + + err = bus_generic_suspend(self); + if (err == 0) { + sc = device_get_softc(self); + ehci_power(PWR_SUSPEND, sc); + } + return err; +} + +static int +ehci_ixp_resume(device_t self) *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***