svn commit: r185919 - in user/kmacy/HEAD_fast_multi_xmit:
contrib/pf lib/libc/stdio sys/boot/zfs sys/compat/freebsd32
sys/compat/linprocfs sys/conf sys/contrib/pf/net
sys/dev/ath/ath_hal sys/dev/at...
Kip Macy
kmacy at FreeBSD.org
Wed Dec 10 23:43:04 PST 2008
Author: kmacy
Date: Thu Dec 11 07:43:02 2008
New Revision: 185919
URL: http://svn.freebsd.org/changeset/base/185919
Log:
IFC 185841:185918
merge latest
Added:
user/kmacy/HEAD_fast_multi_xmit/sys/kern/kern_vimage.c
Modified:
user/kmacy/HEAD_fast_multi_xmit/contrib/pf/ (props changed)
user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfprintf.c
user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfwprintf.c
user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfs.c
user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfsimpl.c
user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_proto.h
user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_signal.h
user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscall.h
user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscalls.c
user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_sysent.c
user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/syscalls.master
user/kmacy/HEAD_fast_multi_xmit/sys/compat/linprocfs/linprocfs.c
user/kmacy/HEAD_fast_multi_xmit/sys/conf/files
user/kmacy/HEAD_fast_multi_xmit/sys/conf/options
user/kmacy/HEAD_fast_multi_xmit/sys/contrib/pf/net/pf_subr.c
user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ah_eeprom_v14.c (contents, props changed)
user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c (contents, props changed)
user/kmacy/HEAD_fast_multi_xmit/sys/dev/pccbb/pccbb_pci.c
user/kmacy/HEAD_fast_multi_xmit/sys/dev/re/if_re.c
user/kmacy/HEAD_fast_multi_xmit/sys/fs/procfs/procfs_map.c
user/kmacy/HEAD_fast_multi_xmit/sys/kern/kern_jail.c
user/kmacy/HEAD_fast_multi_xmit/sys/kern/kern_linker.c
user/kmacy/HEAD_fast_multi_xmit/sys/kern/kern_mbuf.c
user/kmacy/HEAD_fast_multi_xmit/sys/kern/subr_prf.c
user/kmacy/HEAD_fast_multi_xmit/sys/kern/uipc_socket.c
user/kmacy/HEAD_fast_multi_xmit/sys/kern/vfs_aio.c
user/kmacy/HEAD_fast_multi_xmit/sys/mips/adm5120/adm5120_machdep.c
user/kmacy/HEAD_fast_multi_xmit/sys/modules/aio/Makefile
user/kmacy/HEAD_fast_multi_xmit/sys/net/if.c
user/kmacy/HEAD_fast_multi_xmit/sys/net/if_bridge.c
user/kmacy/HEAD_fast_multi_xmit/sys/net/if_ethersubr.c
user/kmacy/HEAD_fast_multi_xmit/sys/net/if_gif.c
user/kmacy/HEAD_fast_multi_xmit/sys/net/if_gif.h
user/kmacy/HEAD_fast_multi_xmit/sys/net/route.c
user/kmacy/HEAD_fast_multi_xmit/sys/net/rtsock.c
user/kmacy/HEAD_fast_multi_xmit/sys/net/vnet.h
user/kmacy/HEAD_fast_multi_xmit/sys/netgraph/netgraph.h
user/kmacy/HEAD_fast_multi_xmit/sys/netgraph/ng_base.c
user/kmacy/HEAD_fast_multi_xmit/sys/netgraph/ng_bridge.c
user/kmacy/HEAD_fast_multi_xmit/sys/netgraph/ng_eiface.c
user/kmacy/HEAD_fast_multi_xmit/sys/netgraph/ng_iface.c
user/kmacy/HEAD_fast_multi_xmit/sys/netgraph/ng_ipfw.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/if_ether.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/in_pcb.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/in_proto.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_divert.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_dummynet.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_fw.h
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_fw2.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_fw_nat.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_fw_pfil.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_input.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_output.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/ip_var.h
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/libalias/alias_db.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/raw_ip.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/sctp_os_bsd.h
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/sctp_pcb.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/tcp_sack.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/tcp_subr.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/tcp_syncache.h
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/tcp_var.h
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/udp_usrreq.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet/vinet.h
user/kmacy/HEAD_fast_multi_xmit/sys/netinet6/in6_proto.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet6/ip6_input.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet6/nd6.c
user/kmacy/HEAD_fast_multi_xmit/sys/netinet6/vinet6.h
user/kmacy/HEAD_fast_multi_xmit/sys/netipsec/ipsec.c
user/kmacy/HEAD_fast_multi_xmit/sys/netipsec/vipsec.h
user/kmacy/HEAD_fast_multi_xmit/sys/nfsserver/nfs_fha.c
user/kmacy/HEAD_fast_multi_xmit/sys/pci/if_rlreg.h
user/kmacy/HEAD_fast_multi_xmit/sys/sys/aio.h
user/kmacy/HEAD_fast_multi_xmit/sys/sys/kernel.h
user/kmacy/HEAD_fast_multi_xmit/sys/sys/sysctl.h
user/kmacy/HEAD_fast_multi_xmit/sys/sys/vimage.h
user/kmacy/HEAD_fast_multi_xmit/usr.bin/fetch/fetch.c
user/kmacy/HEAD_fast_multi_xmit/usr.sbin/jexec/jexec.c
user/kmacy/HEAD_fast_multi_xmit/usr.sbin/jls/jls.c
Modified: user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfprintf.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfprintf.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfprintf.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -569,13 +569,6 @@ __vfprintf(FILE *fp, const char *fmt0, v
}
- thousands_sep = '\0';
- grouping = NULL;
- convbuf = NULL;
-#ifndef NO_FLOATING_POINT
- dtoaresult = NULL;
- decimal_point = localeconv()->decimal_point;
-#endif
/* sorry, fprintf(read_only_file, "") returns EOF, not 0 */
if (prepwrite(fp) != 0)
return (EOF);
@@ -585,6 +578,9 @@ __vfprintf(FILE *fp, const char *fmt0, v
fp->_file >= 0)
return (__sbprintf(fp, fmt0, ap));
+ thousands_sep = '\0';
+ grouping = NULL;
+ convbuf = NULL;
fmt = (char *)fmt0;
argtable = NULL;
nextarg = 1;
@@ -593,6 +589,10 @@ __vfprintf(FILE *fp, const char *fmt0, v
uio.uio_resid = 0;
uio.uio_iovcnt = 0;
ret = 0;
+#ifndef NO_FLOATING_POINT
+ dtoaresult = NULL;
+ decimal_point = localeconv()->decimal_point;
+#endif
/*
* Scan the format for conversions (`%' character).
Modified: user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfwprintf.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfwprintf.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/lib/libc/stdio/vfwprintf.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -575,12 +575,6 @@ __vfwprintf(FILE *fp, const wchar_t *fmt
}
- thousands_sep = '\0';
- grouping = NULL;
-#ifndef NO_FLOATING_POINT
- decimal_point = localeconv()->decimal_point;
-#endif
- convbuf = NULL;
/* sorry, fwprintf(read_only_file, L"") returns WEOF, not 0 */
if (prepwrite(fp) != 0)
return (EOF);
@@ -590,11 +584,17 @@ __vfwprintf(FILE *fp, const wchar_t *fmt
fp->_file >= 0)
return (__sbprintf(fp, fmt0, ap));
+ thousands_sep = '\0';
+ grouping = NULL;
+ convbuf = NULL;
fmt = (wchar_t *)fmt0;
argtable = NULL;
nextarg = 1;
va_copy(orgap, ap);
ret = 0;
+#ifndef NO_FLOATING_POINT
+ decimal_point = localeconv()->decimal_point;
+#endif
/*
* Scan the format for conversions (`%' character).
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfs.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfs.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfs.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -474,7 +474,6 @@ zfs_dev_open(struct open_file *f, ...)
* the pool.
*/
unit = dev->d_unit;
- free(dev);
i = 0;
STAILQ_FOREACH(spa, &zfs_pools, spa_link) {
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfsimpl.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfsimpl.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/boot/zfs/zfsimpl.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -623,7 +623,7 @@ vdev_probe(vdev_read_t *read, void *read
uint64_t pool_txg, pool_guid;
const char *pool_name;
const unsigned char *vdevs;
- int i;
+ int i, rc;
char upbuf[1024];
const struct uberblock *up;
@@ -723,7 +723,9 @@ vdev_probe(vdev_read_t *read, void *read
DATA_TYPE_NVLIST, 0, &vdevs)) {
return (EIO);
}
- vdev_init_from_nvlist(vdevs, &top_vdev);
+ rc = vdev_init_from_nvlist(vdevs, &top_vdev);
+ if (rc)
+ return (rc);
/*
* Add the toplevel vdev to the pool if its not already there.
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_proto.h
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_proto.h Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_proto.h Thu Dec 11 07:43:02 2008 (r185919)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb
*/
#ifndef _FREEBSD32_SYSPROTO_H_
@@ -215,6 +215,18 @@ struct freebsd32_nanosleep_args {
char rqtp_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * rqtp; char rqtp_r_[PADR_(const struct timespec32 *)];
char rmtp_l_[PADL_(struct timespec32 *)]; struct timespec32 * rmtp; char rmtp_r_[PADR_(struct timespec32 *)];
};
+struct freebsd32_aio_read_args {
+ char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_aio_write_args {
+ char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_lio_listio_args {
+ char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)];
+ char acb_list_l_[PADL_(struct aiocb32 *const *)]; struct aiocb32 *const * acb_list; char acb_list_r_[PADR_(struct aiocb32 *const *)];
+ char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)];
+ char sig_l_[PADL_(struct sigevent *)]; struct sigevent * sig; char sig_r_[PADR_(struct sigevent *)];
+};
struct freebsd32_lutimes_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)];
@@ -235,6 +247,33 @@ struct freebsd32_modstat_args {
char modid_l_[PADL_(int)]; int modid; char modid_r_[PADR_(int)];
char stat_l_[PADL_(struct module_stat32 *)]; struct module_stat32 * stat; char stat_r_[PADR_(struct module_stat32 *)];
};
+struct freebsd32_aio_return_args {
+ char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_aio_suspend_args {
+ char aiocbp_l_[PADL_(struct aiocb32 *const *)]; struct aiocb32 *const * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *const *)];
+ char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)];
+ char timeout_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * timeout; char timeout_r_[PADR_(const struct timespec32 *)];
+};
+struct freebsd32_aio_cancel_args {
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_aio_error_args {
+ char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
+struct freebsd32_oaio_read_args {
+ char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)];
+};
+struct freebsd32_oaio_write_args {
+ char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)];
+};
+struct freebsd32_olio_listio_args {
+ char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)];
+ char acb_list_l_[PADL_(struct oaiocb32 *const *)]; struct oaiocb32 *const * acb_list; char acb_list_r_[PADR_(struct oaiocb32 *const *)];
+ char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)];
+ char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)];
+};
struct freebsd32_jail_args {
char jail_l_[PADL_(struct jail32 *)]; struct jail32 * jail; char jail_r_[PADR_(struct jail32 *)];
};
@@ -247,6 +286,10 @@ struct freebsd32_sigwaitinfo_args {
char set_l_[PADL_(const sigset_t *)]; const sigset_t * set; char set_r_[PADR_(const sigset_t *)];
char info_l_[PADL_(siginfo_t *)]; siginfo_t * info; char info_r_[PADR_(siginfo_t *)];
};
+struct freebsd32_aio_waitcomplete_args {
+ char aiocbp_l_[PADL_(struct aiocb32 **)]; struct aiocb32 ** aiocbp; char aiocbp_r_[PADR_(struct aiocb32 **)];
+ char timeout_l_[PADL_(struct timespec32 *)]; struct timespec32 * timeout; char timeout_r_[PADR_(struct timespec32 *)];
+};
struct freebsd32_kevent_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char changelist_l_[PADL_(const struct kevent32 *)]; const struct kevent32 * changelist; char changelist_r_[PADR_(const struct kevent32 *)];
@@ -308,6 +351,10 @@ struct freebsd32_thr_new_args {
char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)];
char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)];
};
+struct freebsd32_aio_fsync_args {
+ char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)];
+ char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
+};
struct freebsd32_pread_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
@@ -427,13 +474,24 @@ int freebsd32_clock_gettime(struct threa
int freebsd32_clock_settime(struct thread *, struct freebsd32_clock_settime_args *);
int freebsd32_clock_getres(struct thread *, struct freebsd32_clock_getres_args *);
int freebsd32_nanosleep(struct thread *, struct freebsd32_nanosleep_args *);
+int freebsd32_aio_read(struct thread *, struct freebsd32_aio_read_args *);
+int freebsd32_aio_write(struct thread *, struct freebsd32_aio_write_args *);
+int freebsd32_lio_listio(struct thread *, struct freebsd32_lio_listio_args *);
int freebsd32_lutimes(struct thread *, struct freebsd32_lutimes_args *);
int freebsd32_preadv(struct thread *, struct freebsd32_preadv_args *);
int freebsd32_pwritev(struct thread *, struct freebsd32_pwritev_args *);
int freebsd32_modstat(struct thread *, struct freebsd32_modstat_args *);
+int freebsd32_aio_return(struct thread *, struct freebsd32_aio_return_args *);
+int freebsd32_aio_suspend(struct thread *, struct freebsd32_aio_suspend_args *);
+int freebsd32_aio_cancel(struct thread *, struct freebsd32_aio_cancel_args *);
+int freebsd32_aio_error(struct thread *, struct freebsd32_aio_error_args *);
+int freebsd32_oaio_read(struct thread *, struct freebsd32_oaio_read_args *);
+int freebsd32_oaio_write(struct thread *, struct freebsd32_oaio_write_args *);
+int freebsd32_olio_listio(struct thread *, struct freebsd32_olio_listio_args *);
int freebsd32_jail(struct thread *, struct freebsd32_jail_args *);
int freebsd32_sigtimedwait(struct thread *, struct freebsd32_sigtimedwait_args *);
int freebsd32_sigwaitinfo(struct thread *, struct freebsd32_sigwaitinfo_args *);
+int freebsd32_aio_waitcomplete(struct thread *, struct freebsd32_aio_waitcomplete_args *);
int freebsd32_kevent(struct thread *, struct freebsd32_kevent_args *);
int freebsd32_nmount(struct thread *, struct freebsd32_nmount_args *);
int freebsd32_sendfile(struct thread *, struct freebsd32_sendfile_args *);
@@ -447,6 +505,7 @@ int freebsd32_umtx_unlock(struct thread
int freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *);
int freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *);
int freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *);
+int freebsd32_aio_fsync(struct thread *, struct freebsd32_aio_fsync_args *);
int freebsd32_pread(struct thread *, struct freebsd32_pread_args *);
int freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *);
int freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *);
@@ -641,13 +700,24 @@ int freebsd6_freebsd32_ftruncate(struct
#define FREEBSD32_SYS_AUE_freebsd32_clock_settime AUE_CLOCK_SETTIME
#define FREEBSD32_SYS_AUE_freebsd32_clock_getres AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_nanosleep AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_read AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_write AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_lio_listio AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_lutimes AUE_LUTIMES
#define FREEBSD32_SYS_AUE_freebsd32_preadv AUE_PREADV
#define FREEBSD32_SYS_AUE_freebsd32_pwritev AUE_PWRITEV
#define FREEBSD32_SYS_AUE_freebsd32_modstat AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_return AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_suspend AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_cancel AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_error AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_oaio_read AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_oaio_write AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_olio_listio AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_jail AUE_JAIL
#define FREEBSD32_SYS_AUE_freebsd32_sigtimedwait AUE_SIGWAIT
#define FREEBSD32_SYS_AUE_freebsd32_sigwaitinfo AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_waitcomplete AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_kevent AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_nmount AUE_NMOUNT
#define FREEBSD32_SYS_AUE_freebsd32_sendfile AUE_SENDFILE
@@ -661,6 +731,7 @@ int freebsd6_freebsd32_ftruncate(struct
#define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_umtx_op AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_thr_new AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_aio_fsync AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_pread AUE_PREAD
#define FREEBSD32_SYS_AUE_freebsd32_pwrite AUE_PWRITE
#define FREEBSD32_SYS_AUE_freebsd32_mmap AUE_MMAP
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_signal.h
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_signal.h Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_signal.h Thu Dec 11 07:43:02 2008 (r185919)
@@ -36,6 +36,9 @@ struct sigaltstack32 {
};
union sigval32 {
+ int sival_int;
+ u_int32_t sival_ptr;
+ /* 6.0 compatibility */
int sigval_int;
u_int32_t sigval_ptr;
};
@@ -70,6 +73,29 @@ struct siginfo32 {
} _reason;
};
+struct osigevent32 {
+ int sigev_notify; /* Notification type */
+ union {
+ int __sigev_signo; /* Signal number */
+ int __sigev_notify_kqueue;
+ } __sigev_u;
+ union sigval32 sigev_value; /* Signal value */
+};
+
+struct sigevent32 {
+ int sigev_notify; /* Notification type */
+ int sigev_signo; /* Signal number */
+ union sigval32 sigev_value; /* Signal value */
+ union {
+ __lwpid_t _threadid;
+ struct {
+ uint32_t _function;
+ uint32_t _attribute;
+ } _sigev_thread;
+ uint32_t __spare__[8];
+ } _sigev_un;
+};
+
void siginfo_to_siginfo32(siginfo_t *src, struct siginfo32 *dst);
#endif /* !_COMPAT_FREEBSD32_SIGNAL_H_ */
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscall.h
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscall.h Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscall.h Thu Dec 11 07:43:02 2008 (r185919)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb
*/
#define FREEBSD32_SYS_syscall 0
@@ -210,6 +210,9 @@
#define FREEBSD32_SYS_openbsd_poll 252
#define FREEBSD32_SYS_issetugid 253
#define FREEBSD32_SYS_lchown 254
+#define FREEBSD32_SYS_freebsd32_aio_read 255
+#define FREEBSD32_SYS_freebsd32_aio_write 256
+#define FREEBSD32_SYS_freebsd32_lio_listio 257
#define FREEBSD32_SYS_getdents 272
#define FREEBSD32_SYS_lchmod 274
#define FREEBSD32_SYS_netbsd_lchown 275
@@ -237,6 +240,13 @@
#define FREEBSD32_SYS_setresuid 311
#define FREEBSD32_SYS_setresgid 312
/* 313 is obsolete signanosleep */
+#define FREEBSD32_SYS_freebsd32_aio_return 314
+#define FREEBSD32_SYS_freebsd32_aio_suspend 315
+#define FREEBSD32_SYS_freebsd32_aio_cancel 316
+#define FREEBSD32_SYS_freebsd32_aio_error 317
+#define FREEBSD32_SYS_freebsd32_oaio_read 318
+#define FREEBSD32_SYS_freebsd32_oaio_write 319
+#define FREEBSD32_SYS_freebsd32_olio_listio 320
#define FREEBSD32_SYS_yield 321
/* 322 is obsolete thr_sleep */
/* 323 is obsolete thr_wakeup */
@@ -274,6 +284,7 @@
#define FREEBSD32_SYS_extattr_set_file 356
#define FREEBSD32_SYS_extattr_get_file 357
#define FREEBSD32_SYS_extattr_delete_file 358
+#define FREEBSD32_SYS_freebsd32_aio_waitcomplete 359
#define FREEBSD32_SYS_getresuid 360
#define FREEBSD32_SYS_getresgid 361
#define FREEBSD32_SYS_kqueue 362
@@ -321,6 +332,7 @@
#define FREEBSD32_SYS_sigqueue 456
#define FREEBSD32_SYS_abort2 463
#define FREEBSD32_SYS_thr_set_name 464
+#define FREEBSD32_SYS_freebsd32_aio_fsync 465
#define FREEBSD32_SYS_rtprio_thread 466
#define FREEBSD32_SYS_sctp_peeloff 471
#define FREEBSD32_SYS_sctp_generic_sendmsg 472
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscalls.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscalls.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_syscalls.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb
*/
const char *freebsd32_syscallnames[] = {
@@ -262,9 +262,9 @@ const char *freebsd32_syscallnames[] = {
"openbsd_poll", /* 252 = openbsd_poll */
"issetugid", /* 253 = issetugid */
"lchown", /* 254 = lchown */
- "#255", /* 255 = nosys */
- "#256", /* 256 = nosys */
- "#257", /* 257 = nosys */
+ "freebsd32_aio_read", /* 255 = freebsd32_aio_read */
+ "freebsd32_aio_write", /* 256 = freebsd32_aio_write */
+ "freebsd32_lio_listio", /* 257 = freebsd32_lio_listio */
"#258", /* 258 = nosys */
"#259", /* 259 = nosys */
"#260", /* 260 = nosys */
@@ -321,13 +321,13 @@ const char *freebsd32_syscallnames[] = {
"setresuid", /* 311 = setresuid */
"setresgid", /* 312 = setresgid */
"obs_signanosleep", /* 313 = obsolete signanosleep */
- "#314", /* 314 = aio_return */
- "#315", /* 315 = aio_suspend */
- "#316", /* 316 = aio_cancel */
- "#317", /* 317 = aio_error */
- "#318", /* 318 = aio_read */
- "#319", /* 319 = aio_write */
- "#320", /* 320 = lio_listio */
+ "freebsd32_aio_return", /* 314 = freebsd32_aio_return */
+ "freebsd32_aio_suspend", /* 315 = freebsd32_aio_suspend */
+ "freebsd32_aio_cancel", /* 316 = freebsd32_aio_cancel */
+ "freebsd32_aio_error", /* 317 = freebsd32_aio_error */
+ "freebsd32_oaio_read", /* 318 = freebsd32_oaio_read */
+ "freebsd32_oaio_write", /* 319 = freebsd32_oaio_write */
+ "freebsd32_olio_listio", /* 320 = freebsd32_olio_listio */
"yield", /* 321 = yield */
"obs_thr_sleep", /* 322 = obsolete thr_sleep */
"obs_thr_wakeup", /* 323 = obsolete thr_wakeup */
@@ -366,7 +366,7 @@ const char *freebsd32_syscallnames[] = {
"extattr_set_file", /* 356 = extattr_set_file */
"extattr_get_file", /* 357 = extattr_get_file */
"extattr_delete_file", /* 358 = extattr_delete_file */
- "#359", /* 359 = aio_waitcomplete */
+ "freebsd32_aio_waitcomplete", /* 359 = freebsd32_aio_waitcomplete */
"getresuid", /* 360 = getresuid */
"getresgid", /* 361 = getresgid */
"kqueue", /* 362 = kqueue */
@@ -472,7 +472,7 @@ const char *freebsd32_syscallnames[] = {
"#462", /* 462 = kmq_unlink */
"abort2", /* 463 = abort2 */
"thr_set_name", /* 464 = thr_set_name */
- "#465", /* 465 = aio_fsync */
+ "freebsd32_aio_fsync", /* 465 = freebsd32_aio_fsync */
"rtprio_thread", /* 466 = rtprio_thread */
"#467", /* 467 = nosys */
"#468", /* 468 = nosys */
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_sysent.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_sysent.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/freebsd32_sysent.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185435 2008-11-29 14:32:14Z bz
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 185878 2008-12-10 20:56:19Z jhb
*/
#include "opt_compat.h"
@@ -293,9 +293,9 @@ struct sysent freebsd32_sysent[] = {
{ AS(openbsd_poll_args), (sy_call_t *)openbsd_poll, AUE_POLL, NULL, 0, 0 }, /* 252 = openbsd_poll */
{ 0, (sy_call_t *)issetugid, AUE_ISSETUGID, NULL, 0, 0 }, /* 253 = issetugid */
{ AS(lchown_args), (sy_call_t *)lchown, AUE_LCHOWN, NULL, 0, 0 }, /* 254 = lchown */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 255 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 256 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 257 = nosys */
+ { AS(freebsd32_aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 255 = freebsd32_aio_read */
+ { AS(freebsd32_aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 256 = freebsd32_aio_write */
+ { AS(freebsd32_lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 257 = freebsd32_lio_listio */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 258 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 259 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 260 = nosys */
@@ -352,13 +352,13 @@ struct sysent freebsd32_sysent[] = {
{ AS(setresuid_args), (sy_call_t *)setresuid, AUE_SETRESUID, NULL, 0, 0 }, /* 311 = setresuid */
{ AS(setresgid_args), (sy_call_t *)setresgid, AUE_SETRESGID, NULL, 0, 0 }, /* 312 = setresgid */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 313 = obsolete signanosleep */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 314 = aio_return */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 315 = aio_suspend */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 316 = aio_cancel */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 317 = aio_error */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 318 = aio_read */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 319 = aio_write */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 320 = lio_listio */
+ { AS(freebsd32_aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 314 = freebsd32_aio_return */
+ { AS(freebsd32_aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 315 = freebsd32_aio_suspend */
+ { AS(freebsd32_aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 316 = freebsd32_aio_cancel */
+ { AS(freebsd32_aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 317 = freebsd32_aio_error */
+ { AS(freebsd32_oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 318 = freebsd32_oaio_read */
+ { AS(freebsd32_oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 319 = freebsd32_oaio_write */
+ { AS(freebsd32_olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 320 = freebsd32_olio_listio */
{ 0, (sy_call_t *)yield, AUE_NULL, NULL, 0, 0 }, /* 321 = yield */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 322 = obsolete thr_sleep */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 323 = obsolete thr_wakeup */
@@ -397,7 +397,7 @@ struct sysent freebsd32_sysent[] = {
{ AS(extattr_set_file_args), (sy_call_t *)extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0 }, /* 356 = extattr_set_file */
{ AS(extattr_get_file_args), (sy_call_t *)extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0 }, /* 357 = extattr_get_file */
{ AS(extattr_delete_file_args), (sy_call_t *)extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0 }, /* 358 = extattr_delete_file */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 359 = aio_waitcomplete */
+ { AS(freebsd32_aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 359 = freebsd32_aio_waitcomplete */
{ AS(getresuid_args), (sy_call_t *)getresuid, AUE_GETRESUID, NULL, 0, 0 }, /* 360 = getresuid */
{ AS(getresgid_args), (sy_call_t *)getresgid, AUE_GETRESGID, NULL, 0, 0 }, /* 361 = getresgid */
{ 0, (sy_call_t *)kqueue, AUE_KQUEUE, NULL, 0, 0 }, /* 362 = kqueue */
@@ -503,7 +503,7 @@ struct sysent freebsd32_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 462 = kmq_unlink */
{ AS(abort2_args), (sy_call_t *)abort2, AUE_NULL, NULL, 0, 0 }, /* 463 = abort2 */
{ AS(thr_set_name_args), (sy_call_t *)thr_set_name, AUE_NULL, NULL, 0, 0 }, /* 464 = thr_set_name */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 465 = aio_fsync */
+ { AS(freebsd32_aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 465 = freebsd32_aio_fsync */
{ AS(rtprio_thread_args), (sy_call_t *)rtprio_thread, AUE_RTPRIO, NULL, 0, 0 }, /* 466 = rtprio_thread */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 467 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 468 = nosys */
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/syscalls.master
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/syscalls.master Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/compat/freebsd32/syscalls.master Thu Dec 11 07:43:02 2008 (r185919)
@@ -454,9 +454,13 @@
u_int nfds, int timeout); }
253 AUE_ISSETUGID NOPROTO { int issetugid(void); }
254 AUE_LCHOWN NOPROTO { int lchown(char *path, int uid, int gid); }
-255 AUE_NULL UNIMPL nosys
-256 AUE_NULL UNIMPL nosys
-257 AUE_NULL UNIMPL nosys
+255 AUE_NULL NOSTD { int freebsd32_aio_read( \
+ struct aiocb32 *aiocbp); }
+256 AUE_NULL NOSTD { int freebsd32_aio_write( \
+ struct aiocb32 *aiocbp); }
+257 AUE_NULL NOSTD { int freebsd32_lio_listio(int mode, \
+ struct aiocb32 * const *acb_list, \
+ int nent, struct sigevent *sig); }
258 AUE_NULL UNIMPL nosys
259 AUE_NULL UNIMPL nosys
260 AUE_NULL UNIMPL nosys
@@ -535,13 +539,22 @@
312 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \
gid_t sgid); }
313 AUE_NULL OBSOL signanosleep
-314 AUE_NULL UNIMPL aio_return
-315 AUE_NULL UNIMPL aio_suspend
-316 AUE_NULL UNIMPL aio_cancel
-317 AUE_NULL UNIMPL aio_error
-318 AUE_NULL UNIMPL aio_read
-319 AUE_NULL UNIMPL aio_write
-320 AUE_NULL UNIMPL lio_listio
+314 AUE_NULL NOSTD { int freebsd32_aio_return( \
+ struct aiocb32 *aiocbp); }
+315 AUE_NULL NOSTD { int freebsd32_aio_suspend( \
+ struct aiocb32 * const * aiocbp, int nent, \
+ const struct timespec32 *timeout); }
+316 AUE_NULL NOSTD { int freebsd32_aio_cancel(int fd, \
+ struct aiocb32 *aiocbp); }
+317 AUE_NULL NOSTD { int freebsd32_aio_error( \
+ struct aiocb32 *aiocbp); }
+318 AUE_NULL NOSTD { int freebsd32_oaio_read( \
+ struct oaiocb32 *aiocbp); }
+319 AUE_NULL NOSTD { int freebsd32_oaio_write( \
+ struct oaiocb32 *aiocbp); }
+320 AUE_NULL NOSTD { int freebsd32_olio_listio(int mode, \
+ struct oaiocb32 * const *acb_list, \
+ int nent, struct osigevent32 *sig); }
321 AUE_NULL NOPROTO { int yield(void); }
322 AUE_NULL OBSOL thr_sleep
323 AUE_NULL OBSOL thr_wakeup
@@ -618,7 +631,9 @@
358 AUE_EXTATTR_DELETE_FILE NOPROTO { int extattr_delete_file( \
const char *path, int attrnamespace, \
const char *attrname); }
-359 AUE_NULL UNIMPL aio_waitcomplete
+359 AUE_NULL NOSTD { int freebsd32_aio_waitcomplete( \
+ struct aiocb32 **aiocbp, \
+ struct timespec32 *timeout); }
360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
uid_t *suid); }
361 AUE_GETRESGID NOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
@@ -766,7 +781,8 @@
462 AUE_NULL UNIMPL kmq_unlink
463 AUE_NULL NOPROTO { int abort2(const char *why, int nargs, void **args); }
464 AUE_NULL NOPROTO { int thr_set_name(long id, const char *name); }
-465 AUE_NULL UNIMPL aio_fsync
+465 AUE_NULL NOSTD { int freebsd32_aio_fsync(int op, \
+ struct aiocb32 *aiocbp); }
466 AUE_RTPRIO NOPROTO { int rtprio_thread(int function, \
lwpid_t lwpid, struct rtprio *rtp); }
467 AUE_NULL UNIMPL nosys
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/compat/linprocfs/linprocfs.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/compat/linprocfs/linprocfs.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/compat/linprocfs/linprocfs.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -969,11 +969,11 @@ linprocfs_doprocmaps(PFS_FILL_ARGS)
);
if (freename)
free(freename, M_TEMP);
+ vm_map_lock_read(map);
if (error == -1) {
error = 0;
break;
}
- vm_map_lock_read(map);
if (last_timestamp + 1 != map->timestamp) {
/*
* Look again for the entry because the map was
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/conf/files
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/conf/files Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/conf/files Thu Dec 11 07:43:02 2008 (r185919)
@@ -1953,6 +1953,7 @@ kern/kern_timeout.c standard
kern/kern_umtx.c standard
kern/kern_uuid.c standard
kern/kern_xxx.c standard
+kern/kern_vimage.c standard
kern/link_elf.c standard
kern/linker_if.m standard
kern/md4c.c optional netsmb
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/conf/options
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/conf/options Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/conf/options Thu Dec 11 07:43:02 2008 (r185919)
@@ -415,6 +415,7 @@ TCPDEBUG
TCP_OFFLOAD_DISABLE opt_inet.h #Disable code to dispatch tcp offloading
TCP_SIGNATURE opt_inet.h
VLAN_ARRAY opt_vlan.h
+VIMAGE_GLOBALS opt_global.h
XBONEHACK
#
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/contrib/pf/net/pf_subr.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/contrib/pf/net/pf_subr.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/contrib/pf/net/pf_subr.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -124,15 +124,14 @@ static MD5_CTX isn_ctx;
u_int32_t
pf_new_isn(struct pf_state *s)
{
- INIT_VNET_INET(curvnet);
u_int32_t md5_buffer[4];
u_int32_t new_isn;
struct pf_state_host *src, *dst;
/* Seed if this is the first use, reseed if requested. */
- if (V_isn_last_reseed == 0) {
- read_random(&V_isn_secret, sizeof(V_isn_secret));
- V_isn_last_reseed = ticks;
+ if (isn_last_reseed == 0) {
+ read_random(&isn_secret, sizeof(isn_secret));
+ isn_last_reseed = ticks;
}
if (s->direction == PF_IN) {
@@ -144,28 +143,28 @@ pf_new_isn(struct pf_state *s)
}
/* Compute the md5 hash and return the ISN. */
- MD5Init(&V_isn_ctx);
- MD5Update(&V_isn_ctx, (u_char *) &dst->port, sizeof(u_short));
- MD5Update(&V_isn_ctx, (u_char *) &src->port, sizeof(u_short));
+ MD5Init(&isn_ctx);
+ MD5Update(&isn_ctx, (u_char *) &dst->port, sizeof(u_short));
+ MD5Update(&isn_ctx, (u_char *) &src->port, sizeof(u_short));
#ifdef INET6
if (s->af == AF_INET6) {
- MD5Update(&V_isn_ctx, (u_char *) &dst->addr,
+ MD5Update(&isn_ctx, (u_char *) &dst->addr,
sizeof(struct in6_addr));
- MD5Update(&V_isn_ctx, (u_char *) &src->addr,
+ MD5Update(&isn_ctx, (u_char *) &src->addr,
sizeof(struct in6_addr));
} else
#endif
{
- MD5Update(&V_isn_ctx, (u_char *) &dst->addr,
+ MD5Update(&isn_ctx, (u_char *) &dst->addr,
sizeof(struct in_addr));
- MD5Update(&V_isn_ctx, (u_char *) &src->addr,
+ MD5Update(&isn_ctx, (u_char *) &src->addr,
sizeof(struct in_addr));
}
- MD5Update(&V_isn_ctx, (u_char *) &V_isn_secret, sizeof(V_isn_secret));
- MD5Final((u_char *) &md5_buffer, &V_isn_ctx);
+ MD5Update(&isn_ctx, (u_char *) &isn_secret, sizeof(isn_secret));
+ MD5Final((u_char *) &md5_buffer, &isn_ctx);
new_isn = (tcp_seq) md5_buffer[0];
- V_isn_offset += ISN_STATIC_INCREMENT +
+ isn_offset += ISN_STATIC_INCREMENT +
(arc4random() & ISN_RANDOM_INCREMENT);
- new_isn += V_isn_offset;
+ new_isn += isn_offset;
return (new_isn);
}
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ah_eeprom_v14.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ah_eeprom_v14.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ah_eeprom_v14.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -14,7 +14,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: ah_eeprom_v14.c,v 1.4 2008/11/10 19:04:26 sam Exp $
+ * $FreeBSD$
*/
#include "opt_ah.h"
@@ -54,6 +54,7 @@ v14EepromGet(struct ath_hal *ah, int par
__func__, ath_hal_ether_sprintf(macaddr));
return HAL_EEBADMAC;
}
+ return HAL_OK;
case AR_EEP_REGDMN_0:
return pBase->regDmn[0];
case AR_EEP_REGDMN_1:
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -14,7 +14,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: ar5212_misc.c,v 1.12 2008/11/27 22:30:00 sam Exp $
+ * $FreeBSD$
*/
#include "opt_ah.h"
@@ -803,6 +803,7 @@ ar5212GetCapability(struct ath_hal *ah,
return (ahp->ah_staId1Defaults &
AR_STA_ID1_CRPT_MIC_ENABLE) ? HAL_OK : HAL_ENXIO;
}
+ return HAL_EINVAL;
case HAL_CAP_TKIP_SPLIT: /* hardware TKIP uses split keys */
switch (capability) {
case 0: /* hardware capability */
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/pccbb/pccbb_pci.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/dev/pccbb/pccbb_pci.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/pccbb/pccbb_pci.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -682,40 +682,67 @@ cbb_pci_shutdown(device_t brdev)
return (0);
}
-#define DELTA (CBB_SOCKET_MASK_CD)
static int
cbb_pci_filt(void *arg)
{
struct cbb_softc *sc = arg;
uint32_t sockevent;
+ uint8_t csc;
int retval = FILTER_STRAY;
/*
- * Read the socket event. Sometimes, the theory goes, the PCI
- * bus is so loaded that it cannot satisfy the read request, so
- * we get garbage back from the following read. We have to filter
- * out the garbage so that we don't spontaneously reset the card
- * under high load. PCI isn't supposed to act like this. No doubt
- * this is a bug in the PCI bridge chipset (or cbb brige) that's being
- * used in certain amd64 laptops today. Work around the issue by
- * assuming that any bits we don't know about being set means that
- * we got garbage.
+ * Some chips also require us to read the old ExCA registe for card
+ * status change when we route CSC vis PCI. This isn't supposed to be
+ * required, but it clears the interrupt state on some chipsets.
+ * Maybe there's a setting that would obviate its need. Maybe we
+ * should test the status bits and deal with them, but so far we've
+ * not found any machines that don't also give us the socket status
+ * indication above.
+ *
+ * This call used to be unconditional. However, further research
+ * suggests that we hit this condition when the card READY interrupt
+ * fired. So now we only read it for 16-bit cards, and we only claim
+ * the interrupt if READY is set. If this still causes problems, then
+ * the next step would be to read this if we have a 16-bit card *OR*
+ * we have no card. We treat the READY signal as if it were the power
+ * completion signal. Some bridges may double signal things here, bit
+ * signalling twice should be OK since we only sleep on the powerintr
+ * in one place and a double wakeup would be benign there.
+ */
+ if (sc->flags & CBB_16BIT_CARD) {
+ csc = exca_getb(&sc->exca[0], EXCA_CSC);
+ if (csc & EXCA_CSC_READY) {
+ atomic_add_int(&sc->powerintr, 1);
+ wakeup((void *)&sc->powerintr);
+ retval = FILTER_HANDLED;
+ }
+ }
+
+ /*
+ * Read the socket event. Sometimes, the theory goes, the PCI bus is
+ * so loaded that it cannot satisfy the read request, so we get
+ * garbage back from the following read. We have to filter out the
+ * garbage so that we don't spontaneously reset the card under high
+ * load. PCI isn't supposed to act like this. No doubt this is a bug
+ * in the PCI bridge chipset (or cbb brige) that's being used in
+ * certain amd64 laptops today. Work around the issue by assuming
+ * that any bits we don't know about being set means that we got
+ * garbage.
*/
sockevent = cbb_get(sc, CBB_SOCKET_EVENT);
if (sockevent != 0 && (sockevent & ~CBB_SOCKET_EVENT_VALID_MASK) == 0) {
/*
- * If anything has happened to the socket, we assume that
- * the card is no longer OK, and we shouldn't call its
- * ISR. We set cardok as soon as we've attached the
- * card. This helps in a noisy eject, which happens
- * all too often when users are ejecting their PC Cards.
+ * If anything has happened to the socket, we assume that the
+ * card is no longer OK, and we shouldn't call its ISR. We
+ * set cardok as soon as we've attached the card. This helps
+ * in a noisy eject, which happens all too often when users
+ * are ejecting their PC Cards.
*
- * We use this method in preference to checking to see if
- * the card is still there because the check suffers from
- * a race condition in the bouncing case. Prior versions
- * of the pccard software used a similar trick and achieved
- * excellent results.
+ * We use this method in preference to checking to see if the
+ * card is still there because the check suffers from a race
+ * condition in the bouncing case.
*/
+#define DELTA (CBB_SOCKET_MASK_CD)
if (sockevent & DELTA) {
cbb_clrb(sc, CBB_SOCKET_MASK, DELTA);
cbb_set(sc, CBB_SOCKET_EVENT, DELTA);
@@ -723,9 +750,11 @@ cbb_pci_filt(void *arg)
cbb_disable_func_intr(sc);
wakeup(&sc->intrhand);
}
+#undef DELTA
+
/*
- * If we get a power interrupt, wakeup anybody that might
- * be waiting for one.
+ * Wakeup anybody waiting for a power interrupt. We have to
+ * use atomic_add_int for wakups on other cores.
*/
if (sockevent & CBB_SOCKET_EVENT_POWER) {
cbb_clrb(sc, CBB_SOCKET_MASK, CBB_SOCKET_EVENT_POWER);
@@ -733,21 +762,15 @@ cbb_pci_filt(void *arg)
atomic_add_int(&sc->powerintr, 1);
wakeup((void *)&sc->powerintr);
}
+
+ /*
+ * Status change interrupts aren't presently used in the
+ * rest of the driver. For now, just ACK them.
+ */
+ if (sockevent & CBB_SOCKET_EVENT_CSTS)
+ cbb_set(sc, CBB_SOCKET_EVENT, CBB_SOCKET_EVENT_CSTS);
retval = FILTER_HANDLED;
}
- /*
- * Some chips also require us to read the old ExCA registe for
- * card status change when we route CSC vis PCI. This isn't supposed
- * to be required, but it clears the interrupt state on some chipsets.
- * Maybe there's a setting that would obviate its need. Maybe we
- * should test the status bits and deal with them, but so far we've
- * not found any machines that don't also give us the socket status
- * indication above.
- *
- * We have to call this unconditionally because some bridges deliver
- * the event independent of the CBB_SOCKET_EVENT_CD above.
- */
- exca_getb(&sc->exca[0], EXCA_CSC);
return retval;
}
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/re/if_re.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/dev/re/if_re.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/re/if_re.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -419,10 +419,10 @@ re_gmii_readreg(device_t dev, int phy, i
CSR_WRITE_4(sc, RL_PHYAR, reg << 16);
for (i = 0; i < RL_TIMEOUT; i++) {
- DELAY(30);
rval = CSR_READ_4(sc, RL_PHYAR);
if (rval & RL_PHYAR_BUSY)
break;
+ DELAY(100);
}
if (i == RL_TIMEOUT) {
@@ -446,10 +446,10 @@ re_gmii_writereg(device_t dev, int phy,
(data & RL_PHYAR_PHYDATA) | RL_PHYAR_BUSY);
for (i = 0; i < RL_TIMEOUT; i++) {
- DELAY(30);
rval = CSR_READ_4(sc, RL_PHYAR);
if (!(rval & RL_PHYAR_BUSY))
break;
+ DELAY(100);
}
if (i == RL_TIMEOUT) {
@@ -700,7 +700,12 @@ re_reset(struct rl_softc *sc)
if (i == RL_TIMEOUT)
device_printf(sc->rl_dev, "reset never completed!\n");
- CSR_WRITE_1(sc, 0x82, 1);
+ if ((sc->rl_flags & RL_FLAG_PHY8169) != 0)
+ CSR_WRITE_1(sc, 0x82, 1);
+ if ((sc->rl_flags & RL_FLAG_PHY8110S) != 0) {
+ CSR_WRITE_1(sc, 0x82, 1);
+ re_gmii_writereg(sc->rl_dev, 1, 0x0B, 0);
+ }
}
#ifdef RE_DIAG
@@ -756,7 +761,6 @@ re_diag(struct rl_softc *sc)
ifp->if_flags |= IFF_PROMISC;
sc->rl_testmode = 1;
- re_reset(sc);
re_init_locked(sc);
sc->rl_flags |= RL_FLAG_LINK;
if (sc->rl_type == RL_8169)
@@ -1236,6 +1240,9 @@ re_attach(device_t dev)
case RL_HWREV_8139CPLUS:
sc->rl_flags |= RL_FLAG_NOJUMBO | RL_FLAG_FASTETHER;
break;
+ case RL_HWREV_8110S:
+ sc->rl_flags |= RL_FLAG_PHY8110S;
+ break;
case RL_HWREV_8100E:
case RL_HWREV_8101E:
sc->rl_flags |= RL_FLAG_NOJUMBO | RL_FLAG_INVMAR |
@@ -1245,10 +1252,12 @@ re_attach(device_t dev)
case RL_HWREV_8102EL:
sc->rl_flags |= RL_FLAG_NOJUMBO | RL_FLAG_INVMAR |
RL_FLAG_PHYWAKE | RL_FLAG_PAR | RL_FLAG_DESCV2 |
- RL_FLAG_MACSTAT | RL_FLAG_FASTETHER;
+ RL_FLAG_MACSTAT | RL_FLAG_FASTETHER | RL_FLAG_CMDSTOP;
break;
case RL_HWREV_8168_SPIN1:
case RL_HWREV_8168_SPIN2:
+ sc->rl_flags |= RL_FLAG_WOLRXENB;
+ /* FALLTHROUGH */
case RL_HWREV_8168_SPIN3:
sc->rl_flags |= RL_FLAG_INVMAR | RL_FLAG_PHYWAKE |
RL_FLAG_MACSTAT;
@@ -1258,7 +1267,8 @@ re_attach(device_t dev)
case RL_HWREV_8168CP:
case RL_HWREV_8168D:
sc->rl_flags |= RL_FLAG_INVMAR | RL_FLAG_PHYWAKE |
- RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT;
+ RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT |
+ RL_FLAG_CMDSTOP;
/*
* These controllers support jumbo frame but it seems
* that enabling it requires touching additional magic
@@ -1271,10 +1281,14 @@ re_attach(device_t dev)
*/
sc->rl_flags |= RL_FLAG_NOJUMBO;
break;
+ case RL_HWREV_8169:
+ case RL_HWREV_8169S:
+ sc->rl_flags |= RL_FLAG_PHY8169;
+ break;
case RL_HWREV_8169_8110SB:
case RL_HWREV_8169_8110SC:
case RL_HWREV_8169_8110SBL:
- sc->rl_flags |= RL_FLAG_PHYWAKE;
+ sc->rl_flags |= RL_FLAG_PHYWAKE | RL_FLAG_PHY8169;
break;
default:
break;
@@ -2091,10 +2105,8 @@ re_poll_locked(struct ifnet *ifp, enum p
* XXX check behaviour on receiver stalls.
*/
- if (status & RL_ISR_SYSTEM_ERR) {
- re_reset(sc);
+ if (status & RL_ISR_SYSTEM_ERR)
re_init_locked(sc);
- }
}
}
#endif /* DEVICE_POLLING */
@@ -2158,10 +2170,8 @@ re_int_task(void *arg, int npending)
RL_ISR_TX_ERR|RL_ISR_TX_DESC_UNAVAIL))
re_txeof(sc);
- if (status & RL_ISR_SYSTEM_ERR) {
- re_reset(sc);
+ if (status & RL_ISR_SYSTEM_ERR)
re_init_locked(sc);
- }
if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
taskqueue_enqueue_fast(taskqueue_fast, &sc->rl_txtask);
@@ -2482,6 +2492,9 @@ re_init_locked(struct rl_softc *sc)
*/
re_stop(sc);
+ /* Put controller into known state. */
+ re_reset(sc);
+
/*
* Enable C+ RX and TX mode, as well as VLAN stripping and
* RX checksum offload. We must configure the C+ register
@@ -2870,7 +2883,12 @@ re_stop(struct rl_softc *sc)
callout_stop(&sc->rl_stat_callout);
ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
- CSR_WRITE_1(sc, RL_COMMAND, 0x00);
+ if ((sc->rl_flags & RL_FLAG_CMDSTOP) != 0)
+ CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_STOPREQ | RL_CMD_TX_ENB |
+ RL_CMD_RX_ENB);
+ else
+ CSR_WRITE_1(sc, RL_COMMAND, 0x00);
+ DELAY(1000);
CSR_WRITE_2(sc, RL_IMR, 0x0000);
CSR_WRITE_2(sc, RL_ISR, 0xFFFF);
@@ -3000,6 +3018,9 @@ re_setwol(struct rl_softc *sc)
return;
ifp = sc->rl_ifp;
+ if ((ifp->if_capenable & IFCAP_WOL) != 0 &&
+ (sc->rl_flags & RL_FLAG_WOLRXENB) != 0)
+ CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_RX_ENB);
/* Enable config register write. */
CSR_WRITE_1(sc, RL_EECMD, RL_EE_MODE);
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/fs/procfs/procfs_map.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/fs/procfs/procfs_map.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/fs/procfs/procfs_map.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -219,12 +219,11 @@ procfs_doprocmap(PFS_FILL_ARGS)
if (freepath != NULL)
free(freepath, M_TEMP);
-
+ vm_map_lock_read(map);
if (error == -1) {
error = 0;
break;
}
- vm_map_lock_read(map);
if (last_timestamp + 1 != map->timestamp) {
/*
* Look again for the entry because the map was
Modified: user/kmacy/HEAD_fast_multi_xmit/sys/kern/kern_jail.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/kern/kern_jail.c Thu Dec 11 07:39:06 2008 (r185918)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/kern/kern_jail.c Thu Dec 11 07:43:02 2008 (r185919)
@@ -1574,13 +1574,13 @@ DB_SHOW_COMMAND(jails, db_show_jails)
pr->pr_ip4s, pr->pr_ip6s);
db_printf("%6s %-29.29s %.74s\n",
"", pr->pr_host, pr->pr_path);
- if (pr->pr_state < 0 || pr->pr_state > (int)((sizeof(
+ if (pr->pr_state < 0 || pr->pr_state >= (int)((sizeof(
prison_states) / sizeof(struct prison_state))))
state = "(bogus)";
else
state = prison_states[pr->pr_state].state_name;
db_printf("%6s %-29.29s %.74s\n",
- "", (pr->pr_name != NULL) ? pr->pr_name : "", state);
+ "", (pr->pr_name[0] != '\0') ? pr->pr_name : "", state);
db_printf("%6s %-6d\n",
"", pr->pr_cpuset->cs_id);
#ifdef INET
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-user
mailing list