diff --git a/hal/halx86/generic/dma.c b/hal/halx86/generic/dma.c index 76a2e21f76c..f14bbf59fb6 100644 --- a/hal/halx86/generic/dma.c +++ b/hal/halx86/generic/dma.c @@ -1173,8 +1173,18 @@ HalCalculateScatterGatherListSize( OUT PULONG ScatterGatherListSize, OUT PULONG pNumberOfMapRegisters) { - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; + ULONG NumberOfMapRegisters; + ULONG SgSize; + + UNIMPLEMENTED_ONCE; + + NumberOfMapRegisters = PAGE_ROUND_UP(Length) >> PAGE_SHIFT; + SgSize = sizeof(SCATTER_GATHER_CONTEXT); + + *ScatterGatherListSize = SgSize; + if (pNumberOfMapRegisters) *pNumberOfMapRegisters = NumberOfMapRegisters; + + return STATUS_SUCCESS; } NTSTATUS