PERFORCE change 168029 for review

Peter Wemm peter at FreeBSD.org
Mon Aug 31 21:29:22 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=168029

Change 168029 by peter at peter_daintree on 2009/08/31 21:28:32

	IFC @168028

Affected files ...

.. //depot/projects/hammer/bin/sh/eval.c#22 integrate
.. //depot/projects/hammer/bin/sh/exec.c#14 integrate
.. //depot/projects/hammer/bin/sh/mknodes.c#6 integrate
.. //depot/projects/hammer/bin/sh/nodes.c.pat#6 integrate
.. //depot/projects/hammer/etc/network.subr#31 integrate
.. //depot/projects/hammer/lib/libc/posix1e/acl_support.c#7 integrate
.. //depot/projects/hammer/lib/libpam/modules/pam_lastlog/pam_lastlog.c#8 integrate
.. //depot/projects/hammer/release/Makefile#108 integrate
.. //depot/projects/hammer/sbin/camcontrol/camcontrol.c#12 integrate
.. //depot/projects/hammer/share/man/man4/ahci.4#2 integrate
.. //depot/projects/hammer/share/man/man4/ip6.4#8 integrate
.. //depot/projects/hammer/share/man/man4/ips.4#7 integrate
.. //depot/projects/hammer/share/man/man4/mfi.4#7 integrate
.. //depot/projects/hammer/share/timedef/ja_JP.UTF-8.src#3 integrate
.. //depot/projects/hammer/share/zoneinfo/africa#14 integrate
.. //depot/projects/hammer/share/zoneinfo/asia#22 integrate
.. //depot/projects/hammer/share/zoneinfo/australasia#13 integrate
.. //depot/projects/hammer/share/zoneinfo/europe#17 integrate
.. //depot/projects/hammer/share/zoneinfo/leapseconds#18 integrate
.. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#42 integrate
.. //depot/projects/hammer/sys/amd64/amd64/pmap.c#191 integrate
.. //depot/projects/hammer/sys/arm/arm/vm_machdep.c#34 integrate
.. //depot/projects/hammer/sys/arm/conf/CAMBRIA#6 integrate
.. //depot/projects/hammer/sys/cam/ata/ata_all.c#2 integrate
.. //depot/projects/hammer/sys/cam/ata/ata_all.h#2 integrate
.. //depot/projects/hammer/sys/cam/ata/ata_da.c#2 integrate
.. //depot/projects/hammer/sys/cam/ata/ata_xpt.c#2 integrate
.. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#52 integrate
.. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 integrate
.. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 integrate
.. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 integrate
.. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#3 integrate
.. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#6 integrate
.. //depot/projects/hammer/sys/compat/ia32/ia32_sysvec.c#27 integrate
.. //depot/projects/hammer/sys/compat/linprocfs/linprocfs.c#52 integrate
.. //depot/projects/hammer/sys/compat/linux/linux_ioctl.c#43 integrate
.. //depot/projects/hammer/sys/conf/NOTES#163 integrate
.. //depot/projects/hammer/sys/dev/ahci/ahci.c#2 integrate
.. //depot/projects/hammer/sys/dev/ahci/ahci.h#2 integrate
.. //depot/projects/hammer/sys/dev/ath/ath_hal/ah_regdomain.c#3 integrate
.. //depot/projects/hammer/sys/dev/siis/siis.c#2 integrate
.. //depot/projects/hammer/sys/dev/xen/blkfront/blkfront.c#7 integrate
.. //depot/projects/hammer/sys/fs/pseudofs/pseudofs_vnops.c#36 integrate
.. //depot/projects/hammer/sys/geom/multipath/g_multipath.c#3 integrate
.. //depot/projects/hammer/sys/i386/i386/elf_machdep.c#22 integrate
.. //depot/projects/hammer/sys/i386/i386/pmap.c#122 integrate
.. //depot/projects/hammer/sys/i386/include/pmap.h#42 integrate
.. //depot/projects/hammer/sys/i386/isa/vesa.c#17 integrate
.. //depot/projects/hammer/sys/kern/imgact_elf.c#55 integrate
.. //depot/projects/hammer/sys/kern/kern_conf.c#59 integrate
.. //depot/projects/hammer/sys/kern/kern_exit.c#83 integrate
.. //depot/projects/hammer/sys/kern/kern_fork.c#81 integrate
.. //depot/projects/hammer/sys/kern/kern_jail.c#45 integrate
.. //depot/projects/hammer/sys/kern/kern_kthread.c#19 integrate
.. //depot/projects/hammer/sys/kern/kern_proc.c#86 integrate
.. //depot/projects/hammer/sys/kern/kern_thr.c#48 integrate
.. //depot/projects/hammer/sys/kern/kern_thread.c#115 integrate
.. //depot/projects/hammer/sys/kern/vfs_vnops.c#67 integrate
.. //depot/projects/hammer/sys/modules/Makefile#144 integrate
.. //depot/projects/hammer/sys/net/flowtable.c#5 integrate
.. //depot/projects/hammer/sys/net/rtsock.c#50 integrate
.. //depot/projects/hammer/sys/net/vnet.c#2 integrate
.. //depot/projects/hammer/sys/netinet/in.c#43 integrate
.. //depot/projects/hammer/sys/netinet/ip_output.c#81 integrate
.. //depot/projects/hammer/sys/netinet/sctp_bsd_addr.c#16 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_input.c#47 integrate
.. //depot/projects/hammer/sys/netinet6/nd6_rtr.c#30 integrate
.. //depot/projects/hammer/sys/sys/conf.h#53 integrate
.. //depot/projects/hammer/sys/sys/imgact_elf.h#12 integrate
.. //depot/projects/hammer/sys/sys/proc.h#132 integrate
.. //depot/projects/hammer/sys/sys/types.h#30 integrate
.. //depot/projects/hammer/sys/vm/device_pager.c#22 integrate
.. //depot/projects/hammer/sys/vm/sg_pager.c#2 integrate
.. //depot/projects/hammer/sys/vm/vm.h#11 integrate
.. //depot/projects/hammer/sys/vm/vm_extern.h#23 integrate
.. //depot/projects/hammer/sys/vm/vm_glue.c#55 integrate
.. //depot/projects/hammer/tools/regression/acltools/tools-posix.test#4 integrate
.. //depot/projects/hammer/tools/regression/bin/sh/builtins/eval3.0#1 branch
.. //depot/projects/hammer/tools/regression/bin/sh/execution/func2.0#1 branch
.. //depot/projects/hammer/tools/tools/ath/athpoke/athpoke.c#3 integrate
.. //depot/projects/hammer/usr.bin/w/extern.h#2 integrate
.. //depot/projects/hammer/usr.bin/w/pr_time.c#3 integrate
.. //depot/projects/hammer/usr.bin/w/w.c#8 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/lib/lib.h#23 integrate
.. //depot/projects/hammer/usr.sbin/zic/zic.c#7 integrate

