[ros-dev] Re: [ros-svn] [hbirr] 17665: - Copy the map registers
to the buffer only, if they are used (in IoFlushAdapterBuffers).
Hartmut Birr
osexpert at gmail.com
Tue Sep 6 00:06:37 CEST 2005
Filip Navara wrote:
>
> - At first, the UseMapRegisters variable you added to
> MAP_REGISTER_ENTRY structure isn't needed. IoFlushAdapterBuffers can
> determine the information itself and the case was clearly marked as
> UNIMPLEMENTED and FIXME.
This case isn't marked as UNIMPLEMENTED and FIXME. The using of hardware
scatter/gather is marked as UNIMPLEMENTED and FIXME. I've modified the
cache manager a little bit. The cache segments for the floppy driver
allocated from below the 16MB limit. I get no data from a floppy.
> - The byte offset is added for a reason. I know the stuff that it is
> supposed to solve is broken atm, but the rationale is that there can
> be more IoMapTransfer calls and together with
> MAP_REGISTER_ENTRY->Counter you can setup more transfers... It's
> explained in
> http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/dma.doc
It makes no sense to call IoMapTransfer more than ones without a call to
IoFlushAdapterBuffers for the pc dma controllers. For the pc dma
controllers, a transfer has to be finished, before the next can be
started. It is always possible to call IoFlushAdapterBuffers after each
transfer and before the next is started. The reference doesn't explain
something about to setup more transfers.
- Hartmut
More information about the Ros-dev
mailing list