Commit Graph
123 Commits
Author SHA1 Message Date
Kostiantyn Kostiuk 4c4d1812a8 Add Windows 11 target
Update build scripts to use EWDK 11 21H2 for Win10 target
and EWDK 11 22H2 for Win11 target

Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-12-19 15:55:31 +02:00
Kostiantyn Kostiuk c165bd5498 Remove Win8.1 targets and build scripts
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-11-07 13:11:11 +01:00
Kostiantyn Kostiuk d39a39ca74 Remove Win8 targets and build scripts
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-11-07 13:11:11 +01:00
Kostiantyn Kostiuk c02bee48c3 Specify KmdfVersion for all drivers
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-04-30 11:42:01 +03:00
Kostiantyn Kostiuk 2e6ff47532 Add auto detect for VisualStudioToolset v143
Fixes for https://bugzilla.redhat.com/show_bug.cgi?id=2138115

Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2022-11-02 17:15:18 +02:00
Jon Kohler 2f68dfb35c build: enable msbuild maxCpuCount
build.bat will build the entire solution set one by one, which is single
threaded. On multi-processor builders in a CI/CD system, this is a bit
sluggish.

Enable msbuild -maxCpuCount on all msbuild commands, which will parallelize
msbuild actions where possible.

On an Azure Standard_DS2_v2 (i.e. a 2 vcpu builder) this change reduces
build_AllNoSdv.bat time from 12 min to 8 min.

Also, fix minor nit in top of file comments to reflect supported build targets,
which removes Win7, adds Win8.1.

Signed-off-by: Jon Kohler <[email protected]>
2022-02-21 18:59:13 +02:00
Kostiantyn Kostiuk fdd030bf26 Remove legacy OSes from generic build scripts and tools
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2022-01-17 10:48:00 +02:00
Kostiantyn Kostiuk 03ca1696b9 Add custom DVL logs for Windows Server 2019
DVL builder from EWDK11 build logs with CodeQL results, but
HLK for Windows Server 2019 can't parse these logs. So we use
old DVL.exe to build logs for old HLK.

This commit required an additional binary from EWDK1903.

Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-12-07 11:43:39 +02:00
Kostiantyn Kostiuk 8833d0a1c2 build: Run CodeQL automatically if binary present
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-11-03 12:08:03 +02:00
Yuri Benditovich 9dbfee2710 build: delete unused xdate.exe
Signed-off-by: Yuri Benditovich <[email protected]>
2021-10-12 13:01:37 +03:00
Yuri Benditovich 327ad87112 build: prevent build failure when test signing required
If due to any reason the test signing of the driver is requested
the build with EWDK may fail due to unknown file digest algorithm.
Make sure the default algorithm is always defined (sha256).

Signed-off-by: Yuri Benditovich <[email protected]>
2021-10-12 13:01:37 +03:00
Kostiantyn Kostiuk 69bbc6708f Revert "build: autoselect build env"
This reverts commit 66d8b30a83.
2021-10-04 14:57:40 +03:00
Ilya Rudakov 1ae2cec220 build: enable CETCompat for all projects
Signed-off-by: Ilya Rudakov <[email protected]>
2021-09-12 09:12:21 +03:00
Ilya Rudakov 66d8b30a83 build: autoselect build env
EWDK is used to build drivers when run build scripts from the EWDK
environment or if EWDK_DIR var is set. Otherwise, drivers are built with
Visual Studio.

Signed-off-by: Ilya Rudakov <[email protected]>
2021-09-09 10:43:16 +03:00
Ilya Rudakov 93f976c546 build: Auto target for UM apps
Checking the current VS version and setting the supported version of the
platform toolset: v141 for VS2017 and v142 for VS2019, respectively. Set
PlatformToolset to AutoVSToolset in any UM app project where you want to
take advantage of auto target.

Signed-off-by: Ilya Rudakov <[email protected]>
2021-09-09 10:43:16 +03:00
Kostiantyn Kostiuk 8a8a809760 singAll: Update command line for new version of signtool
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Kostiantyn Kostiuk 551697dc33 build: use Windows 11 EWDK
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Kostiantyn Kostiuk 5fff442b2a build: Save Code Analysis log to file
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Kostiantyn Kostiuk e97c6a91fa build: Add semmle codeql support
Setup CodeQL for Static Logo Test according to
https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/static-tools-and-codeql

Set VIRTIO_WIN_RUN_CODEQL=1 to enable CodeQL checks as a
part of SDV running.

Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Kostiantyn Kostiuk db5cfc2d4c build: Move DVL creation to separate function
This allows to run different code analysis tools for different EWDK.
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Kostiantyn Kostiuk 251915535c build: Switch to modern SDV mode
Currently all drivers support modern SDV mode, so don't need to use old
one

Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Ilya Rudakov e4da18e6bb build: Using a common driver cleanup script
Signed-off-by: Ilya Rudakov <[email protected]>
2021-08-30 17:10:24 +03:00
Kostiantyn Kostiuk 62df5f594a signAll: Switch to EWDK env
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-04 10:45:24 +03:00
Yuri Benditovich 423ff26f89 build: use local copy of EWDK 1903
Signed-off-by: Yuri Benditovich <[email protected]>
2021-08-04 10:45:24 +03:00
Yuri Benditovich d8063ebb07 build: activate EWDK build environment when needed
Signed-off-by: Yuri Benditovich <[email protected]>
2021-08-04 10:45:24 +03:00
Yuri Benditovich 335f2f9d82 build: adapt build.bat to work in EWDK environment
EWDK environment works with msbuild.

