mirror of
https://github.com/reactos/reactos.git
synced 2025-05-28 05:28:14 +00:00
[HALX86] Stub-implement scatter/gather DMA operations
These are required when we ask for a DMA_ADAPTER version 2.
This commit is contained in:
parent
3d78601f39
commit
88839d9726
1 changed files with 80 additions and 4 deletions
|
@ -102,6 +102,39 @@ static const ULONG_PTR HalpEisaPortPage[8] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef _MINIHAL_
|
#ifndef _MINIHAL_
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
HalCalculateScatterGatherListSize(
|
||||||
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
|
IN PMDL Mdl OPTIONAL,
|
||||||
|
IN PVOID CurrentVa,
|
||||||
|
IN ULONG Length,
|
||||||
|
OUT PULONG ScatterGatherListSize,
|
||||||
|
OUT PULONG pNumberOfMapRegisters);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
HalBuildScatterGatherList(
|
||||||
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN PMDL Mdl,
|
||||||
|
IN PVOID CurrentVa,
|
||||||
|
IN ULONG Length,
|
||||||
|
IN PDRIVER_LIST_CONTROL ExecutionRoutine,
|
||||||
|
IN PVOID Context,
|
||||||
|
IN BOOLEAN WriteToDevice,
|
||||||
|
IN PVOID ScatterGatherBuffer,
|
||||||
|
IN ULONG ScatterGatherLength);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
HalBuildMdlFromScatterGatherList(
|
||||||
|
IN PDMA_ADAPTER DmaAdapter,
|
||||||
|
IN PSCATTER_GATHER_LIST ScatterGather,
|
||||||
|
IN PMDL OriginalMdl,
|
||||||
|
OUT PMDL *TargetMdl);
|
||||||
|
|
||||||
|
|
||||||
static DMA_OPERATIONS HalpDmaOperations = {
|
static DMA_OPERATIONS HalpDmaOperations = {
|
||||||
sizeof(DMA_OPERATIONS),
|
sizeof(DMA_OPERATIONS),
|
||||||
(PPUT_DMA_ADAPTER)HalPutDmaAdapter,
|
(PPUT_DMA_ADAPTER)HalPutDmaAdapter,
|
||||||
|
@ -114,12 +147,11 @@ static DMA_OPERATIONS HalpDmaOperations = {
|
||||||
NULL, /* Initialized in HalpInitDma() */
|
NULL, /* Initialized in HalpInitDma() */
|
||||||
(PGET_DMA_ALIGNMENT)HalpDmaGetDmaAlignment,
|
(PGET_DMA_ALIGNMENT)HalpDmaGetDmaAlignment,
|
||||||
(PREAD_DMA_COUNTER)HalReadDmaCounter,
|
(PREAD_DMA_COUNTER)HalReadDmaCounter,
|
||||||
/* FIXME: Implement the S/G funtions. */
|
|
||||||
(PGET_SCATTER_GATHER_LIST)HalGetScatterGatherList,
|
(PGET_SCATTER_GATHER_LIST)HalGetScatterGatherList,
|
||||||
(PPUT_SCATTER_GATHER_LIST)HalPutScatterGatherList,
|
(PPUT_SCATTER_GATHER_LIST)HalPutScatterGatherList,
|
||||||
NULL /*(PCALCULATE_SCATTER_GATHER_LIST_SIZE)HalCalculateScatterGatherListSize*/,
|
(PCALCULATE_SCATTER_GATHER_LIST_SIZE)HalCalculateScatterGatherListSize,
|
||||||
NULL /*(PBUILD_SCATTER_GATHER_LIST)HalBuildScatterGatherList*/,
|
(PBUILD_SCATTER_GATHER_LIST)HalBuildScatterGatherList,
|
||||||
NULL /*(PBUILD_MDL_FROM_SCATTER_GATHER_LIST)HalBuildMdlFromScatterGatherList*/
|
(PBUILD_MDL_FROM_SCATTER_GATHER_LIST)HalBuildMdlFromScatterGatherList
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1130,6 +1162,50 @@ HalpScatterGatherAdapterControl(IN PDEVICE_OBJECT DeviceObject,
|
||||||
ExFreePoolWithTag(AdapterControlContext, TAG_DMA);
|
ExFreePoolWithTag(AdapterControlContext, TAG_DMA);
|
||||||
ExFreePoolWithTag(ScatterGather, TAG_DMA);
|
ExFreePoolWithTag(ScatterGather, TAG_DMA);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
HalCalculateScatterGatherListSize(
|
||||||
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
|
IN PMDL Mdl OPTIONAL,
|
||||||
|
IN PVOID CurrentVa,
|
||||||
|
IN ULONG Length,
|
||||||
|
OUT PULONG ScatterGatherListSize,
|
||||||
|
OUT PULONG pNumberOfMapRegisters)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
HalBuildScatterGatherList(
|
||||||
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN PMDL Mdl,
|
||||||
|
IN PVOID CurrentVa,
|
||||||
|
IN ULONG Length,
|
||||||
|
IN PDRIVER_LIST_CONTROL ExecutionRoutine,
|
||||||
|
IN PVOID Context,
|
||||||
|
IN BOOLEAN WriteToDevice,
|
||||||
|
IN PVOID ScatterGatherBuffer,
|
||||||
|
IN ULONG ScatterGatherLength)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
HalBuildMdlFromScatterGatherList(
|
||||||
|
IN PDMA_ADAPTER DmaAdapter,
|
||||||
|
IN PSCATTER_GATHER_LIST ScatterGather,
|
||||||
|
IN PMDL OriginalMdl,
|
||||||
|
OUT PMDL *TargetMdl)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue