PERFORCE change 41948 for review

Sam Leffler sam at FreeBSD.org
Mon Nov 10 15:26:22 PST 2003


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

Change 41948 by sam at sam_ebb on 2003/11/10 15:25:53

	IFC @ 41947

Affected files ...

.. //depot/projects/netperf/sys/alpha/alpha/machdep.c#7 integrate
.. //depot/projects/netperf/sys/amd64/amd64/machdep.c#8 integrate
.. //depot/projects/netperf/sys/boot/i386/boot2/boot2.c#3 integrate
.. //depot/projects/netperf/sys/boot/ia64/libski/pal_stub.S#2 integrate
.. //depot/projects/netperf/sys/boot/ia64/skiload/Makefile#2 integrate
.. //depot/projects/netperf/sys/cam/cam_xpt.c#2 integrate
.. //depot/projects/netperf/sys/cam/scsi/scsi_target.c#4 integrate
.. //depot/projects/netperf/sys/coda/coda_psdev.c#3 integrate
.. //depot/projects/netperf/sys/compat/linux/linux_socket.c#3 integrate
.. //depot/projects/netperf/sys/conf/files#23 edit
.. //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.c#4 integrate
.. //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.h#4 integrate
.. //depot/projects/netperf/sys/crypto/rijndael/rijndael-api-fst.c#6 integrate
.. //depot/projects/netperf/sys/crypto/rijndael/rijndael-api-fst.h#4 integrate
.. //depot/projects/netperf/sys/dev/aac/aac.c#8 integrate
.. //depot/projects/netperf/sys/dev/aha/aha.c#4 integrate
.. //depot/projects/netperf/sys/dev/aha/aha_isa.c#4 integrate
.. //depot/projects/netperf/sys/dev/aha/aha_mca.c#4 integrate
.. //depot/projects/netperf/sys/dev/aha/ahareg.h#3 integrate
.. //depot/projects/netperf/sys/dev/ata/atapi-cam.c#8 integrate
.. //depot/projects/netperf/sys/dev/ata/atapi-cd.c#12 integrate
.. //depot/projects/netperf/sys/dev/bktr/bktr_core.c#7 integrate
.. //depot/projects/netperf/sys/dev/firewire/firewire.c#8 integrate
.. //depot/projects/netperf/sys/dev/firewire/sbp.c#10 integrate
.. //depot/projects/netperf/sys/dev/kbd/kbd.c#4 integrate
.. //depot/projects/netperf/sys/dev/nmdm/nmdm.c#4 integrate
.. //depot/projects/netperf/sys/dev/random/randomdev.c#4 integrate
.. //depot/projects/netperf/sys/dev/sab/sab.c#4 integrate
.. //depot/projects/netperf/sys/dev/sn/if_sn.c#5 integrate
.. //depot/projects/netperf/sys/dev/sn/if_sn_isa.c#3 integrate
.. //depot/projects/netperf/sys/dev/snp/snp.c#3 integrate
.. //depot/projects/netperf/sys/dev/sound/midi/midibuf.c#2 integrate
.. //depot/projects/netperf/sys/dev/sound/pcm/channel.c#4 integrate
.. //depot/projects/netperf/sys/dev/usb/ehci.c#3 integrate
.. //depot/projects/netperf/sys/dev/usb/ohci.c#3 integrate
.. //depot/projects/netperf/sys/dev/usb/ucom.c#4 integrate
.. //depot/projects/netperf/sys/dev/usb/ugen.c#7 integrate
.. //depot/projects/netperf/sys/dev/usb/uhci.c#3 integrate
.. //depot/projects/netperf/sys/dev/usb/uhid.c#6 integrate
.. //depot/projects/netperf/sys/dev/usb/ums.c#6 integrate
.. //depot/projects/netperf/sys/dev/usb/usb.c#5 integrate
.. //depot/projects/netperf/sys/dev/usb/usb_port.h#3 integrate
.. //depot/projects/netperf/sys/dev/usb/usbdi.c#3 integrate
.. //depot/projects/netperf/sys/dev/zs/zs.c#4 integrate
.. //depot/projects/netperf/sys/fs/fifofs/fifo_vnops.c#2 integrate
.. //depot/projects/netperf/sys/i386/acpica/madt.c#4 integrate
.. //depot/projects/netperf/sys/i386/bios/apm.c#2 integrate
.. //depot/projects/netperf/sys/i386/conf/NOTES#9 integrate
.. //depot/projects/netperf/sys/i386/i386/initcpu.c#5 integrate
.. //depot/projects/netperf/sys/i386/i386/machdep.c#11 integrate
.. //depot/projects/netperf/sys/i386/i386/mp_machdep.c#11 integrate
.. //depot/projects/netperf/sys/i386/i386/mptable.c#3 integrate
.. //depot/projects/netperf/sys/i386/isa/asc.c#2 integrate
.. //depot/projects/netperf/sys/i386/isa/cx.c#3 integrate
.. //depot/projects/netperf/sys/i386/isa/istallion.c#2 integrate
.. //depot/projects/netperf/sys/i386/isa/mse.c#2 integrate
.. //depot/projects/netperf/sys/i386/isa/spic.c#3 integrate
.. //depot/projects/netperf/sys/i386/isa/stallion.c#3 integrate
.. //depot/projects/netperf/sys/i4b/driver/i4b_rbch.c#2 integrate
.. //depot/projects/netperf/sys/i4b/driver/i4b_tel.c#2 integrate
.. //depot/projects/netperf/sys/i4b/driver/i4b_trace.c#2 integrate
.. //depot/projects/netperf/sys/i4b/include/i4b_global.h#2 integrate
.. //depot/projects/netperf/sys/i4b/layer4/i4b_i4bdrv.c#2 integrate
.. //depot/projects/netperf/sys/ia64/ia64/machdep.c#16 integrate
.. //depot/projects/netperf/sys/ia64/ia64/syscall.S#6 integrate
.. //depot/projects/netperf/sys/ia64/ia64/vm_machdep.c#8 integrate
.. //depot/projects/netperf/sys/ia64/include/ucontext.h#4 integrate
.. //depot/projects/netperf/sys/isa/psm.c#2 integrate
.. //depot/projects/netperf/sys/kern/kern_condvar.c#2 integrate
.. //depot/projects/netperf/sys/kern/kern_context.c#2 integrate
.. //depot/projects/netperf/sys/kern/kern_event.c#4 integrate
.. //depot/projects/netperf/sys/kern/sched_4bsd.c#9 integrate
.. //depot/projects/netperf/sys/kern/subr_log.c#2 integrate
.. //depot/projects/netperf/sys/kern/subr_taskqueue.c#5 integrate
.. //depot/projects/netperf/sys/kern/sys_generic.c#4 integrate
.. //depot/projects/netperf/sys/kern/sys_pipe.c#11 integrate
.. //depot/projects/netperf/sys/kern/sysv_sem.c#5 integrate
.. //depot/projects/netperf/sys/kern/tty.c#2 integrate
.. //depot/projects/netperf/sys/kern/tty_pty.c#3 integrate
.. //depot/projects/netperf/sys/kern/uipc_socket.c#6 integrate
.. //depot/projects/netperf/sys/kern/uipc_socket2.c#6 integrate
.. //depot/projects/netperf/sys/kern/vfs_subr.c#11 integrate
.. //depot/projects/netperf/sys/modules/Makefile#10 edit
.. //depot/projects/netperf/sys/modules/netgraph/etf/Makefile#2 integrate
.. //depot/projects/netperf/sys/net/bpf.c#9 integrate
.. //depot/projects/netperf/sys/net/if_tap.c#3 integrate
.. //depot/projects/netperf/sys/net/if_tun.c#5 integrate
.. //depot/projects/netperf/sys/net80211/ieee80211_node.c#15 integrate
.. //depot/projects/netperf/sys/netinet/in_pcb.c#14 integrate
.. //depot/projects/netperf/sys/netinet/tcp_syncache.c#10 integrate
.. //depot/projects/netperf/sys/netinet6/ah_core.c#7 integrate
.. //depot/projects/netperf/sys/netinet6/esp_core.c#7 integrate
.. //depot/projects/netperf/sys/netinet6/esp_rijndael.h#3 integrate
.. //depot/projects/netperf/sys/pc98/i386/machdep.c#9 integrate
.. //depot/projects/netperf/sys/pc98/pc98/mse.c#2 integrate
.. //depot/projects/netperf/sys/pccard/mecia.c#2 integrate
.. //depot/projects/netperf/sys/pccard/pccard.c#2 integrate
.. //depot/projects/netperf/sys/pccard/pcic.c#4 integrate
.. //depot/projects/netperf/sys/powerpc/powerpc/machdep.c#4 integrate
.. //depot/projects/netperf/sys/sparc64/sparc64/machdep.c#6 integrate
.. //depot/projects/netperf/sys/sys/condvar.h#2 integrate
.. //depot/projects/netperf/sys/sys/selinfo.h#2 integrate
.. //depot/projects/netperf/sys/sys/signalvar.h#3 integrate
.. //depot/projects/netperf/sys/sys/ucontext.h#2 integrate
.. //depot/projects/netperf/sys/vm/vm_fault.c#8 integrate
.. //depot/projects/netperf/sys/vm/vm_glue.c#6 integrate
.. //depot/projects/netperf/sys/vm/vm_kern.c#8 integrate
.. //depot/projects/netperf/sys/vm/vm_map.c#13 integrate
.. //depot/projects/netperf/sys/vm/vm_map.h#8 integrate
.. //depot/projects/netperf/sys/vm/vm_mmap.c#7 integrate
.. //depot/projects/netperf/sys/vm/vm_object.c#11 integrate
.. //depot/projects/netperf/sys/vm/vm_object.h#4 integrate

