correct use of bus_dmamap_sync
Dinesh Nair
dinesh at alphaque.com
Wed Oct 26 22:48:30 PDT 2005
On 10/27/05 04:16 Scott Long said the following:
>>> an example would be using (BUS_DMASYNC_POSTREAD|BUS_DMASYNC_PREWRITE)
>>> which
>>> would be 0x03 in freebsd 4.x and 0x06 in freebsd 5.x. the gotcha is that
>>> 0x03 in freebsd 4.x is BUS_DMASYNC_POSTWRITE. so therefore,
>>> BUS_DMASYNC_POSTREAD|BUS_DMASYNC_PREWRITE will be
>>> BUS_DMASYNC_POSTWRITE in
>>> 4.x which in the syscall is actually a no op.
>>
>> Yes, that is fugly. Just don't use the | versions for now I would guess.
>
> Trying to maintain source compatibility between 4.x and 5.x/6.x will
> make you encounter a whole lot more problems than just this.
could you elaborate on what busdma related problems there'd be, between 4.x
and 5.x/6.x ? do, for example, the inner workings of the bus_dma* syscalls
work the same on both ?
--
Regards, /\_/\ "All dogs go to heaven."
dinesh at alphaque.com (0 0) http://www.alphaque.com/
+==========================----oOO--(_)--OOo----==========================+
| for a in past present future; do |
| for b in clients employers associates relatives neighbours pets; do |
| echo "The opinions here in no way reflect the opinions of my $a $b." |
| done; done |
+=========================================================================+
More information about the freebsd-hackers
mailing list