Signed-off-by: Yuri Benditovich <[email protected]>
2021-08-04 10:45:24 +03:00
Ilya Rudakov a25da97fb1 build: Copyright current year fixed
Signed-off-by: Ilya Rudakov <[email protected]>
2021-05-19 12:41:16 +03:00
Yuri Benditovich c985a6ca1b build: add an option to build INF files for Win10 as DIFX compatible
INF files for Win10 has 10.0 OS ornamentation that makes them
not installable with DIFX. Add a possibility to build INF files
for Win10 with 6.3 ornamentation by settinge environment
variable WIN10_INF_DIFX_COMPAT=1

Signed-off-by: Yuri Benditovich <[email protected]>
2021-02-07 16:20:20 +02:00
Vadim Rozenfeld 51ea058048 [virtio-gpu-dod] Initial commit for Bug 1861229 - Windows WDDM DOD driver for virtio-gpu device
Signed-off-by: Vadim Rozenfeld <[email protected]>
2020-12-09 09:37:58 +02:00
Ilya Rudakov ad68270984 viosock: add optional co-installer
Viosock requires explicit registration of socket provider dll.
Co-installer might help, but it is marked as depricated and Universal
driver model doesn't support it. VZ guest tools installer already
supports viosock registration, but it would be nice and useful to have
optional co-installer to make standalone viosock package for other
vendors. Co-installer is enabled for RHEL vendor.

Signed-off-by: Ilya Rudakov <[email protected]>
2020-09-01 17:16:02 +03:00
Yuri Benditovich e26c7d8b0a build: define custom target "GenerateInf"
Will be used by NETKVM for INF file generation.

Signed-off-by: Yuri Benditovich <[email protected]>
2020-08-18 10:41:45 +03:00
Yuri Benditovich 0cad586789 build: search 'legacy' at line start in build.sdv.config
For modern SDV the build.sdv.config file may contain
'no legacy' or '-legacy'.

Signed-off-by: Yuri Benditovich <[email protected]>
2020-05-11 23:05:52 +03:00
Yuri Benditovich bd7f0eb494 build: run Code Analysis after SDV
According to the documentation
https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/creating-a-driver-verification-log
the SDV deletes CA log. We can see that SDV in non-legacy mode does it.
Running CA just before DVL should be good for both
configurations, legacy and not.

Signed-off-by: Yuri Benditovich <[email protected]>
2020-05-11 23:05:52 +03:00
Yuri Benditovich 37dcef72e5 SDV: add an option to control SDV mode per project
By default we run SDV in legacy mode as before.
In order to make SDV for specific project to run in modern
mode, add build.sdv.config file in the directory of
the project file. If the file contains anywhere word 'legacy',
the SDV runs in legacy mode, otherwise it runs in modern mode.

Signed-off-by: Yuri Benditovich <[email protected]>
2020-05-09 23:48:03 +03:00
Ilya Rudakov 63091d7ff7 build: Copyright current year fixed
Signed-off-by: Ilya Rudakov <[email protected]>
2020-05-09 22:16:25 +03:00
Ilya Rudakov ce2d5f262e Viosock: add WPP tracing to protocol dll
Signed-off-by: Ilya Rudakov <[email protected]>
2020-01-19 12:07:52 +02:00
Vadim Rozenfeld 55c95a641c fix typo in vioscsi trace batch file 2019-12-31 10:58:43 +02:00
Ilya Rudakov 638ba85503 Virtio vsock support for Windows guests, initial commit.
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]>
2019-12-02 09:47:16 +02:00
Yuri Benditovich 012e122cee build: support Community and Professional VS 2017
For Brew build and other configurations which use
Professional VS.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03:00
Yuri Benditovich 9f913e9d9f build: do not use '/uselocaltime' switch with legacy build
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]>
2019-04-23 16:40:12 +03:00
Ilya Rudakov 276851f249 build: Add VerArch property for ARM64
Signed-off-by: Ilya Rudakov <[email protected]>
2019-04-23 16:40:12 +03:00
Yuri Benditovich 74fa29d99b build: enable Spectre mitigation
Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03:00
Yuri Benditovich a66c3c52b3 build: add ARM64 to build
Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03:00
Yuri Benditovich 5c05a873d9 build: instrument common XMLs for ARM64
Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03:00
Yuri Benditovich b78728c1bd build: Run SDV with WDK 1809 and VS 2017
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]>
2019-04-23 16:40:12 +03:00
Yuri Benditovich ab5396a638 Fix setting environment by 2017 (not using VS2015)
Instead of calling calling VS2015 'setvars' batch call
batch file that calls 2017 batch for the same.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03:00
Yuri Benditovich 5f005e252a 2017 studio and latest WDK
Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03:00
Mihai Carabas b9f72604fc Tools: Driver.Vendor.props: current year to 2019 2019-02-06 19:50:29 +02:00
Gal Hammer cb822e36bf Fix LICENSE and source files license inconsistency.
virtio-win is released under the 3-clause BSD License. Make sure
both LICENSE and source files state that.

Reported-by: Darren Kenny
2019-01-31 15:06:33 +02:00
Lior Haim 138cdbeeeb Tools: Fix the test certificate
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]>
2018-12-19 15:41:37 +02:00