Differences ...

==== //depot/projects/hammer/bin/sh/eval.c#22 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.65 2009/08/23 21:09:46 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.66 2009/08/28 22:41:25 jilles Exp $");
 
 #include <paths.h>
 #include <signal.h>
@@ -807,9 +807,9 @@
 		funcnest++;
 		exitstatus = oexitstatus;
 		if (flags & EV_TESTED)
-			evaltree(&cmdentry.u.func->n, EV_TESTED);
+			evaltree(getfuncnode(cmdentry.u.func), EV_TESTED);
 		else
-			evaltree(&cmdentry.u.func->n, 0);
+			evaltree(getfuncnode(cmdentry.u.func), 0);
 		funcnest--;
 		INTOFF;
 		unreffunc(cmdentry.u.func);

==== //depot/projects/hammer/bin/sh/exec.c#14 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/exec.c,v 1.35 2009/08/23 21:09:46 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/exec.c,v 1.36 2009/08/28 22:41:25 jilles Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -286,7 +286,7 @@
 		out1fmt("function %s", cmdp->cmdname);
 		if (verbose) {
 			INTOFF;
-			name = commandtext(&cmdp->param.func->n);
+			name = commandtext(getfuncnode(cmdp->param.func));
 			out1c(' ');
 			out1str(name);
 			ckfree(name);

==== //depot/projects/hammer/bin/sh/mknodes.c#6 (text+ko) ====

@@ -42,7 +42,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/mknodes.c,v 1.19 2009/08/23 21:09:46 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/mknodes.c,v 1.20 2009/08/28 22:41:25 jilles Exp $");
 
 /*
  * This program reads the nodetypes file and nodes.c.pat file.  It generates
@@ -248,11 +248,9 @@
 	fputs("\tstruct nodelist *next;\n", hfile);
 	fputs("\tunion node *n;\n", hfile);
 	fputs("};\n\n\n", hfile);
-	fputs("struct funcdef {\n", hfile);
-	fputs("\tunsigned int refcount;\n", hfile);
-	fputs("\tunion node n;\n", hfile);
-	fputs("};\n\n\n", hfile);
+	fputs("struct funcdef;\n", hfile);
 	fputs("struct funcdef *copyfunc(union node *);\n", hfile);
+	fputs("union node *getfuncnode(struct funcdef *);\n", hfile);
 	fputs("void reffunc(struct funcdef *);\n", hfile);
 	fputs("void unreffunc(struct funcdef *);\n", hfile);
 

==== //depot/projects/hammer/bin/sh/nodes.c.pat#6 (text+ko) ====

@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)nodes.c.pat	8.2 (Berkeley) 5/4/95
- * $FreeBSD: src/bin/sh/nodes.c.pat,v 1.16 2009/08/23 21:09:46 jilles Exp $
+ * $FreeBSD: src/bin/sh/nodes.c.pat,v 1.17 2009/08/28 22:41:25 jilles Exp $
  */
 
 #include <sys/param.h>
@@ -61,6 +61,10 @@
 STATIC char *nodesavestr(char *);
 
 
+struct funcdef {
+	unsigned int refcount;
+	union node n;
+};
 
 /*
  * Make a copy of a parse tree.
@@ -85,6 +89,12 @@
 }
 
 
+union node *
+getfuncnode(struct funcdef *fn)
+{
+	return fn == NULL ? NULL : &fn->n;
+}
+
 
 STATIC void
 calcsize(union node *n)
@@ -153,7 +163,8 @@
 void
 reffunc(struct funcdef *fn)
 {
-	fn->refcount++;
+	if (fn)
+		fn->refcount++;
 }
 
 

==== //depot/projects/hammer/etc/network.subr#31 (text+ko) ====

@@ -22,7 +22,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/network.subr,v 1.198 2009/08/24 22:05:08 dougb Exp $
+# $FreeBSD: src/etc/network.subr,v 1.199 2009/08/27 15:24:26 dougb Exp $
 #
 
 #
@@ -879,8 +879,8 @@
 		# Wireless NIC cards are virtualized through the wlan interface
 		if ! is_wired_interface ${i}; then
 			case "${i}" in
-			wlan*)	rtsol_available=yes ;;
-			*)	rtsol_available=no ;;
+			wlan*)	rtsol_interface=yes ;;
+			*)	rtsol_interface=no ;;
 			esac
 		fi
 

==== //depot/projects/hammer/lib/libc/posix1e/acl_support.c#7 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_support.c,v 1.17 2009/06/25 12:46:59 trasz Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_support.c,v 1.18 2009/08/29 03:17:24 kientzle Exp $");
 
 #include <sys/types.h>
 #include "namespace.h"
@@ -80,7 +80,7 @@
 
 	return (0);
 }
-		    
+
 /*
  * _posix1e_acl_entry_compare -- compare two acl_entry structures to
  * determine the order they should appear in.  Used by _posix1e_acl_sort to
@@ -164,7 +164,7 @@
  * from code in sys/kern/kern_acl.c, and if changes are made in one, they
  * should be made in the other also.  This copy of acl_check is made
  * available * in userland for the benefit of processes wanting to check ACLs
- * for validity before submitting them to the kernel, or for performing 
+ * for validity before submitting them to the kernel, or for performing
  * in userland file system checking.  Needless to say, the kernel makes
  * the real checks on calls to get/setacl.
  *
@@ -203,7 +203,7 @@
 			stage = ACL_USER;
 			count_user_obj++;
 			break;
-	
+
 		case ACL_USER:
 			/* printf("_posix1e_acl_check: %d: ACL_USER\n", i); */
 			if (stage > ACL_USER)
@@ -213,8 +213,8 @@
 				return (EINVAL);
 			highest_uid = entry->ae_id;
 			count_user++;
-			break;	
-	
+			break;
+
 		case ACL_GROUP_OBJ:
 			/* printf("_posix1e_acl_check: %d: ACL_GROUP_OBJ\n",
 			    i); */
@@ -223,7 +223,7 @@
 			stage = ACL_GROUP;
 			count_group_obj++;
 			break;
-	
+
 		case ACL_GROUP:
 			/* printf("_posix1e_acl_check: %d: ACL_GROUP\n", i); */
 			if (stage > ACL_GROUP)
@@ -234,7 +234,7 @@
 			highest_gid = entry->ae_id;
 			count_group++;
 			break;
-			
+
 		case ACL_MASK:
 			/* printf("_posix1e_acl_check: %d: ACL_MASK\n", i); */
 			if (stage > ACL_MASK)
@@ -242,7 +242,7 @@
 			stage = ACL_MASK;
 			count_mask++;
 			break;
-	
+
 		case ACL_OTHER:
 			/* printf("_posix1e_acl_check: %d: ACL_OTHER\n", i); */
 			if (stage > ACL_OTHER)
@@ -250,7 +250,7 @@
 			stage = ACL_OTHER;
 			count_other++;
 			break;
-	
+
 		default:
 			/* printf("_posix1e_acl_check: %d: INVALID\n", i); */
 			return (EINVAL);
@@ -260,7 +260,7 @@
 
 	if (count_user_obj != 1)
 		return (EINVAL);
-	
+
 	if (count_group_obj != 1)
 		return (EINVAL);
 
@@ -312,7 +312,7 @@
 			g = NULL;
 		else
 			g = getgrgid(id);
-		if (g == NULL) 
+		if (g == NULL)
 			i = snprintf(buf, buf_len, "%d", id);
 		else
 			i = snprintf(buf, buf_len, "%s", g->gr_name);

==== //depot/projects/hammer/lib/libpam/modules/pam_lastlog/pam_lastlog.c#8 (text+ko) ====

@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libpam/modules/pam_lastlog/pam_lastlog.c,v 1.23 2007/07/22 15:17:29 des Exp $");
+__FBSDID("$FreeBSD: src/lib/libpam/modules/pam_lastlog/pam_lastlog.c,v 1.24 2009/08/30 05:12:37 jon Exp $");
 
 #define _BSD_SOURCE
 
@@ -183,6 +183,11 @@
 	pam_err = pam_get_item(pamh, PAM_TTY, (const void **)&tty);
 	if (pam_err != PAM_SUCCESS)
 		goto err;
+	if (tty == NULL) {
+		PAM_LOG("No PAM_TTY");
+		pam_err = PAM_SERVICE_ERR;
+		goto err;
+	}
 	if (strncmp(tty, _PATH_DEV, strlen(_PATH_DEV)) == 0)
 		tty = (const char *)tty + strlen(_PATH_DEV);
 	if (*(const char *)tty == '\0')

==== //depot/projects/hammer/release/Makefile#108 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/release/Makefile,v 1.947 2009/08/24 21:56:41 jhb Exp $
+# $FreeBSD: src/release/Makefile,v 1.948 2009/08/27 13:18:59 blackend Exp $
 #
 # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \
 #     [RELEASETAG=tag] [SVNROOT=svn://svn.freebsd.org/base] \
@@ -1163,10 +1163,10 @@
 .endif
 
 #
-# --==## Documentation Project files such as the Handbook and FAQ ##==--
+# --==## Documentation Project tools required to build the release notes ##==--
 #
 doc.1:
-	@echo "Making docs..."
+	@echo "Making docproj tools..."
 	@for i in ${DOCPORTS}; do \
 	    cd /usr/ports/$$i && \
 	    env -i FTP_PASSIVE_MODE=$${FTP_PASSIVE_MODE:-no} PATH=$${PATH} \

==== //depot/projects/hammer/sbin/camcontrol/camcontrol.c#12 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.60 2009/07/10 17:42:53 scottl Exp $");
+__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.62 2009/08/30 16:31:25 mav Exp $");
 
 #include <sys/ioctl.h>
 #include <sys/stdint.h>
@@ -206,6 +206,7 @@
 		      struct ccb_trans_settings *cts);
 static void cpi_print(struct ccb_pathinq *cpi);
 static int get_cpi(struct cam_device *device, struct ccb_pathinq *cpi);