Differences ...

==== //depot/projects/netperf/sys/alpha/alpha/machdep.c#7 (text+ko) ====

@@ -88,7 +88,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.213 2003/10/19 02:36:06 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.214 2003/11/09 20:31:02 marcel Exp $");
 
 #include "opt_compat.h"
 #include "opt_ddb.h"
@@ -2027,14 +2027,14 @@
 }
 
 int
-get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret)
+get_mcontext(struct thread *td, mcontext_t *mcp, int flags)
 {
 	/*
 	 * Use a trapframe for getsetcontext, so just copy the
 	 * threads trapframe.
 	 */
 	bcopy(td->td_frame, &mcp->mc_regs, sizeof(struct trapframe));
-	if (clear_ret != 0) {
+	if (flags & GET_MC_CLEAR_RET) {
 		mcp->mc_regs[FRAME_V0] = 0;
 		mcp->mc_regs[FRAME_A4] = 0;
 		mcp->mc_regs[FRAME_A3] = 0;

==== //depot/projects/netperf/sys/amd64/amd64/machdep.c#8 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.596 2003/11/08 04:37:54 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.597 2003/11/09 20:31:02 marcel Exp $");
 
 #include "opt_atalk.h"
 #include "opt_compat.h"
@@ -1441,7 +1441,7 @@
  * Get machine context.
  */
 int
-get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret)
+get_mcontext(struct thread *td, mcontext_t *mcp, int flags)
 {
 	struct trapframe *tp;
 
@@ -1462,7 +1462,7 @@
 	mcp->mc_rbp = tp->tf_rbp;
 	mcp->mc_rbx = tp->tf_rbx;
 	mcp->mc_rcx = tp->tf_rcx;
-	if (clear_ret != 0) {
+	if (flags & GET_MC_CLEAR_RET) {
 		mcp->mc_rax = 0;
 		mcp->mc_rdx = 0;
 	} else {

==== //depot/projects/netperf/sys/boot/i386/boot2/boot2.c#3 (text+ko) ====

@@ -14,7 +14,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.64 2003/08/25 23:28:31 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.65 2003/11/10 19:06:09 bde Exp $");
 
 #include <sys/param.h>
 #include <sys/disklabel.h>
@@ -51,7 +51,7 @@
 #define RBX_NOINTR	0x1c	/* -n */
 #define RBX_DUAL	0x1d	/* -D */
 #define RBX_PROBEKBD	0x1e	/* -P */
-/* 0x1f is reserved for the historical RB_BOOTINFO option */
+/* 0x1f is reserved for the RB_BOOTINFO flag. */
 
 /* pass: -a, -s, -r, -d, -c, -v, -h, -C, -g, -m, -p, -D */
 #define RBX_MASK	0x2005ffff
@@ -359,7 +359,7 @@
     bootinfo.bi_esymtab = VTOP(p);
     bootinfo.bi_kernelname = VTOP(kname);
     bootinfo.bi_bios_dev = dsk.drive;
-    __exec((caddr_t)addr, opts & RBX_MASK,
+    __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK),
 	   MAKEBOOTDEV(dev_maj[dsk.type], 0, dsk.slice, dsk.unit, dsk.part),
 	   0, 0, 0, VTOP(&bootinfo));
 }

==== //depot/projects/netperf/sys/boot/ia64/libski/pal_stub.S#2 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/ia64/libski/pal_stub.S,v 1.2 2003/07/02 11:47:33 ru Exp $
+ * $FreeBSD: src/sys/boot/ia64/libski/pal_stub.S,v 1.3 2003/11/09 07:42:16 marcel Exp $
  */
 
 #include <machine/asm.h>
@@ -41,6 +41,9 @@
 	cmp.eq		p6,p0=14,r28		// PAL_FREQ_RATIOS
 (p6)	br.cond.dptk	pal_freq_ratios
 	;;
+	cmp.eq		p6,p0=29,r28		// PAL_HALT_LIGHT
+(p6)	br.cond.dptk	pal_halt_light
+	;;
 	mov		r15=66			// EXIT
 	break.i		0x80000			// SSC
 	;;
@@ -62,4 +65,10 @@
 	movl		r10=0x0000000100000001	// bus ratio 1/1
 	movl		r11=0x0000000B00000002	// ITC ratio 11/2
 	br.sptk		b0
+pal_halt_light:
+	mov		r8=0
+	mov		r9=0
+	mov		r10=0
+	mov		r11=0
+	br.sptk		b0
 END(PalProc)

==== //depot/projects/netperf/sys/boot/ia64/skiload/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/ia64/skiload/Makefile,v 1.11 2003/07/17 01:49:59 marcel Exp $
+# $FreeBSD: src/sys/boot/ia64/skiload/Makefile,v 1.12 2003/11/09 06:53:37 marcel Exp $
 
 .PATH: ${.CURDIR}/../common
 
@@ -6,6 +6,7 @@
 NOMAN=
 NEWVERSWHAT=	"ia64 SKI boot" ${MACHINE_ARCH}
 BINDIR?=	/boot
+STRIP=		# We must not strip skiload at install time.
 
 SRCS+=		conf.c main.c start.S
 

==== //depot/projects/netperf/sys/cam/cam_xpt.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.134 2003/06/10 17:50:20 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.135 2003/11/09 02:22:33 scottl Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -1453,6 +1453,8 @@
 	int32_t	 status;
 	struct periph_list *periph_head;
 
+	GIANT_REQUIRED;
+
 	device = periph->path->device;
 
 	periph_head = &device->periphs;
@@ -1488,6 +1490,8 @@
 {
 	struct cam_ed *device;
 
+	GIANT_REQUIRED;
+
 	device = periph->path->device;
 
 	if (device != NULL) {
@@ -1524,6 +1528,8 @@
 	u_int	mb;
 	int	s;
 
+	GIANT_REQUIRED;
+
 	path = periph->path;
 	/*
 	 * To ensure that this is printed in one piece,
@@ -1646,6 +1652,8 @@
 	struct cam_path *path;
 	struct ccb_trans_settings cts;
 
+	GIANT_REQUIRED;
+
 	path = periph->path;
 	/*
 	 * To ensure that this is printed in one piece,
@@ -2945,6 +2953,8 @@
 {
 	int iopl;
 
+	GIANT_REQUIRED;
+
 	CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_action\n"));
 
 	start_ccb->ccb_h.status = CAM_REQ_INPROG;
@@ -3578,6 +3588,8 @@
 	struct	  cam_devq *devq;
 	struct	  cam_ed *dev;
 
+	GIANT_REQUIRED;
+
 	timeout = start_ccb->ccb_h.timeout;
 	sim = start_ccb->ccb_h.path->bus->sim;
 	devq = sim->devq;
@@ -3640,6 +3652,8 @@
 	int s;
 	int runq;
 
+	GIANT_REQUIRED;
+
 	CAM_DEBUG(perph->path, CAM_DEBUG_TRACE, ("xpt_schedule\n"));
 	device = perph->path->device;
 	s = splsoftcam();
@@ -3936,6 +3950,8 @@
 void
 xpt_merge_ccb(union ccb *master_ccb, union ccb *slave_ccb)
 {
+	GIANT_REQUIRED;
+
 	/*
 	 * Pull fields that are valid for peripheral drivers to set
 	 * into the master CCB along with the CCB "payload".
@@ -3951,6 +3967,8 @@
 void
 xpt_setup_ccb(struct ccb_hdr *ccb_h, struct cam_path *path, u_int32_t priority)
 {
+	GIANT_REQUIRED;
+
 	CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_setup_ccb\n"));
 	ccb_h->pinfo.priority = priority;
 	ccb_h->path = path;
@@ -3977,6 +3995,8 @@
 	struct	   cam_path *path;
 	cam_status status;
 
+	GIANT_REQUIRED;
+
 	path = (struct cam_path *)malloc(sizeof(*path), M_DEVBUF, M_NOWAIT);
 
 	if (path == NULL) {
@@ -4087,6 +4107,8 @@
 void
 xpt_free_path(struct cam_path *path)
 {
+	GIANT_REQUIRED;
+
 	CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_free_path\n"));
 	xpt_release_path(path);
 	free(path, M_DEVBUF);
@@ -4100,6 +4122,8 @@
 int
 xpt_path_comp(struct cam_path *path1, struct cam_path *path2)
 {
+	GIANT_REQUIRED;
+
 	int retval = 0;
 
 	if (path1->bus != path2->bus) {
@@ -4134,6 +4158,8 @@
 void
 xpt_print_path(struct cam_path *path)
 {
+	GIANT_REQUIRED;
+
 	if (path == NULL)
 		printf("(nopath): ");
 	else {
@@ -4167,6 +4193,8 @@
 {
 	struct sbuf sb;
 
+	GIANT_REQUIRED;
+
 	sbuf_new(&sb, str, str_len, 0);
 
 	if (path == NULL)
@@ -4203,12 +4231,16 @@
 path_id_t
 xpt_path_path_id(struct cam_path *path)
 {
+	GIANT_REQUIRED;
+
 	return(path->bus->path_id);
 }
 
 target_id_t
 xpt_path_target_id(struct cam_path *path)
 {
+	GIANT_REQUIRED;
+
 	if (path->target != NULL)
 		return (path->target->target_id);
 	else
@@ -4218,6 +4250,8 @@
 lun_id_t
 xpt_path_lun_id(struct cam_path *path)
 {
+	GIANT_REQUIRED;
+
 	if (path->device != NULL)
 		return (path->device->lun_id);
 	else
@@ -4227,12 +4261,16 @@
 struct cam_sim *
 xpt_path_sim(struct cam_path *path)
 {
+	GIANT_REQUIRED;
+
 	return (path->bus->sim);
 }
 
 struct cam_periph*
 xpt_path_periph(struct cam_path *path)
 {
+	GIANT_REQUIRED;
+
 	return (path->periph);
 }
 
@@ -4250,6 +4288,8 @@
 	struct	 cam_ed *device;
 	struct	 cam_eb *bus;
 
+	GIANT_REQUIRED;
+
 	CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_release_ccb\n"));
 	path = free_ccb->ccb_h.path;
 	device = path->device;
@@ -4293,6 +4333,8 @@
 	struct ccb_pathinq cpi;
 	int s;
 
+	GIANT_REQUIRED;
+
 	sim->bus_id = bus;
 	new_bus = (struct cam_eb *)malloc(sizeof(*new_bus),
 					  M_DEVBUF, M_NOWAIT);
@@ -4347,6 +4389,8 @@
 	struct cam_path bus_path;
 	cam_status status;
 
+	GIANT_REQUIRED;
+
 	status = xpt_compile_path(&bus_path, NULL, pathid,
 				  CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD);
 	if (status != CAM_REQ_CMP)
@@ -4443,6 +4487,8 @@
 	struct cam_ed *device, *next_device;
 	int s;
 
+	GIANT_REQUIRED;
+
 	CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_async\n"));
 
 	/*
@@ -4608,6 +4654,8 @@
 	int s;
 	struct ccb_hdr *ccbh;
 
+	GIANT_REQUIRED;
+
 	s = splcam();
 	path->device->qfrozen_cnt += count;
 
@@ -4634,6 +4682,8 @@
 u_int32_t
 xpt_freeze_simq(struct cam_sim *sim, u_int count)
 {
+	GIANT_REQUIRED;
+
 	sim->devq->send_queue.qfrozen_cnt += count;
 	if (sim->devq->active_dev != NULL) {
 		struct ccb_hdr *ccbh;
@@ -4659,6 +4709,8 @@
 void
 xpt_release_devq(struct cam_path *path, u_int count, int run_queue)
 {
+	GIANT_REQUIRED;
+
 	xpt_release_devq_device(path->device, count, run_queue);
 }
 
@@ -4717,6 +4769,8 @@
 	int	s;
 	struct	camq *sendq;
 
+	GIANT_REQUIRED;
+
 	sendq = &(sim->devq->send_queue);
 	s = splcam();
 	if (sendq->qfrozen_cnt > 0) {
@@ -4765,6 +4819,8 @@
 {
 	int s;
 
+	GIANT_REQUIRED;
+
 	s = splcam();
 
 	CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_done\n"));
@@ -4796,6 +4852,8 @@
 {
 	union ccb *new_ccb;
 
+	GIANT_REQUIRED;
+
 	new_ccb = malloc(sizeof(*new_ccb), M_DEVBUF, M_WAITOK);
 	return (new_ccb);
 }

==== //depot/projects/netperf/sys/cam/scsi/scsi_target.c#4 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.57 2003/10/02 08:56:14 simokawa Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.58 2003/11/09 09:17:20 tanimura Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1119,7 +1119,7 @@
 	 * Notify users sleeping via poll(), kqueue(), and
 	 * blocking read().
 	 */
-	selwakeup(&softc->read_select);
+	selwakeuppri(&softc->read_select, PRIBIO);
 	KNOTE(&softc->read_select.si_note, 0);
 	wakeup(&softc->user_ccb_queue);
 }

==== //depot/projects/netperf/sys/coda/coda_psdev.c#3 (text+ko) ====

@@ -49,7 +49,7 @@
 /* These routines are the device entry points for Venus. */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/coda/coda_psdev.c,v 1.28 2003/09/10 01:41:15 tjr Exp $");
+__FBSDID("$FreeBSD: src/sys/coda/coda_psdev.c,v 1.29 2003/11/09 09:17:20 tanimura Exp $");
 
 
 extern int coda_nc_initialized;    /* Set if cache has been initialized */
@@ -526,7 +526,7 @@
 
 	/* Append msg to request queue and poke Venus. */
 	INSQUE(vmp->vm_chain, vcp->vc_requests);
-	selwakeup(&(vcp->vc_selproc));
+	selwakeuppri(&(vcp->vc_selproc), coda_call_sleep);
 
 	/* We can be interrupted while we wait for Venus to process
 	 * our request.  If the interrupt occurs before Venus has read
@@ -664,7 +664,7 @@
 		
 		/* insert at head of queue! */
 		INSQUE(svmp->vm_chain, vcp->vc_requests);
-		selwakeup(&(vcp->vc_selproc));
+		selwakeuppri(&(vcp->vc_selproc), coda_call_sleep);
 	    }
 	}
 

==== //depot/projects/netperf/sys/compat/linux/linux_socket.c#3 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.43 2003/10/11 15:08:32 iwasaki Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.44 2003/11/09 17:04:04 dwmalone Exp $");
 
 /* XXX we use functions that might not exist. */
 #include "opt_compat.h"
@@ -45,6 +45,7 @@
 #include <sys/file.h>
 #include <sys/limits.h>
 #include <sys/malloc.h>
+#include <sys/mbuf.h>
 #include <sys/socket.h>
 #include <sys/socketvar.h>
 #include <sys/syscallsubr.h>
@@ -333,39 +334,6 @@
 	return ret_flags;
 }
 
-/*
- * Allocate stackgap and put the converted sockaddr structure
- * there, address on stackgap returned in sap.
- */
-static int
-linux_sa_get(caddr_t *sgp, struct sockaddr **sap,
-	     const struct osockaddr *osa, int *osalen)
-{
-	struct sockaddr *sa, *usa;
-	int alloclen, error;
-
-	alloclen = *osalen;
-	error = do_sa_get(&sa, osa, &alloclen, M_TEMP);
-	if (error)
-		return (error);
-
-	usa = (struct sockaddr *) stackgap_alloc(sgp, alloclen);
-	if (!usa) {
-		error = ENOMEM;
-		goto out;
-	}
-
-	if ((error = copyout(sa, usa, alloclen)))
-		goto out;
-
-	*sap = usa;
-	*osalen = alloclen;
-
-out:
-	FREE(sa, M_TEMP);
-	return (error);
-}
-
 static int
 linux_sa_put(struct osockaddr *osa)
 {
@@ -392,6 +360,46 @@
 	return (0);
 }
 
+static int
+linux_sendit(struct thread *td, int s, struct msghdr *mp, int flags)
+{
+	struct mbuf *control;
+	struct sockaddr *to;
+	int error;
+
+	if (mp->msg_name != NULL) {
+		error = linux_getsockaddr(&to, mp->msg_name, mp->msg_namelen);
+		if (error)
+			return (error);
+		mp->msg_name = to;
+	} else
+		to = NULL;
+
+	if (mp->msg_control != NULL) {
+		struct cmsghdr *cmsg;
+
+		if (mp->msg_controllen < sizeof(struct cmsghdr)) {
+			error = EINVAL;
+			goto bad;
+		}
+		error = sockargs(&control, mp->msg_control,
+		    mp->msg_controllen, MT_CONTROL);
+		if (error)
+			goto bad;
+
+		cmsg = mtod(control, struct cmsghdr *);
+		cmsg->cmsg_level = linux_to_bsd_sockopt_level(cmsg->cmsg_level);
+	} else
+		control = NULL;
+
+	error = kern_sendit(td, s, mp, linux_to_bsd_msg_flags(flags), control);
+
+bad:
+	if (to)
+		FREE(to, M_SONAME);
+	return (error);
+}
+
 /* Return 0 if IP_HDRINCL is set for the given socket. */
 static int
 linux_check_hdrincl(struct thread *td, caddr_t *sg, int s)
@@ -428,12 +436,21 @@
 	return (optval == 0);
 }
 
