Just a stub for further development. Build is ok, but without packaging
yet, a project set is defined (device driver, Windows Sockets service
provider interface (SPI) client for user mode apps, driver test app).
Device initialization is partially implemented, virtqueues are not
ready, you can only get the CID. The socket service provider client
implemented as a dll, it will handle requests from Windows Socket
subsystem, at the moment this is just a stub for building. Common
read/write requests will be used to communicate with the driver,
connection parameters will be defined with extended file attributes on
open.
Signed-off-by: Ilya Rudakov <[email protected]>
This causes inf2cat to fail with message 'Parameter format not
correct' if by chance there is no modern inf2cat version in the
executable path
Signed-off-by: Yuri Benditovich <[email protected]>
SDV of WDK 1809 is changed and first expected parameter
for 'check' flow should be '/check'.
The SDV build using WDK 1809 crashes during check of NetKVM,
without producing suitable logs, this will be investigated
later with Microsoft. For now in order to have SDV and DVL
logs we run the SDV in legacy mode (similar to older WDK),
when all the tests of SDV pass.
Signed-off-by: Yuri Benditovich <[email protected]>
This commit adds a new certificate created with the following commands:
makecert -n "CN=Virto test certificate" -ss root -r -pe -sv VirtIOTestCert.pvk -b 12/12/2018 VirtIOTestCert.cer
pvk2pfx.exe -pvk VirtIOTestCert.pvk -spc VirtIOTestCert.cer -pfx VirtIOTestCert.pfx
the new cert solves an issue with the certification validity.
Signed-off-by: Lior Haim <[email protected]>
This reverts commit 8d2fd31421c5722ebbd43bff140692bc22b45969.
This commit reverts using .cer instead of .pfx and adds the pfx file back
and adds a new generated certificate.
The certificate/pfx was generated using the following commands:
makecert.exe -n "CN=CARoot" -ss root -r -pe -a sha512 -len 4096 -cy
authority -sv VirtIOTestCert.pvk -b 12/12/2018 VirtIOTestCert.cer
pvk2pfx.exe -pvk VirtIOTestCert.pvk -spc VirtIOTestCert.cer -pfx
VirtIOTestCert.pfx
The old certificate has expired, this commit drops the old one and adds a
new one.
The new certificate automatically adds itself to the Trusted Root
Certificate Authorities store.
The certificate was created using the
following command line:
makecert -r -pe -ss root -n CN="Virto test certificate" VirtIOTestCert.cer
This commit also drops the pfx file which is not needed.
Signed-off-by: Sameeh Jubran <[email protected]>
In general we can use both files to sign the drivers with, since the
pfx file is not needed we can use the .cer instead.
Signed-off-by: Sameeh Jubran <[email protected]>
This commit is preparation for build with VS2017, which requires
WDK higher than 15063 to be installed.
When VS2015 and VS2017 coexist and VS2015 is used for drivers
build, but higher WDK(s) are also installed, the files under
"Windows Kits\10\build" are modified causing failure when build runs.
Current commit fixes it by importing Driver.Initial.props prior
to any other imported project. In order to ensure proper order of
importing projects, we remove direct importing of Visual studio
.props files and now each driver package project includes
only its own .props file and Tools\Driver.Common.props file,
which includes Visual Studio .props files and Driver.Initial.props
file in proper order.
Signed-off-by: Yuri Benditovich <[email protected]>
The wppmodulename is the friendly name of the message GUID. The
friendly name of the message GUID appears, by default, in the trace
message prefix.
By default, the friendly name of the message GUID is the name of
the directory in which the trace provider was built, this causes
some drivers as "sys". This commit overrides the default value
by setting the wppmodulename to be target name.
Signed-off-by: Sameeh Jubran <[email protected]>
This patch adds QEMU fw-cfg device driver.
The driver can expose Windows crashdump header to QEMU through
fw-cfg 'etc/vmcoreinfo' entry.
Signed-off-by: Viktor Prutyanov <[email protected]>
This change does not affect the build, just adds viocrypt-
specific definitions for proper versioning.
Signed-off-by: Yuri Benditovich <[email protected]>
This commit enhances the log collection automation furthermore by
providing a single script for each driver.
Signed-off-by: Sameeh Jubran <[email protected]>
This commit introduces two scripts:
collectTrace.bat:
This script automate the process of collecting traces for
the drivers that support WPP tracing. PDB files aren't needed
for the script, the files can then be viewed using the following
script.
parseTrace.bat
This script parses the data captured by the previous one, it requires
the presence of the tools: Tracepdb.exe and Tracefmt.exe which can be
found in the path:
C:\Program Files (x86)\Windows Kits\<Kit version>\bin\<ARCH>\
The script requires two parameters for executing: pdb file that
matches the build and the etl file that was collected on a machine
that runs the suitable build.
Signed-off-by: Sameeh Jubran <[email protected]>
Script tool to extract info from a pdb symbol file,
info includes the WPP provider's control GUID,
enabled flags and level, "getpdbinfo.bat /?" for usage.
Signed-off-by: Bishara AbuHattoum <[email protected]>
Now PackOne takes files from objchk_* and copy them to Install_Debug
when project configuration name ends with "Debug". It's required for
NDIS5 driver build.
Also, PackOne source and dest can be overrided in the project
configuration.
Signed-off-by: Ilya Rudakov <[email protected]>
netkvm_no_RSC.inf should be renamed to netkvm.inf after
adjustment and before copy to install dir, but this step was
performed only for AdjustInf_LegacyDDK target.
AdjustInf_WDK target now uses a Copy task with non-empty
TargetInfFile property as a trigger. TargetInfFile property
is added to Win7 configs of NetKVM.
Signed-off-by: Ilya Rudakov <[email protected]>
AdjustInf_LegacyDDK target is executed after PostBuildStep, which
is used to copy driver files to Install dir. And there is no .inf
to copy because file it is not adjusted (and not renamed) yet, thus
legacy .inf should be adjusted before Build target execution.
AdjustInf_WDK for win10 WDK is executed after built-in StampInf target
and before build, thus it's ok to place AdjustInf_LegacyDDK and
StampInf_LegacyDDK before build too.
Signed-off-by: Ilya Rudakov <[email protected]>
Support for vendor and copyright strings substitution for
.inf and resources. No changes in driver packing.
Signed-off-by: Ilya Rudakov <[email protected]>
Turns on .inf rewriting for the driver, allowing us to use the subsystem
vendor ID validation task among other things.
Signed-off-by: Ladi Prosek <[email protected]>
It is important that all parties shipping virtio-win drivers use their
own vendor-specific HW ID to avoid driving somebody else's device.
This is especially critical for WHQL'ed drivers distributed with Windows
Update, as these could be installed without any explicit user action.
This commit adds a simple validation task to issue a build warning in
case a vendor that is not Red Hat tries to use the default subsystem vendor
ID of 1AF4.
Signed-off-by: Ladi Prosek <[email protected]>
It is important that all parties shipping virtio-win drivers use their
own vendor-specific HW ID to avoid driving somebody else's device.
This is especially critical for WHQL'ed drivers distributed with Windows
Update, as these could be installed without any explicit user action.
This commit introduces a new build-time variable SUBSYSTEM_VENDOR_ID
to be set by vendors in their respective Driver.$(_VENDOR_).props file.
The default value is 1AF4, exposed by VirtIO devices in upstream QEMU
and reserved by Red Hat.
Signed-off-by: Ladi Prosek <[email protected]>
The inf2cat tool uses the UTC timezone by default for timestamp comparison,
this can cause the following error when there is a mismatch between time on
the build machine is and the one in UTC timezone. Using /uselocaltime
parameter solves this issue.
Inf2cat error:
* DriverVer set to incorrect date (postdated DriverVer not allowed) in
\netkvm.inf. The current date (UTC) is 01/01/2017.
Signed-off-by: Sameeh Jubran <[email protected]>
Now that the build system has proven stable, the check header is
no longer needed. Also lowering the importance of "Adding {0}=>{1}"
messages produced by the SubstituteFileContent task to Low to cut
down on verbosity.
Signed-off-by: Ladi Prosek <[email protected]>
stampinf.exe in the latest Win10 WDK appears to have a bug and writes
out an empty DriverVer= directive when passed a command line like below:
stampinf -f <inf> -a <arch> -v <version>
Adding -d seems to work around it:
stampinf -f <inf> -a <arch> -v <version> -d *
Signed-off-by: Ladi Prosek <[email protected]>