Windows-Server-2003/base/hals/halia64/ia64/i64dma.c

105 lines
1.5 KiB
C
Raw Permalink Normal View History

2024-08-04 01:28:15 +02:00
/*++
Copyright (c) 1995 Intel Corporation
Module Name:
i64dma.c
Abstract:
This module implements the DMA support routines for the HAL DLL.
Author:
14-Apr-1995
Environment:
Kernel mode
Revision History:
--*/
#include "halp.h"
VOID
HalFlushIoBuffers (
IN PMDL Mdl,
IN BOOLEAN ReadOperation,
IN BOOLEAN DmaOperation
)
/*++
Routine Description:
This function flushes the I/O buffer specified by the memory descriptor
list from the data cache on the current processor.
Arguments:
Mdl - Supplies a pointer to a memory descriptor list that describes the
I/O buffer location.
ReadOperation - Supplies a boolean value that determines whether the I/O
operation is a read into memory.
DmaOperation - Supplies a boolean value that determines whether the I/O
operation is a DMA operation.
Return Value:
None.
--*/
{
//
//
// In IA64 systems, DMA is coherent with Dcache and Icache.
// In PIO, Dcache is coherent and Icache is NOT coherent.
// Only on Page read using PIO Icache coherency is needed to be
// maintained by software. So, HalFlushIoBuffer will flush the Icache
// only on Page read using PIO.
//
//
return;
}
ULONG
HalGetDmaAlignmentRequirement (
VOID
)
/*++
Routine Description:
This function returns the alignment requirements for DMA transfers on
host system.
Arguments:
None.
Return Value:
The DMA alignment requirement is returned as the fucntion value.
--*/
{
return 1;
}