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