PERFORCE change 168548 for review
Ana Kukec
anchie at FreeBSD.org
Mon Sep 14 20:39:00 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=168548
Change 168548 by anchie at anchie_malimis on 2009/09/14 20:38:05
Cleaning the unrelated noise.
Affected files ...
.. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/rpc/xdr.h#3 edit
.. //depot/projects/soc2009/anchie_send/src/sys/i386/conf/GENERIC#5 edit
Differences ...
==== //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/rpc/xdr.h#3 (text+ko) ====
@@ -1,112 +1,70 @@
/*
- * CDDL HEADER START
+ * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
+ * unrestricted use provided that this legend is included on all tape
+ * media and as a part of the software program in whole or part. Users
+ * may copy or modify Sun RPC without charge, but are not authorized
+ * to license or distribute it to anyone else except as part of a product or
+ * program developed by the user.
*
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
+ * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
*
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
+ * Sun RPC is provided with no support and without any obligation on the
+ * part of Sun Microsystems, Inc. to assist in its use, correction,
+ * modification or enhancement.
*
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
+ * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
+ * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
+ * OR ANY PART THEREOF.
*
- * CDDL HEADER END
+ * In no event will Sun Microsystems, Inc. be liable for any lost revenue
+ * or profits or other special, indirect and consequential damages, even if
+ * Sun has been advised of the possibility of such damages.
*
- * $FreeBSD: src/sys/cddl/compat/opensolaris/rpc/xdr.h,v 1.4 2008/04/22 07:42:59 jb Exp $
+ * Sun Microsystems, Inc.
+ * 2550 Garcia Avenue
+ * Mountain View, California 94043
*/
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
-/* All Rights Reserved */
-
-/*
- * Portions of this source code were derived from Berkeley 4.3 BSD
- * under license from the Regents of the University of California.
- */
-
#ifndef _OPENSOLARIS_RPC_XDR_H_
#define _OPENSOLARIS_RPC_XDR_H_
#include_next <rpc/xdr.h>
#ifndef _KERNEL
-#include_next <rpc/xdr.h>
-/*
- * Strangely, my glibc version (2.3.6) doesn't have xdr_control(), so
- * we have to hack it in here (source taken from OpenSolaris).
- * By the way, it is assumed the xdrmem implementation is used.
- */
-
-#undef xdr_control
-#define xdr_control(a,b,c) xdrmem_control(a,b,c)
+#include <assert.h>
/*
- * These are the request arguments to XDR_CONTROL.
+ * Taken from sys/xdr/xdr_mem.c.
*
- * XDR_PEEK - returns the contents of the next XDR unit on the XDR stream.
- * XDR_SKIPBYTES - skips the next N bytes in the XDR stream.
- * XDR_RDMAGET - for xdr implementation over RDMA, gets private flags from
- * the XDR stream being moved over RDMA
- * XDR_RDMANOCHUNK - for xdr implementaion over RDMA, sets private flags in
- * the XDR stream moving over RDMA.
+ * FreeBSD's userland XDR doesn't implement control method (only the kernel),
+ * but OpenSolaris nvpair still depend on it, so we have to implement it here.
*/
-#define XDR_PEEK 2
-#define XDR_SKIPBYTES 3
-#define XDR_RDMAGET 4
-#define XDR_RDMASET 5
-
-/* FIXME: probably doesn't work */
static __inline bool_t
xdrmem_control(XDR *xdrs, int request, void *info)
{
xdr_bytesrec *xptr;
- int32_t *int32p;
- int len;
switch (request) {
-
case XDR_GET_BYTES_AVAIL:
xptr = (xdr_bytesrec *)info;
xptr->xc_is_last_record = TRUE;
xptr->xc_num_avail = xdrs->x_handy;
return (TRUE);
-
- case XDR_PEEK:
- /*
- * Return the next 4 byte unit in the XDR stream.
- */
- if (xdrs->x_handy < sizeof (int32_t))
- return (FALSE);
- int32p = (int32_t *)info;
- *int32p = (int32_t)ntohl((uint32_t)
- (*((int32_t *)(xdrs->x_private))));
- return (TRUE);
-
- case XDR_SKIPBYTES:
- /*
- * Skip the next N bytes in the XDR stream.
- */
- int32p = (int32_t *)info;
- len = RNDUP((int)(*int32p));
- if ((xdrs->x_handy -= len) < 0)
- return (FALSE);
- xdrs->x_private += len;
- return (TRUE);
-
+ default:
+ assert(!"unexpected request");
}
return (FALSE);
}
+
+#undef XDR_CONTROL
+#define XDR_CONTROL(xdrs, req, op) \
+ (((xdrs)->x_ops->x_control == NULL) ? \
+ xdrmem_control((xdrs), (req), (op)) : \
+ (*(xdrs)->x_ops->x_control)(xdrs, req, op))
+
#endif /* !_KERNEL */
#endif /* !_OPENSOLARIS_RPC_XDR_H_ */
==== //depot/projects/soc2009/anchie_send/src/sys/i386/conf/GENERIC#5 (text+ko) ====
@@ -85,8 +85,6 @@
options WITNESS # Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
-options DEBUG_MEMGUARD
-
# To make an SMP kernel, the next two lines are needed
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
More information about the p4-projects
mailing list