freebsd-dev/sys
Matthew Dillon 698df1f738 Fix two bugs in the DMA chaining code for OHCI. The first bug is that
the dataphysend calculation could only possibly work if the virtual buffer
is also physically contiguous.  Calculate dataphysend by calculating the
ending virtual address first, then converting to a physical address.

The second bug applies only to NetBSD and OpenBSD and involves the curlen
calculation in the two-contiguous-physical-pages case (which we don't support).

Also cleanup the use of the OHIC_PAGE() macro on dataphysend and add a panic
if len goes negative (meaning we lost the physical page translation
representing the end of the buffer).

IMHO the dataphysend is still bokered since it might be misrepresented
by shared userland page mappings.  The whole section needs to be rewritten
to use the virtual address range.

MFC after:	3 days
2002-12-20 18:47:39 +00:00
..
alpha MFi386 revisions 1.375 and 1.376 2002-12-14 22:25:35 +00:00
amd64 Export the physical address of the RSDP to userland by means 2002-12-18 08:47:07 +00:00
arm Add standards visibility conditionals. Change any uses of sigset_t to 2002-10-13 00:31:46 +00:00
boot Put back the casts to unsigned. While no strictly necessary for its 2002-12-20 05:49:40 +00:00
cam Quirk for Memorybird pen drive 2002-12-18 21:47:52 +00:00
coda Back our kernel support for reliable signal queues. 2002-10-01 17:15:53 +00:00
compat Regen: swapoff 2002-12-16 00:49:36 +00:00
conf Move the amd(4) driver to it's own directory in preparation for it growing 2002-12-13 22:59:18 +00:00
contrib Resolve conflicts arising from the ACPI CA 20021118 import. 2002-11-27 18:09:20 +00:00
crypto Make this compilable from userland as well. 2002-11-01 08:56:39 +00:00
ddb - Rename the DDB specific %z printf format to %y. 2002-10-25 19:41:32 +00:00
dev Fix two bugs in the DMA chaining code for OHCI. The first bug is that 2002-12-20 18:47:39 +00:00
fs Remove redundant check for negative or zero v_usecount; vrele() already 2002-12-15 04:32:41 +00:00
geom Don't forget our topology lock in the MBREXT case. 2002-12-19 12:01:19 +00:00
gnu MFufs 1.33: 2002-10-18 21:41:41 +00:00
i4b network interface and link layer changes: 2002-11-15 00:00:15 +00:00
i386 Export the physical address of the RSDP to userland by means 2002-12-18 08:47:07 +00:00
ia64 More MFp4: DIG64 structures. 2002-12-18 18:52:20 +00:00
isa Use the correct value when writing the Day Of Week byte in the CMOS. 2002-12-04 13:46:49 +00:00
isofs/cd9660 Unbreak MNT_UPDATE when running with cd as root. Detect mountroot by 2002-11-02 20:16:55 +00:00
kern Don't forget to destroy the mutex if an error occurs 2002-12-20 14:32:20 +00:00
libkern Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
modules libmchain no longer exports m_fixhdr(); remove it from EXPORT_SYMS. 2002-12-14 00:01:51 +00:00
net Swap the order of a free and a use of an ifaddr structure. 2002-12-20 11:21:07 +00:00
netatalk Lock up ifaddr reference counts. 2002-12-18 11:46:59 +00:00
netatm - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
netgraph o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} and 2002-12-19 22:58:27 +00:00
netinet Eliminate a goto. 2002-12-20 11:24:02 +00:00
netinet6 o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} and 2002-12-19 22:58:27 +00:00
netipsec o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} and 2002-12-19 22:58:27 +00:00
netipx Fix a sizeof(int) != sizeof(void *) warning. 2002-11-08 21:16:27 +00:00
netkey o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} and 2002-12-19 22:58:27 +00:00
netnatm Be consistent about functions being static. 2002-10-16 09:19:17 +00:00
netncp - Change mb_copy_t to take a size_t as the length argument instead of an 2002-11-08 21:26:32 +00:00
netns Use m_length() instead of home-rolled versions. 2002-09-18 19:44:14 +00:00
netsmb o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} and 2002-12-19 22:58:27 +00:00
nfs Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
nfsclient reapply 1.26 through 1.28. 2002-11-20 15:21:06 +00:00
nfsserver In the NFSv3 `fsinfo' procedure reply, don't claim that we support 2002-12-05 16:58:11 +00:00
opencrypto correct minor # in make_dev call 2002-11-08 23:07:41 +00:00
pc98 Unspam some experimental changes which should not have been committed. 2002-12-17 13:37:08 +00:00
pccard MFp4: 2002-11-27 06:04:49 +00:00
pci Fix bug with 3c90xB cards and newer. We weren't trying to 2002-12-18 23:16:22 +00:00
posix4 Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
powerpc Unbreak the KSE code. Keep track of zobie threads using the Per-CPU storage 2002-12-10 02:33:45 +00:00
rpc
security SCARGS removal take II. 2002-12-14 01:56:26 +00:00
sparc64 Unbreak the KSE code. Keep track of zobie threads using the Per-CPU storage 2002-12-10 02:33:45 +00:00
sys Spell `unsigned short' in a way which does not depend on namespace pollution. 2002-12-19 02:52:23 +00:00
tools - Move ASSERT_VOP_*LOCK* functionality into functions in vfs_subr.c 2002-09-26 04:48:44 +00:00
ufs Fix corruption introduced in previous delta. 2002-12-18 19:50:28 +00:00
vm Add a mutex to struct vm_object. Initialize and destroy that mutex 2002-12-20 05:10:32 +00:00
Makefile