Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals   Related Pages  

dma.h

Go to the documentation of this file.
00001 /*!     \file include/kernel/dma.h
00002  *      \brief DMA (Direct Memory Access) driver header.
00003  *      \author Andrea Righi <drizzt@inwind.it>
00004  *      \date Last update: 2003-11-08
00005  *      \note Copyright (&copy;) 2003 Andrea Righi
00006  */
00007 
00008 #ifndef DMA_H
00009 #define DMA_H
00010 
00011 //! A structure used to store hardware definition of DMA channels.
00012 typedef struct dma_channel
00013 {
00014         uint8_t page;     //!< Page register.
00015         uint8_t offset;   //!< Offset register.
00016         uint8_t length;   //!< Length register.
00017 } dma_channel_t;
00018 
00019 // --- Prototypes ----------------------------------------------------- //
00020 
00021 void dma_xfer(unsigned channel, addr_t physaddr, size_t length, bool read);
00022 void dma_alloc_init();
00023 void *dma_phys_alloc(size_t len);
00024 bool dma_phys_free(size_t dma_start, size_t len);
00025 // (Removed) dword dma_pop_frame();
00026 // (Removed) void dma_push_frame(dword dma_p_addr);
00027 
00028 #endif
00029 

Generated on Fri Feb 20 15:32:15 2004 for Minirighi by doxygen1.2.18