Verifier detection?

My driver would require coherency between DMA and the usermode buffer. Usermode buffer can be supplied by a third-party client application and is locked by usual ProbeAndLock means, and then converted to an SGL. The hardware would be DMAing data in and out, while the application would be notified by a side channel we can’t control. The same buffer could be used for read and write, and the result should be visible to the application immediately.

This all means, if DMA verification (forced bounce buffers) is enabled, this would not work. Thus, we need to disable this feature if DMA verification is enabled in the field.

Is there any way to detect Verifier settings at the runtime?

[from wdm.h]

#if (NTDDI_VERSION >= NTDDI_WINXP)
__drv_maxIRQL (APC_LEVEL)
NTKERNELAPI
NTSTATUS
MmIsVerifierEnabled (
__out PULONG VerifierFlags
);
#endif

mm

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@broadcom.com
Sent: Tuesday, March 13, 2012 11:26 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Verifier detection?

My driver would require coherency between DMA and the usermode buffer.
Usermode buffer can be supplied by a third-party client application and is
locked by usual ProbeAndLock means, and then converted to an SGL. The
hardware would be DMAing data in and out, while the application would be
notified by a side channel we can’t control. The same buffer could be used
for read and write, and the result should be visible to the application
immediately.

This all means, if DMA verification (forced bounce buffers) is enabled, this
would not work. Thus, we need to disable this feature if DMA verification is
enabled in the field.

Is there any way to detect Verifier settings at the runtime?


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer