From owner-svn-src-stable-7@FreeBSD.ORG Wed Jul 3 23:03:29 2013 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 979CC381; Wed, 3 Jul 2013 23:03:29 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6EE5A1D21; Wed, 3 Jul 2013 23:03:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r63N3TdW053241; Wed, 3 Jul 2013 23:03:29 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r63N3SQx053236; Wed, 3 Jul 2013 23:03:28 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201307032303.r63N3SQx053236@svn.freebsd.org> From: "David E. O'Brien" Date: Wed, 3 Jul 2013 23:03:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r252640 - in stable/7/usr.sbin/pkg_install: add create lib X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Jul 2013 23:03:29 -0000 Author: obrien Date: Wed Jul 3 23:03:28 2013 New Revision: 252640 URL: http://svnweb.freebsd.org/changeset/base/252640 Log: MF8: r252639 MF9: r252635, r252638: MFC: r252348, r252363: sysconf(3) returns a long, not an int. Modified: stable/7/usr.sbin/pkg_install/add/extract.c stable/7/usr.sbin/pkg_install/create/pl.c stable/7/usr.sbin/pkg_install/lib/exec.c Directory Properties: stable/7/ (props changed) stable/7/usr.sbin/ (props changed) stable/7/usr.sbin/pkg_install/ (props changed) Modified: stable/7/usr.sbin/pkg_install/add/extract.c ============================================================================== --- stable/7/usr.sbin/pkg_install/add/extract.c Wed Jul 3 22:59:46 2013 (r252639) +++ stable/7/usr.sbin/pkg_install/add/extract.c Wed Jul 3 23:03:28 2013 (r252640) @@ -110,7 +110,8 @@ extract_plist(const char *home, Package PackingList p = pkg->head; char *last_file, *prefix = NULL; char *where_args, *perm_args, *last_chdir; - int maxargs, where_count = 0, perm_count = 0, add_count; + long maxargs; + int where_count = 0, perm_count = 0, add_count; Boolean preserve; maxargs = sysconf(_SC_ARG_MAX) / 2; /* Just use half the argument space */ Modified: stable/7/usr.sbin/pkg_install/create/pl.c ============================================================================== --- stable/7/usr.sbin/pkg_install/create/pl.c Wed Jul 3 22:59:46 2013 (r252639) +++ stable/7/usr.sbin/pkg_install/create/pl.c Wed Jul 3 23:03:28 2013 (r252640) @@ -140,7 +140,8 @@ copy_plist(const char *home, Package *pl const char *there = NULL, *mythere; char *where_args, *prefix = NULL; const char *last_chdir, *root = "/"; - int maxargs, where_count = 0, add_count; + long maxargs; + int where_count = 0, add_count; struct stat stb; dev_t curdir; Modified: stable/7/usr.sbin/pkg_install/lib/exec.c ============================================================================== --- stable/7/usr.sbin/pkg_install/lib/exec.c Wed Jul 3 22:59:46 2013 (r252639) +++ stable/7/usr.sbin/pkg_install/lib/exec.c Wed Jul 3 23:03:28 2013 (r252640) @@ -34,7 +34,8 @@ vsystem(const char *fmt, ...) { va_list args; char *cmd; - int ret, maxargs; + long maxargs; + int ret; maxargs = sysconf(_SC_ARG_MAX); maxargs -= 32; /* some slop for the sh -c */ @@ -63,7 +64,7 @@ vpipe(const char *fmt, ...) { FILE *fp; char *cmd, *rp; - int maxargs; + long maxargs; va_list args; rp = malloc(MAXPATHLEN); From owner-svn-src-stable-7@FreeBSD.ORG Wed Jul 3 23:24:53 2013 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 90D2D170; Wed, 3 Jul 2013 23:24:53 +0000 (UTC) (envelope-from jimharris@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 82D8C1E47; Wed, 3 Jul 2013 23:24:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r63NOrpi059989; Wed, 3 Jul 2013 23:24:53 GMT (envelope-from jimharris@svn.freebsd.org) Received: (from jimharris@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r63NOreC059988; Wed, 3 Jul 2013 23:24:53 GMT (envelope-from jimharris@svn.freebsd.org) Message-Id: <201307032324.r63NOreC059988@svn.freebsd.org> From: Jim Harris Date: Wed, 3 Jul 2013 23:24:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r252647 - stable/7/sys/dev/isci/scil X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Jul 2013 23:24:53 -0000 Author: jimharris Date: Wed Jul 3 23:24:53 2013 New Revision: 252647 URL: http://svnweb.freebsd.org/changeset/base/252647 Log: MFC r252262: For ATA_PASSTHROUGH commands, pretend isci(4) supports multiword DMA by treating it as UDMA. This fixes a problem introduced in r249933/r249939, where CAM sends ATA_DSM_TRIM to SATA devices using ATA_PASSTHROUGH_16. scsi_ata_trim() sets protocol as DMA (not UDMA) which is for multi-word DMA, even though no such mode is selected for the device. isci(4) would fail these commands which is the correct behavior but not consistent with other HBAs, namely LSI's. smh@ did some further testing on an LSI controller, which rejected ATA_PASSTHROUGH_16 commands with mode=UDMA_OUT, even though only a UDMA mode was selected on the device. So this precludes adding any kind of mode detection in CAM to determine which mode to use on a per-device basis. Note: The reasons behind this change do not apply to stable/7. This MFC is to keep the driver consistent across stable branches and current. Sponsored by: Intel Modified: stable/7/sys/dev/isci/scil/sati_passthrough.c Directory Properties: stable/7/sys/ (props changed) Modified: stable/7/sys/dev/isci/scil/sati_passthrough.c ============================================================================== --- stable/7/sys/dev/isci/scil/sati_passthrough.c Wed Jul 3 23:21:25 2013 (r252646) +++ stable/7/sys/dev/isci/scil/sati_passthrough.c Wed Jul 3 23:24:53 2013 (r252647) @@ -85,6 +85,7 @@ __FBSDID("$FreeBSD$"); // Protocols #define PASSTHROUGH_PIO_DATA_IN 0x4 #define PASSTHROUGH_PIO_DATA_OUT 0x5 +#define PASSTHROUGH_DMA 0x6 #define PASSTHROUGH_UDMA_DATA_IN 0xA #define PASSTHROUGH_UDMA_DATA_OUT 0xB #define PASSTHROUGH_RETURN_RESPONSE 0xF @@ -252,8 +253,8 @@ SATI_STATUS sati_passthrough_check_direc U8 * cdb ) { - if ((PASSTHROUGH_CDB_PROTOCOL(cdb) == PASSTHROUGH_PIO_DATA_IN) || - (PASSTHROUGH_CDB_PROTOCOL(cdb) == PASSTHROUGH_UDMA_DATA_IN)) + if ((sequence->protocol == PASSTHROUGH_PIO_DATA_IN) || + (sequence->protocol == PASSTHROUGH_UDMA_DATA_IN)) { if (PASSTHROUGH_CDB_T_DIR(cdb) == 0x0) { @@ -264,8 +265,8 @@ SATI_STATUS sati_passthrough_check_direc sequence->data_direction = SATI_DATA_DIRECTION_IN; } } - else if ((PASSTHROUGH_CDB_PROTOCOL(cdb) == PASSTHROUGH_PIO_DATA_OUT) || - (PASSTHROUGH_CDB_PROTOCOL(cdb) == PASSTHROUGH_UDMA_DATA_OUT)) + else if ((sequence->protocol == PASSTHROUGH_PIO_DATA_OUT) || + (sequence->protocol == PASSTHROUGH_UDMA_DATA_OUT)) { if (PASSTHROUGH_CDB_T_DIR(cdb) == 0x1) { @@ -318,6 +319,26 @@ SATI_STATUS sati_passthrough_12_translat sequence->protocol = PASSTHROUGH_CDB_PROTOCOL (cdb); register_fis = sati_cb_get_h2d_register_fis_address(ata_io); + /* + * CAM will send passthrough commands with protocol set to multiword + * DMA even though no multiword DMA mode is selected on the device. + * This is because some controllers (LSI) will only accept + * ATA_PASSTHROUGH commands with DMA mode - not UDMA_IN/OUT. + * + * Since isci does not support multiword DMA, fix this up here. + */ + if (sequence->protocol == PASSTHROUGH_DMA) + { + if (PASSTHROUGH_CDB_T_DIR(cdb) == 0x1) + { + sequence->protocol = PASSTHROUGH_UDMA_DATA_IN; + } + else + { + sequence->protocol = PASSTHROUGH_UDMA_DATA_OUT; + } + } + if (sati_passthrough_check_direction(sequence, cdb) != SATI_COMPLETE || sati_passthrough_multiple_count_error(cdb) ) @@ -376,6 +397,26 @@ SATI_STATUS sati_passthrough_16_translat sequence->protocol = PASSTHROUGH_CDB_PROTOCOL(cdb); register_fis = sati_cb_get_h2d_register_fis_address(ata_io); + /* + * CAM will send passthrough commands with protocol set to multiword + * DMA even though no multiword DMA mode is selected on the device. + * This is because some controllers (LSI) will only accept + * ATA_PASSTHROUGH commands with DMA mode - not UDMA_IN/OUT. + * + * Since isci does not support multiword DMA, fix this up here. + */ + if (sequence->protocol == PASSTHROUGH_DMA) + { + if (PASSTHROUGH_CDB_T_DIR(cdb) == 0x1) + { + sequence->protocol = PASSTHROUGH_UDMA_DATA_IN; + } + else + { + sequence->protocol = PASSTHROUGH_UDMA_DATA_OUT; + } + } + if (sati_passthrough_check_direction(sequence, cdb) != SATI_COMPLETE || sati_passthrough_multiple_count_error(cdb) ) From owner-svn-src-stable-7@FreeBSD.ORG Thu Jul 4 22:09:15 2013 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9559CCA2; Thu, 4 Jul 2013 22:09:15 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 867F01172; Thu, 4 Jul 2013 22:09:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r64M9FgB062881; Thu, 4 Jul 2013 22:09:15 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r64M9FfA062879; Thu, 4 Jul 2013 22:09:15 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201307042209.r64M9FfA062879@svn.freebsd.org> From: Dimitry Andric Date: Thu, 4 Jul 2013 22:09:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r252731 - in stable: 7/contrib/libstdc++/libsupc++ 8/contrib/libstdc++/libsupc++ 9/contrib/libstdc++/libsupc++ X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jul 2013 22:09:15 -0000 Author: dim Date: Thu Jul 4 22:09:14 2013 New Revision: 252731 URL: http://svnweb.freebsd.org/changeset/base/252731 Log: MFC r252387: Make libsupc++'s __cxa_call_terminate() prototype consistent with the definition. Submitted by: dt71@gmx.com Modified: stable/7/contrib/libstdc++/libsupc++/unwind-cxx.h Directory Properties: stable/7/contrib/libstdc++/ (props changed) Changes in other areas also in this revision: Modified: stable/8/contrib/libstdc++/libsupc++/unwind-cxx.h stable/9/contrib/libstdc++/libsupc++/unwind-cxx.h Directory Properties: stable/8/contrib/libstdc++/ (props changed) stable/9/contrib/libstdc++/ (props changed) Modified: stable/7/contrib/libstdc++/libsupc++/unwind-cxx.h ============================================================================== --- stable/7/contrib/libstdc++/libsupc++/unwind-cxx.h Thu Jul 4 21:57:09 2013 (r252730) +++ stable/7/contrib/libstdc++/libsupc++/unwind-cxx.h Thu Jul 4 22:09:14 2013 (r252731) @@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid (); // throws, and if bad_exception needs to be thrown. Called from the // compiler. extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn)); -extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn)); +extern "C" void __cxa_call_terminate (_Unwind_Exception*) __attribute__((noreturn)); #ifdef __ARM_EABI_UNWINDER__ // Arm EABI specified routines.