+static int get_cgd(struct cam_device *device, struct ccb_getdev *cgd);
 static int get_print_cts(struct cam_device *device, int user_settings,
 			 int quiet, struct ccb_trans_settings *cts);
 static int ratecontrol(struct cam_device *device, int retry_count,
@@ -1015,17 +1016,18 @@
 				((u_int64_t)parm->lba_size48_4 << 48);
 
 	printf("\n");
-	printf("Protocol              ");
+	printf("protocol              ");
+	printf("ATA/ATAPI-%d", ata_version(parm->version_major));
 	if (parm->satacapabilities && parm->satacapabilities != 0xffff) {
 		if (parm->satacapabilities & ATA_SATA_GEN2)
-			printf("SATA revision 2.x\n");
+			printf(" SATA 2.x\n");
 		else if (parm->satacapabilities & ATA_SATA_GEN1)
-			printf("SATA revision 1.x\n");
+			printf(" SATA 1.x\n");
 		else
-			printf("Unknown SATA revision\n");
+			printf(" SATA x.x\n");
 	}
 	else
-		printf("ATA/ATAPI revision %d\n", ata_version(parm->version_major));
+		printf("\n");
 	printf("device model          %.40s\n", parm->model);
 	printf("serial number         %.20s\n", parm->serial);
 	printf("firmware revision     %.8s\n", parm->revision);
@@ -1038,22 +1040,74 @@
 	    (parm->support.command2 & ATA_SUPPORT_CFA))
 		printf("CFA supported\n");
 
