Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 132 of file dma.c.
{ /* * Initialize the DMA Operation table */ HalpDmaOperations.AllocateAdapterChannel = (PALLOCATE_ADAPTER_CHANNEL)IoAllocateAdapterChannel; HalpDmaOperations.FlushAdapterBuffers = (PFLUSH_ADAPTER_BUFFERS)IoFlushAdapterBuffers; HalpDmaOperations.FreeAdapterChannel = (PFREE_ADAPTER_CHANNEL)IoFreeAdapterChannel; HalpDmaOperations.FreeMapRegisters = (PFREE_MAP_REGISTERS)IoFreeMapRegisters; HalpDmaOperations.MapTransfer = (PMAP_TRANSFER)IoMapTransfer; /* * Check if Extended DMA is available. We're just going to do a random * read and write. */ WRITE_PORT_UCHAR((PUCHAR)FIELD_OFFSET(EISA_CONTROL, DmaController2Pages.Channel2), 0x2A); if (READ_PORT_UCHAR((PUCHAR)FIELD_OFFSET(EISA_CONTROL, DmaController2Pages.Channel2)) == 0x2A) { HalpEisaDma = TRUE; } /* * Intialize all the global variables and allocate master adapter with * first map buffers. */ InitializeListHead(&HalpDmaAdapterList); KeInitializeEvent(&HalpDmaLock, NotificationEvent, TRUE); HalpMasterAdapter = HalpDmaAllocateMasterAdapter(); /* * Setup the HalDispatchTable callback for creating PnP DMA adapters. It's * used by IoGetDmaAdapter in the kernel. */ HalGetDmaAdapter = HalpGetDmaAdapter; }