[Spice-devel] [PATCH 3/4] qxl-wddm-dod: Support ETW for release version
Christophe Fergeau
cfergeau at redhat.com
Mon Jul 3 09:09:21 UTC 2017
On Fri, Jun 30, 2017 at 12:11:44PM +0300, Yuri Benditovich wrote:
> Add ability to produce ETW (Event Tracing for Windows) to release
> version of the driver to be able to record binary traces in case
> of problem in customer environment for further analysis.
> Logging of debug build is not changed.
>
> Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
> ---
> qxldod/QxlDod.cpp | 4 ++++
> qxldod/driver.cpp | 9 +++++++++
> qxldod/driver.h | 5 +++++
> qxldod/qxldod.vcxproj | 5 +++++
> 4 files changed, 23 insertions(+)
>
> diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
> index b97301a..fc29c9f 100755
> --- a/qxldod/QxlDod.cpp
> +++ b/qxldod/QxlDod.cpp
> @@ -12,6 +12,10 @@
> #include "qxldod.h"
> #include "qxl_windows.h"
> #include "compat.h"
> +#if !DBG
> +#include "WppTrace.h"
> +#include "qxldod.tmh"
> +#endif
>
> #pragma code_seg("PAGE")
>
> diff --git a/qxldod/driver.cpp b/qxldod/driver.cpp
> index 1ff2abb..d33b345 100755
> --- a/qxldod/driver.cpp
> +++ b/qxldod/driver.cpp
> @@ -10,6 +10,10 @@
>
> #include "driver.h"
> #include "QxlDod.h"
> +#if !DBG
> +#include "WppTrace.h"
> +#include "driver.tmh"
> +#endif
>
> #pragma code_seg(push)
> #pragma code_seg("INIT")
> @@ -20,6 +24,7 @@
> //
>
> int nDebugLevel = TRACE_LEVEL_ERROR;
> +static DRIVER_OBJECT* driverObject;
>
> // registry-based configuration is intended to be manual only
> // for VSync suppression during support and troubleshooting
> @@ -62,6 +67,9 @@ DriverEntry(
> {
> PAGED_CODE();
>
> + WPP_INIT_TRACING(pDriverObject, pRegistryPath);
> + driverObject = pDriverObject;
> +
> DbgPrint(TRACE_LEVEL_FATAL, ("---> KMDOD build on on %s %s\n", __DATE__, __TIME__));
>
> RTL_OSVERSIONINFOW versionInfo;
> @@ -157,6 +165,7 @@ DodUnload(VOID)
> {
> PAGED_CODE();
> DbgPrint(TRACE_LEVEL_INFORMATION, ("<--> %s\n", __FUNCTION__));
> + WPP_CLEANUP(driverObject);
> }
>
> NTSTATUS
> diff --git a/qxldod/driver.h b/qxldod/driver.h
> index a70b0e7..626ac24 100755
> --- a/qxldod/driver.h
> +++ b/qxldod/driver.h
> @@ -272,3 +272,8 @@ void DebugPrint(int level, const char *fmt, ...);
> #else
> #define QXL_ASSERT_CHK(exp) {}
> #endif
> +
> +#if DBG
> +#define WPP_INIT_TRACING(driver, regpath)
> +#define WPP_CLEANUP(driver)
> +#endif
I think I'd just add these #if !DBG in DriverEntry/DodUnload. It would
make it more explicit that these are only enabled in non-debug builds.
Acked-by: Christophe Fergeau <cfergeau at redhat.com>
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170703/35909556/attachment.sig>
More information about the Spice-devel
mailing list