+struct linux_sendto_args {
+	int s;
+	void *msg;
+	int len;
+	int flags;
+	caddr_t to;
+	int tolen;
+};
+
 /*
  * Updated sendto() when IP_HDRINCL is set:
  * tweak endian-dependent fields in the IP packet.
  */
 static int
-linux_sendto_hdrincl(struct thread *td, caddr_t *sg, struct sendto_args *bsd_args)
+linux_sendto_hdrincl(struct thread *td, caddr_t *sg, struct linux_sendto_args *linux_args)
 {
 /*
  * linux_ip_copysize defines how many bytes we should copy
@@ -444,55 +461,43 @@
 #define linux_ip_copysize	8
 
 	struct ip *packet;
-	struct msghdr *msg;
-	struct iovec *iov;
-
+	struct msghdr msg;
+	struct iovec aiov[2];
 	int error;
-	struct  sendmsg_args /* {
-		int s;
-		caddr_t msg;
-		int flags;
-	} */ sendmsg_args;
 
 	/* Check the packet isn't too small before we mess with it */
-	if (bsd_args->len < linux_ip_copysize)
+	if (linux_args->len < linux_ip_copysize)
 		return (EINVAL);
 
 	/*
 	 * Tweaking the user buffer in place would be bad manners.
 	 * We create a corrected IP header with just the needed length,
 	 * then use an iovec to glue it to the rest of the user packet
-	 * when calling sendmsg().
+	 * when calling sendit().
 	 */
 	packet = (struct ip *)stackgap_alloc(sg, linux_ip_copysize);
-	msg = (struct msghdr *)stackgap_alloc(sg, sizeof(*msg));
-	iov = (struct iovec *)stackgap_alloc(sg, sizeof(*iov)*2);
 
 	/* Make a copy of the beginning of the packet to be sent */
-	if ((error = copyin(bsd_args->buf, packet, linux_ip_copysize)))
+	if ((error = copyin(linux_args->msg, packet, linux_ip_copysize)))
 		return (error);
 
 	/* Convert fields from Linux to BSD raw IP socket format */
-	packet->ip_len = bsd_args->len;
+	packet->ip_len = linux_args->len;
 	packet->ip_off = ntohs(packet->ip_off);
 
 	/* Prepare the msghdr and iovec structures describing the new packet */
-	msg->msg_name = bsd_args->to;
-	msg->msg_namelen = bsd_args->tolen;
-	msg->msg_iov = iov;
-	msg->msg_iovlen = 2;
-	msg->msg_control = NULL;
-	msg->msg_controllen = 0;
-	msg->msg_flags = 0;
-	iov[0].iov_base = (char *)packet;
-	iov[0].iov_len = linux_ip_copysize;
-	iov[1].iov_base = (char *)(bsd_args->buf) + linux_ip_copysize;
-	iov[1].iov_len = bsd_args->len - linux_ip_copysize;
-
-	sendmsg_args.s = bsd_args->s;
-	sendmsg_args.msg = (caddr_t)msg;
-	sendmsg_args.flags = bsd_args->flags;
-	return (sendmsg(td, &sendmsg_args));
+	msg.msg_name = linux_args->to;
+	msg.msg_namelen = linux_args->tolen;
+	msg.msg_iov = aiov;
+	msg.msg_iovlen = 2;
+	msg.msg_control = NULL;
+	msg.msg_flags = 0;
+	aiov[0].iov_base = (char *)packet;
+	aiov[0].iov_len = linux_ip_copysize;
+	aiov[1].iov_base = (char *)(linux_args->msg) + linux_ip_copysize;
+	aiov[1].iov_len = linux_args->len - linux_ip_copysize;
+	error = linux_sendit(td, linux_args->s, &msg, linux_args->flags);
+	return (error);
 }
 
 struct linux_socket_args {
@@ -895,55 +900,32 @@
 	return (orecv(td, &bsd_args));
 }
 