-	printf("lba%ssupported         ",
+	printf("LBA%ssupported         ",
 		parm->capabilities1 & ATA_SUPPORT_LBA ? " " : " not ");
 	if (lbasize)
 		printf("%d sectors\n", lbasize);
 	else
 		printf("\n");
 
-	printf("lba48%ssupported       ",
+	printf("LBA48%ssupported       ",
 		parm->support.command2 & ATA_SUPPORT_ADDRESS48 ? " " : " not ");
 	if (lbasize48)
 		printf("%ju sectors\n", (uintmax_t)lbasize48);
 	else
 		printf("\n");
 
-	printf("dma%ssupported\n",
+	printf("PIO supported         PIO");
+	if (parm->atavalid & ATA_FLAG_64_70) {
+		if (parm->apiomodes & 0x02)
+			printf("4");
+		else if (parm->apiomodes & 0x01)
+			printf("3");
+	} else if (parm->mwdmamodes & 0x04)
+		printf("4");
+	else if (parm->mwdmamodes & 0x02)
+		printf("3");
+	else if (parm->mwdmamodes & 0x01)
+		printf("2");
+	else if ((parm->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x200)
+		printf("2");
+	else if ((parm->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x100)
+		printf("1");
+	else
+		printf("0");
+	printf("\n");
+
+	printf("DMA%ssupported         ",
 		parm->capabilities1 & ATA_SUPPORT_DMA ? " " : " not ");
+	if (parm->capabilities1 & ATA_SUPPORT_DMA) {
+		if (parm->mwdmamodes & 0xff) {
+			printf("WDMA");
+			if (parm->mwdmamodes & 0x04)
+				printf("2");
+			else if (parm->mwdmamodes & 0x02)
+				printf("1");
+			else if (parm->mwdmamodes & 0x01)
+				printf("0");
+			printf(" ");
+		}
+		if ((parm->atavalid & ATA_FLAG_88) &&
+		    (parm->udmamodes & 0xff)) {
+			printf("UDMA");
+			if (parm->udmamodes & 0x40)
+				printf("6");
+			else if (parm->udmamodes & 0x20)
+				printf("5");
+			else if (parm->udmamodes & 0x10)
+				printf("4");
+			else if (parm->udmamodes & 0x08)
+				printf("3");
+			else if (parm->udmamodes & 0x04)
+				printf("2");
+			else if (parm->udmamodes & 0x02)
+				printf("1");
+			else if (parm->udmamodes & 0x01)
+				printf("0");
+			printf(" ");
+		}
+	}
+	printf("\n");
 
 	printf("overlap%ssupported\n",
 		parm->capabilities1 & ATA_SUPPORT_OVERLAP ? " " : " not ");
@@ -1070,10 +1124,10 @@
 		parm->enabled.command1 & ATA_SUPPORT_LOOKAHEAD ? "yes" : "no");
 
 	if (parm->satacapabilities && parm->satacapabilities != 0xffff) {
-		printf("Native Command Queuing (NCQ)   %s	%s"
+		printf("Native Command Queuing (NCQ)   %s	"
 			"	%d/0x%02X\n",
 			parm->satacapabilities & ATA_SUPPORT_NCQ ?
-				"yes" : "no", " -",
+				"yes" : "no",
 			(parm->satacapabilities & ATA_SUPPORT_NCQ) ?
 				ATA_QUEUE_LEN(parm->queue) : 0,
 			(parm->satacapabilities & ATA_SUPPORT_NCQ) ?
@@ -1121,9 +1175,14 @@
 {
 	union ccb *ccb;
 	struct ata_params *ident_buf;
+	struct ccb_getdev cgd;
 	u_int i, error = 0;
 	int16_t *ptr;
-	
+
+	if (get_cgd(device, &cgd) != 0) {
+		warnx("couldn't get CGD");
+		return(1);
+	}
 	ccb = cam_getccb(device);
 
 	if (ccb == NULL) {
@@ -1152,10 +1211,10 @@
 		      /*data_ptr*/(u_int8_t *)ptr,
 		      /*dxfer_len*/sizeof(struct ata_params),
 		      timeout ? timeout : 30 * 1000);
-//	if (periph->path->device->protocol == PROTO_ATA)
-		ata_36bit_cmd(&ccb->ataio, ATA_ATA_IDENTIFY, 0, 0, 0);
-//	else
-//		ata_36bit_cmd(&ccb->ataio, ATA_ATAPI_IDENTIFY, 0, 0, 0);
+	if (cgd.protocol == PROTO_ATA)
+		ata_28bit_cmd(&ccb->ataio, ATA_ATA_IDENTIFY, 0, 0, 0);
+	else
+		ata_28bit_cmd(&ccb->ataio, ATA_ATAPI_IDENTIFY, 0, 0, 0);
 
 	/* Disable freezing the device queue */
 	ccb->ccb_h.flags |= CAM_DEV_QFRZDIS;
@@ -2588,46 +2647,71 @@
 	int retval = 0;
 
 	ccb = cam_getccb(device);
-
 	if (ccb == NULL) {
 		warnx("get_cpi: couldn't allocate CCB");
 		return(1);
 	}
-
 	bzero(&(&ccb->ccb_h)[1],
 	      sizeof(struct ccb_pathinq) - sizeof(struct ccb_hdr));
-
 	ccb->ccb_h.func_code = XPT_PATH_INQ;
-
 	if (cam_send_ccb(device, ccb) < 0) {
 		warn("get_cpi: error sending Path Inquiry CCB");
-
 		if (arglist & CAM_ARG_VERBOSE)
 			cam_error_print(device, ccb, CAM_ESF_ALL,
 					CAM_EPF_ALL, stderr);
-
 		retval = 1;
-
 		goto get_cpi_bailout;
 	}
-
 	if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
-
 		if (arglist & CAM_ARG_VERBOSE)
 			cam_error_print(device, ccb, CAM_ESF_ALL,
 					CAM_EPF_ALL, stderr);
-
 		retval = 1;
-
 		goto get_cpi_bailout;
 	}
-
 	bcopy(&ccb->cpi, cpi, sizeof(struct ccb_pathinq));
 
 get_cpi_bailout:
+	cam_freeccb(ccb);
+	return(retval);
+}
 
+/*
+ * Get a get device CCB for the specified device.  
+ */
+static int
+get_cgd(struct cam_device *device, struct ccb_getdev *cgd)
+{
+	union ccb *ccb;
+	int retval = 0;
+
+	ccb = cam_getccb(device);
+	if (ccb == NULL) {
+		warnx("get_cgd: couldn't allocate CCB");
+		return(1);
+	}
+	bzero(&(&ccb->ccb_h)[1],
+	      sizeof(struct ccb_pathinq) - sizeof(struct ccb_hdr));
+	ccb->ccb_h.func_code = XPT_GDEV_TYPE;
+	if (cam_send_ccb(device, ccb) < 0) {
+		warn("get_cgd: error sending Path Inquiry CCB");
+		if (arglist & CAM_ARG_VERBOSE)
+			cam_error_print(device, ccb, CAM_ESF_ALL,
+					CAM_EPF_ALL, stderr);
+		retval = 1;
+		goto get_cgd_bailout;
+	}
+	if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
+		if (arglist & CAM_ARG_VERBOSE)
+			cam_error_print(device, ccb, CAM_ESF_ALL,
+					CAM_EPF_ALL, stderr);
+		retval = 1;
+		goto get_cgd_bailout;
+	}
+	bcopy(&ccb->cgd, cgd, sizeof(struct ccb_getdev));
+
+get_cgd_bailout:
 	cam_freeccb(ccb);
-
 	return(retval);
 }
 
@@ -2673,6 +2757,9 @@
 		case PI_SOFT_RST:
 			str = "soft reset alternative";
 			break;
+		case PI_SATAPM:
+			str = "SATA Port Multiplier";
+			break;
 		default:
 			str = "unknown PI bit set";
 			break;
@@ -2702,6 +2789,12 @@
 			str = "user has disabled initial BUS RESET or"
 			      " controller is in target/mixed mode";
 			break;
+		case PIM_NO_6_BYTE:
+			str = "do not send 6-byte commands";
+			break;
+		case PIM_SEQSCAN:
+			str = "scan bus sequentially";
+			break;
 		default:
 			str = "unknown PIM bit set";
 			break;

==== //depot/projects/hammer/share/man/man4/ahci.4#2 (text+ko) ====

@@ -23,9 +23,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/ahci.4,v 1.2 2009/07/25 18:19:31 mav Exp $
+.\" $FreeBSD: src/share/man/man4/ahci.4,v 1.3 2009/08/30 15:20:13 mav Exp $
 .\"
-.Dd June 26, 2009
+.Dd August 24, 2009
 .Dt AHCI 4
 .Os
 .Sh NAME
@@ -60,6 +60,13 @@
 .It 2
 multiple MSI vectors used, if supported;
 .El
+.It Va hint.ahci.X.ccc
+controls Command Completion Coalescing (CCC) usage by the specified controller.
+Non-zero value enables CCC and defines maximum time (in ms), request can wait
+for interrupt, if there are some more requests present on controller queue.
+CCC reduces number of context switches on systems with many parallel requests,
+but it can decrease disk performance on some workloads due to additional
+command latency.
 .It Va hint.ahcich.X.pm_level
 controls SATA interface Power Management for specified channel,
 allowing some power to be saved at the cost of additional command
@@ -74,7 +81,15 @@
 host initiates PARTIAL PM state transition every time port becomes idle;
 .It 3
 host initiates SLUMBER PM state transition every time port becomes idle.
+.It 4
+driver initiates PARTIAL PM state transition 1ms after port becomes idle;
+.It 5
+driver initiates SLUMBER PM state transition 125ms after port becomes idle.
 .El
+Some controllers, such as ICH8, do not implement modes 2 and 3 with NCQ used.
+Because of artificial entering latency, performance degradation in modes
+4 and 5 is much smaller then in modes 2 and 3.
+.Pp
 Note that interface Power Management is not compatible with
 device presence detection.
 You will have to reset bus manually on device hot-plug.

==== //depot/projects/hammer/share/man/man4/ip6.4#8 (text+ko) ====

@@ -28,7 +28,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/ip6.4,v 1.23 2008/02/22 21:02:36 bms Exp $
+.\" $FreeBSD: src/share/man/man4/ip6.4,v 1.24 2009/08/30 14:45:09 motoyuki Exp $
 .\"
 .Dd February 21, 2008
 .Dt IP6 4
@@ -692,7 +692,7 @@
 Most of the socket options are defined in RFC 2292 or RFC 2553.
 The
 .Dv IPV6_V6ONLY
-socket option is defined in RFC 3542.
+socket option is defined in RFC 3493 Section 5.3.
 The
 .Dv IPV6_PORTRANGE
 socket option and the conflict resolution rule are not defined in the

==== //depot/projects/hammer/share/man/man4/ips.4#7 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/ips.4,v 1.7 2006/11/05 08:55:21 maxim Exp $
+.\" $FreeBSD: src/share/man/man4/ips.4,v 1.8 2009/08/31 16:20:06 trasz Exp $
 .\"
 .Dd November 4, 2006
 .Dt IPS 4
@@ -92,6 +92,10 @@
 .It
 ServeRAID 7t/7k/7M
 .El
+.Pp
+Newer ServeRAID controllers are supported by the
+.Xr aac 4
+driver.
 .Sh DIAGNOSTICS
 Several error codes may be shown when the card initializes the
 .Tn IBM
@@ -180,6 +184,7 @@
 .Tn SCSI
 subsystem.
 .Sh SEE ALSO
+.Xr aac 4 ,
 .Xr ch 4 ,
 .Xr da 4 ,
 .Xr sysctl 8

==== //depot/projects/hammer/share/man/man4/mfi.4#7 (text) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.8 2009/08/15 11:47:05 trasz Exp $
+.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.9 2009/08/31 16:19:06 trasz Exp $
 .\"
 .Dd August 15, 2009
 .Dt MFI 4
@@ -102,9 +102,9 @@
 An attempt was made to remove a mounted volume.
 .El
 .Sh SEE ALSO
-.Xr mfiutil 1 ,
 .Xr amr 4 ,
-.Xr pci 4
+.Xr pci 4 ,
+.Xr mfiutil 8
 .Sh HISTORY
 The
 .Nm

==== //depot/projects/hammer/share/timedef/ja_JP.UTF-8.src#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/timedef/ja_JP.UTF-8.src,v 1.3 2007/12/30 03:08:52 ache Exp $
+# $FreeBSD: src/share/timedef/ja_JP.UTF-8.src,v 1.4 2009/08/30 10:47:00 ume Exp $
 #
 # WARNING: spaces may be essential at the end of lines
 # WARNING: empty lines are essential too
@@ -68,13 +68,11 @@
 #
 # am
 #
-#午前
-AM
+午前
 #
 # pm
 #
-#午後
-PM
+午後
 #
 # date_fmt
 #

==== //depot/projects/hammer/share/zoneinfo/africa#14 (text+ko) ====

@@ -1,5 +1,5 @@
 # <pre>
-# @(#)africa	8.21
+# @(#)africa	8.23
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -276,8 +276,27 @@
 # In 2009 (and for the next several years), Ramadan ends before the fourth
 # Thursday in September; Egypt is expected to revert to the last Thursday
 # in September.
+
+# From Steffen Thorsen (2009-08-11):
+# We have been able to confirm the August change with the Egyptian Cabinet 
+# Information and Decision Support Center:
+# <a href="http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html">
+# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
+# </a>
+# 
+# The Middle East News Agency
+# <a href="http://www.mena.org.eg/index.aspx">
+# http://www.mena.org.eg/index.aspx
+# </a>
+# also reports "Egypt starts winter time on August 21"
+# today in article numbered "71, 11/08/2009 12:25 GMT." 
+# Only the title above is available without a subscription to their service,
+# and can be found by searching for "winter" in their search engine
+# (at least today).
+
 Rule	Egypt	2008	only	-	Aug	lastThu	23:00s	0	-
-Rule	Egypt	2009	max	-	Sep	lastThu	23:00s	0	-
+Rule	Egypt	2009	only	-	Aug	20	23:00s	0	-
+Rule	Egypt	2010	max	-	Sep	lastThu	23:00s	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Cairo	2:05:00 -	LMT	1900 Oct
@@ -502,11 +521,33 @@
 # http://www.gov.mu/portal/goc/assemblysite/file/bill2708.pdf
 # </a>
 
+# From Steffen Thorsen (2009-06-05):
+# According to several sources, Mauritius will not continue to observe
+# DST the coming summer...
+#
+# Some sources, in French:
+# <a href="http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-%C2%AB-L%E2%80%99heure-d%E2%80%99%C3%A9t%C3%A9-ne-sera-pas-appliqu%C3%A9e-cette-ann%C3%A9e-%C2%BB">
+# http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-%C2%AB-L%E2%80%99heure-d%E2%80%99%C3%A9t%C3%A9-ne-sera-pas-appliqu%C3%A9e-cette-ann%C3%A9e-%C2%BB
+# </a>
+# <a href="http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints-">
+# http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints-
+# </a>
+#
+# Our wrap-up:
+# <a href="http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html">
+# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html
+# </a>
+
+# From Arthur David Olson (2009-07-11):
+# The "mauritius-dst-will-not-repeat" wrapup includes this: 
+# "The trial ended on March 29, 2009, when the clocks moved back by one hour
+# at 2am (or 02:00) local time..."
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule Mauritius	1982	only	-	Oct	10	0:00	1:00	S
 Rule Mauritius	1983	only	-	Mar	21	0:00	0	-
-Rule Mauritius	2008	max	-	Oct	lastSun	2:00s	1:00	S
-Rule Mauritius	2009	max	-	Mar	lastSun	2:00s	0	-
+Rule Mauritius	2008	only	-	Oct	lastSun	2:00	1:00	S
+Rule Mauritius	2009	only	-	Mar	lastSun	2:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Indian/Mauritius	3:50:00 -	LMT	1907		# Port Louis
 			4:00 Mauritius	MU%sT	# Mauritius Time

==== //depot/projects/hammer/share/zoneinfo/asia#22 (text+ko) ====

@@ -1,5 +1,5 @@
 # <pre>
-# @(#)asia	8.35
+# @(#)asia	8.36
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -172,6 +172,12 @@
 #
 # No DST end date has been announced yet.
 
+# From Arthur David Olson (2009-07-11):
+# Arbitrarily end DST at the end of 2009 so that a POSIX-sytle time zone string
+# can appear in the Dhaka binary file and for the benefit of old glibc
+# reimplementations of the time zone software that mishandle permanent DST.
+# A change will be required once the end date is known.
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Dhaka	6:01:40 -	LMT	1890
 			5:53:20	-	HMT	1941 Oct    # Howrah Mean Time?
@@ -180,7 +186,8 @@
 			6:30	-	BURT	1951 Sep 30
 			6:00	-	DACT	1971 Mar 26 # Dacca Time
 			6:00	-	BDT	2009 Jun 19 23:00 # Bangladesh Time
-			6:00	1:00	BDST
+			6:00	1:00	BDST	2010
+			6:00	-	BDT
 
 # Bhutan
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]

==== //depot/projects/hammer/share/zoneinfo/australasia#13 (text+ko) ====

@@ -1,5 +1,5 @@
 # <pre>
-# @(#)australasia	8.11
+# @(#)australasia	8.12
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -427,6 +427,22 @@
 			-11:00	-	SST			# S=Samoa
 
 # Samoa
+
+# From Alexander Krivenyshev (2008-12-06):
+# The Samoa government (Western Samoa) may implement DST on the first Sunday of 
+# October 2009 (October 4, 2009) until the last Sunday of March 2010 (March 28, 
+# 2010). 
+# 
+# "Selected Committee reports to Cabinet on Daylight Saving Time",
+# Government of Samoa:
+# <a href="http://www.govt.ws/pr_article.cfm?pr_id=560">
+# http://www.govt.ws/pr_article.cfm?pr_id=560
+# </a>
+# or
+# <a href="http://www.worldtimezone.com/dst_news/dst_news_samoa01.html">
+# http://www.worldtimezone.com/dst_news/dst_news_samoa01.html
+# </a>
+
 Zone Pacific/Apia	 12:33:04 -	LMT	1879 Jul  5
 			-11:26:56 -	LMT	1911
 			-11:30	-	SAMT	1950		# Samoa Time

==== //depot/projects/hammer/share/zoneinfo/europe#17 (text+ko) ====

@@ -1,5 +1,5 @@
 # <pre>
-# @(#)europe	8.21
+# @(#)europe	8.22
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -459,7 +459,7 @@
 Rule	EU	1981	max	-	Mar	lastSun	 1:00u	1:00	S
 Rule	EU	1996	max	-	Oct	lastSun	 1:00u	0	-
 # The most recent directive covers the years starting in 2002.  See:
-# <a href="http://europa.eu.int/eur-lex/en/lif/dat/2000/en_300L0084.html">
+# <a="http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32000L0084:EN:NOT">
 # Directive 2000/84/EC of the European Parliament and of the Council
 # of 19 January 2001 on summer-time arrangements.
 # </a>

==== //depot/projects/hammer/share/zoneinfo/leapseconds#18 (text+ko) ====

@@ -1,5 +1,5 @@
 # <pre>
-# @(#)leapseconds	8.8
+# @(#)leapseconds	8.9
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -58,29 +58,30 @@
 # 61, Av. de l'Observatoire 75014 PARIS (France)
 # Tel.      : 33 (0) 1 40 51 22 26
 # FAX       : 33 (0) 1 40 51 22 91
-# e-mail    : services.iers at obspm.fr
-# http://hpiers.obspm.fr/eop-pc
+# Internet  : services.iers at obspm.fr
 #
-# Paris, 15 January 2009
+# Paris, 4 July 2009
 #
-# Bulletin C 37
+# Bulletin C 38
 #
 # To authorities responsible
 # for the measurement and
 # distribution of time
 #
-# NO positive leap second will be introduced at the end of June 2009.
-# The difference between Coordinated Universal Time UTC and the 
-# International Atomic Time TAI is :             
-#                
-#     from 2009 January 1, 0h UTC, until further notice : UTC-TAI = -34 s
+# INFORMATION ON UTC - TAI
+#
+# NO positive leap second will be introduced at the end of December 2009.
+# The difference between Coordinated Universal Time UTC and the

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list