-struct linux_sendto_args {
-	int s;
-	void *msg;
-	int len;
-	int flags;
-	caddr_t to;
-	int tolen;
-};
-
 static int
 linux_sendto(struct thread *td, struct linux_sendto_args *args)
 {
 	struct linux_sendto_args linux_args;
-	struct sendto_args /* {
-		int s;
-		caddr_t buf;
-		size_t len;
-		int flags;
-		caddr_t to;
-		int tolen;
-	} */ bsd_args;
+	struct msghdr msg;
+	struct iovec aiov;
 	caddr_t sg = stackgap_init();
-	struct sockaddr *to;
-	int tolen, error;
+	int error;
 
 	if ((error = copyin(args, &linux_args, sizeof(linux_args))))
 		return (error);
 
-	tolen = linux_args.tolen;
-	if (linux_args.to) {
-		error = linux_sa_get(&sg, &to,
-		    (struct osockaddr *) linux_args.to, &tolen);
-		if (error)
-			return (error);
-	} else
-		to = NULL;
-
-	bsd_args.s = linux_args.s;
-	bsd_args.buf = linux_args.msg;
-	bsd_args.len = linux_args.len;
-	bsd_args.flags = linux_args.flags;
-	bsd_args.to = (caddr_t) to;
-	bsd_args.tolen = (unsigned int) tolen;
-
 	if (linux_check_hdrincl(td, &sg, linux_args.s) == 0)
 		/* IP_HDRINCL set, tweak the packet before sending */
-		return (linux_sendto_hdrincl(td, &sg, &bsd_args));
+		return (linux_sendto_hdrincl(td, &sg, &linux_args));
 
-	return (sendto(td, &bsd_args));
+	msg.msg_name = linux_args.to;
+	msg.msg_namelen = linux_args.tolen;
+	msg.msg_iov = &aiov;
+	msg.msg_iovlen = 1;
+	msg.msg_control = NULL;
+	msg.msg_flags = 0;
+	aiov.iov_base = linux_args.msg;
+	aiov.iov_len = linux_args.len;
+	error = linux_sendit(td, linux_args.s, &msg, linux_args.flags);
+	return (error);
 }
 
 struct linux_recvfrom_args {
@@ -999,16 +981,9 @@
 linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args)
 {
 	struct linux_sendmsg_args linux_args;
-	struct sendmsg_args /* {
-		int s;
-		const struct msghdr *msg;
-		int flags;
-	} */ bsd_args;
 	struct msghdr msg;
-	struct msghdr *nmsg = NULL;
-	struct cmsghdr *cmsg;
+	struct iovec aiov[UIO_SMALLIOV], *iov;
 	int error;
-	caddr_t sg;
 
 	if ((error = copyin(args, &linux_args, sizeof(linux_args))))
 		return (error);
@@ -1016,41 +991,27 @@
 	error = copyin(linux_args.msg, &msg, sizeof(msg));
 	if (error)
 		return (error);
-
-	sg = stackgap_init();
-	nmsg = (struct msghdr *)stackgap_alloc(&sg, sizeof(struct msghdr));
-	if (nmsg == NULL)
-		return (ENOMEM);
-
-	bcopy(&msg, nmsg, sizeof(struct msghdr));
-
-	if (msg.msg_name != NULL) {
-		struct sockaddr *sa;
-
-		error = linux_sa_get(&sg, &sa,
-		    (struct osockaddr *) msg.msg_name, &msg.msg_namelen);
-		if (error)
-			return (error);
-
-		nmsg->msg_name = sa;
+	if ((u_int)msg.msg_iovlen >= UIO_SMALLIOV) {
+		if ((u_int)msg.msg_iovlen >= UIO_MAXIOV)
+			return (EMSGSIZE);
+		MALLOC(iov, struct iovec *,
+			sizeof(struct iovec) * (u_int)msg.msg_iovlen, M_IOV,
+			M_WAITOK);
+	} else {
+		iov = aiov;
 	}
+	if (msg.msg_iovlen &&
+	    (error = copyin(msg.msg_iov, iov,
+	    (unsigned)(msg.msg_iovlen * sizeof (struct iovec)))))
+		goto done;
+	msg.msg_iov = iov;
+	msg.msg_flags = 0;
 
-	if (msg.msg_control != NULL) {
-		nmsg->msg_control = (struct cmsghdr *)stackgap_alloc(&sg,
-		    msg.msg_controllen);
-		if (nmsg->msg_control == NULL)
-			return (ENOMEM);
-
-		bcopy(msg.msg_control, nmsg->msg_control, msg.msg_controllen);
-		cmsg = (struct cmsghdr*)nmsg->msg_control;
-
-		cmsg->cmsg_level = linux_to_bsd_sockopt_level(cmsg->cmsg_level);
-	}
-
-	bsd_args.s = linux_args.s;
-	bsd_args.msg = (caddr_t)nmsg;
-	bsd_args.flags = linux_to_bsd_msg_flags(linux_args.flags);
-	return (sendmsg(td, &bsd_args));
+	error = linux_sendit(td, linux_args.s, &msg, linux_args.flags);
+done:
+	if (iov != aiov)
+		FREE(iov, M_IOV);
+	return (error);
 }
 
 struct linux_recvmsg_args {

==== //depot/projects/netperf/sys/conf/files#23 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.845 2003/11/07 09:18:52 harti Exp $
+# $FreeBSD: src/sys/conf/files,v 1.846 2003/11/10 10:39:14 ume Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -208,7 +208,7 @@
 crypto/des/des_setkey.c	optional ipsec ipsec_esp
 crypto/rijndael/rijndael-alg-fst.c	optional ipsec
 crypto/rijndael/rijndael-api-fst.c	optional ipsec
-opencrypto/rmd160.c		optional ipsec
+opencrypto/rmd160.c	optional ipsec
 crypto/sha1.c		optional ipsec
 crypto/sha2/sha2.c	optional ipsec
 ddb/db_access.c		optional ddb
@@ -495,6 +495,7 @@
 dev/joy/joy.c		optional joy
 dev/joy/joy_isa.c	optional joy isa
 dev/joy/joy_pccard.c	optional joy pccard
+dev/kttcp/kttcp.c	optional kttcp
 dev/led/led.c		optional cpu_soekris
 dev/lge/if_lge.c	optional lge
 dev/lmc/if_lmc.c	optional lmc nowerror
@@ -1462,12 +1463,12 @@
 netinet/tcp_timer.c	optional inet
 netinet/tcp_usrreq.c	optional inet
 netinet/udp_usrreq.c	optional inet
-#netinet6/ah_aesxcbcmac.c	optional ipsec
+netinet6/ah_aesxcbcmac.c	optional ipsec
 netinet6/ah_core.c	optional ipsec
 netinet6/ah_input.c	optional ipsec
 netinet6/ah_output.c	optional ipsec
 netinet6/dest6.c	optional inet6
-#netinet6/esp_aesctr.c	optional ipsec ipsec_esp
+netinet6/esp_aesctr.c	optional ipsec ipsec_esp
 netinet6/esp_core.c	optional ipsec ipsec_esp
 netinet6/esp_input.c	optional ipsec ipsec_esp
 netinet6/esp_output.c	optional ipsec ipsec_esp

==== //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.c#4 (text+ko) ====

@@ -1,19 +1,31 @@
-/*	$KAME: rijndael-alg-fst.c,v 1.7 2001/05/27 00:23:23 itojun Exp $	*/
-
-/*
- * rijndael-alg-fst.c   v2.3   April '2000
+/*	$KAME: rijndael-alg-fst.c,v 1.10 2003/07/15 10:47:16 itojun Exp $	*/
+/**
+ * rijndael-alg-fst.c
+ *
+ * @version 3.0 (December 2000)
+ *
+ * Optimised ANSI C code for the Rijndael cipher (now AES)
  *
- * Optimised ANSI C code
+ * @author Vincent Rijmen <vincent.rijmen at esat.kuleuven.ac.be>
+ * @author Antoon Bosselaers <antoon.bosselaers at esat.kuleuven.ac.be>
+ * @author Paulo Barreto <paulo.barreto at terra.com.br>
  *
- * authors: v1.0: Antoon Bosselaers
- *          v2.0: Vincent Rijmen
- *          v2.3: Paulo Barreto
+ * This code is hereby placed in the public domain.

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


More information about the p4-projects mailing list