Commit Graph
3121 Commits
Author SHA1 Message Date
Vitalii Chulak 092f97eb19 RHEL-69074: broken style fix for viogpu driver
Signed-off-by: Vitalii Chulak <[email protected]>
2025-01-13 09:12:14 +01:00
Vitalii Chulak dd10de59ef RHEL-69074: clang-format for viogpu folder
Signed-off-by: Vitalii Chulak <[email protected]>
2025-01-13 09:12:14 +01:00
Vitalii Chulak 019b16b9bd RHEL-69079: broken style fix for vioserial driver
Signed-off-by: Vitalii Chulak <[email protected]>
2025-01-13 09:06:20 +01:00
Vitalii Chulak 257af79230 RHEL-69079: clang-format for vioserial folder
Signed-off-by: Vitalii Chulak <[email protected]>
2025-01-13 09:06:20 +01:00
Vitalii Chulak a55a8f9232 RHEL-69073: broken style fix for viofs driver
Signed-off-by: Vitalii Chulak <[email protected]>
2025-01-12 15:13:27 +01:00
Vitalii Chulak 59bade1078 RHEL-69073: clang-format for viofs folder
Signed-off-by: Vitalii Chulak <[email protected]>
2025-01-12 15:13:27 +01:00
Konstantin Kostiuk e7183ebc25 RHEL-73393: Add format/check options for clang-format-helper
Signed-off-by: Konstantin Kostiuk <[email protected]>
2025-01-12 14:31:20 +01:00
Konstantin Kostiuk 18d183e30e RHEL-73393: Update clang-format-helper to work properly on Windows
Signed-off-by: Konstantin Kostiuk <[email protected]>
2025-01-12 14:31:20 +01:00
benyamin-codez 0edc2e21c5 [build] Delete obsolete dvl1903.bat script
1. Deletes dvl1903.bat script obsoleted by PRs #1210, #1240 and #1241.

Signed-off-by: benyamin-codez <[email protected]>
2025-01-08 15:01:38 +01:00
Vitalii Chulak 308d54b60a RHEL-69076: Formatting viomem driver with clang-format
Signed-off-by: Vitalii Chulak <[email protected]>
2025-01-08 14:53:57 +01:00
benyamin-codez 7a0eef69d3 [NetKVM] Refactored legacy DVL creation
1. Refactors the CustomBuildStep Command to manage DVL file creation.
   We now create DVL files in the Project (driver) folder with version
   numbers in the file name for DVL files created with legacy EWDKs,
   and with the "latest" label for current EWDKs. These files are
   then copied to the relevant .\Install folders and renamed for
   extant WHCP submission operations. Makes use of the new batch file
   build\makeLegacyDVLs.bat script (from PR #1210), which now creates
   all legacy DVL files. Logging is also enabled to provide feedback
   when read at the tail of root\buildAll.bat. Please see PR #1212 for
   details on those changes.

2. Enables Win10_SDV for local (NetKVM) buildAll.bat script.

Signed-off-by: benyamin-codez <[email protected]>
2025-01-08 13:12:08 +01:00
benyamin-codez e9c95e522a [viostor] Refactored legacy DVL creation
1. Refactors the CustomBuildStep Command to manage DVL file creation.
   We now create DVL files in the Project (driver) folder with version
   numbers in the file name for DVL files created with legacy EWDKs,
   and with the "latest" label for current EWDKs. These files are
   then copied to the relevant .\Install folders and renamed for
   extant WHCP submission operations. Makes use of the new batch file
   build\makeLegacyDVLs.bat script (from PR #1210) and which now creates
   all legacy DVL files. Logging is also enabled to provide feedback
   when read at the tail of root\buildAll.bat. Please see PR #1212 for
   details on those changes.

2. Enables Win10_SDV for local (viostor) buildAll.bat script.

Signed-off-by: benyamin-codez <[email protected]>
2025-01-08 13:11:31 +01:00
benyamin-codez ce2af43844 [vioscsi] Add missing HW_INITIALIZATION_DATA Members
Add missing StorPort HW_INITIALIZATION_DATA Members per MS docs

1. AddressTypeFlags = ADDRESS_TYPE_FLAG_BTL8

Signed-off-by: benyamin-codez <[email protected]>
2025-01-07 14:00:08 +01:00
benyamin-codez ca06f3cb57 [vioscsi] Conditionally manage DVL copying
1. Refactors the CustomBuildStep Command to manage DVL file creation.
   We now create DVL files in the Project (driver) folder with version
   numbers in the file name for DVL files created with legacy EWDKs,
   and with the "latest" label for current EWDKs. These files are
   then copied to the relevant .\Install folders and renamed for
   extant WHCP submission operations.

2. New build\makeLegacyDVLs.bat now creates all legacy DVL files.
   This functionally replaces build\dvl1903.bat and extends it to
   service any legacy DVL build. It provides a framework to manage
   legacy DVL creation and a common place to lay out version-specific
   DVL operations and manipulations. Logging is also enabled to
   provide feedback when read at the tail of root\buildAll.bat.
   Please see PR #1212 for details on these changes.

3. Enables Win10_SDV for local (vioscsi) buildAll.bat script.

Signed-off-by: benyamin-codez <[email protected]>
2025-01-06 15:21:57 +01:00
benyamin-codez 5b9ae03db4 [build] Scrub the cleaners
Addendum to 52d23db, 3bc554e and 933b732.

1. Removed packaging folder from root\clean.bat per PR #1209.

Signed-off-by: benyamin-codez <[email protected]>
2025-01-05 15:47:01 +01:00
benyamin-codez ef0bf37251 [build] Scrub the cleaners
Addendum to 52d23db and 3bc554e.

1. Added entry for *.dvl-win1*.xml
2. Added entry for *.legacy_dvl_result.txt

Signed-off-by: benyamin-codez <[email protected]>
2025-01-05 15:47:01 +01:00
benyamin-codez 4e00a75b56 [build] Scrub the cleaners
Remove the following missing sub-directories from cleaning:
a) viomem\app
b) viorng\coinstaller

Signed-off-by: benyamin-codez <[email protected]>
2025-01-05 15:47:01 +01:00
benyamin-codez 04f589ff88 [build] Scrub the cleaners
a) Standardised cleaner routines
b) Introduced -quiet and -debug parameters when run from repo root
c) Moved from FOR loop to a shift loop to more reliably support a
   wider variety of directory formats and characters
d) Created NetKVM/clean_inx.cmd to delete *.inx files in NetKVM
e) Updated NetKVM/clean_dvl_log.cmd to use standardised routines
f) Moved all other custom clean operations to build/clean.bat
g) Added missing cleaner to viocrypt
h) Added missing entries for viomem and viocrypt to list of
   directories to clean

Signed-off-by: benyamin-codez <[email protected]>
2025-01-05 15:47:01 +01:00
Vitalii Chulak 5e98f817b2 clang-format: Insert Braces into if statements
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-30 11:36:39 +01:00
Vitalii Chulak a1328c3cb8 RHEL-72207: Apply clang-formatt to ivshmem folder
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-30 11:36:39 +01:00
benyamin-codez a10b799f6d [build] Extend SetVsEnv.bat
1. Enforce echo off after calling SetupBuildEnv.cmd, which will
   otherwise spill noise into the build log. If data amongst this
   noise is required, best to report it specifically.

2. Provide some extra EWDK details when EnterpriseWDK=True. Here
   we include the BuildLab, VS year and dev CLI version as well
   as the Version_Number (EWDK Build Number).

Split from PR #1212.

Signed-off-by: benyamin-codez <[email protected]>
2024-12-26 10:01:58 +01:00
benyamin-codez bf9997af3f [build] Use Germanium EWDK to sign Win11 drivers
1. Use the Germanium EWDK Build Lab environment to sign Win11 drivers.
   We currently use the Cobalt EWDK to sign both Win10 and Win11 drivers.

Split from PR #1212.

Signed-off-by: benyamin-codez <[email protected]>
2024-12-26 09:57:28 +01:00
Akihiko Odaki a620889cb7 Update Readme to point the latest build steps
Signed-off-by: Akihiko Odaki <[email protected]>
2024-12-26 09:55:17 +01:00
Vitalii Chulak a433d7c8c8 RHEL-69072: clang-format for pvpanic folder
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-26 09:54:20 +01:00
Yuri Benditovich cf4a1c94ac RHEL-67132: trace: fix readme file
Correct order of parameters in call of ParseTrace.bat

Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-24 10:07:16 +01:00
Vitalii Chulak a01c696977 RHEL-69597: [CollectSystemInfo] Gather SetupAPI logs
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-11 12:06:57 +01:00
Konstantin Kostiuk 056e4e8386 VirtIO: Fix code style
Signed-off-by: Konstantin Kostiuk <[email protected]>
2024-12-11 12:05:25 +01:00
Konstantin Kostiuk d4950aff42 fwcfg64: Fix code style
Signed-off-by: Konstantin Kostiuk <[email protected]>
2024-12-11 12:05:25 +01:00
Kostiantyn Kostiuk 727e1c16dc Fix clang-format config for Clang 16
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2024-12-11 12:05:25 +01:00
Kostiantyn Kostiuk e15b1aba27 CI: Use the proper version of clang-format
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2024-12-11 12:05:25 +01:00
Yuri Benditovich 82909adcb1 netkvm: remove unused member 'DriverHandle'
Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich ec023725fc netkvm: fail init if failed to open NIC configuration
Under driver verifier with low resources simulation the
attempt to access NIC configuration may fail, important
fields of the context are not initialized correctly
causing driver verifier BSOD on attempt to allocate
zero bytes from memory. Fail initialization if the NIC
configuration is not accessible.

Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich ab1c77eaad netkvm: ensure the adapter object is always deleted
https://issues.redhat.com/browse/RHEL-68725

Simplify failure flow, remove redundant things from it and
ensure the pContext is always deleted. It's destructor does
complete cleanup, including interrupt deregistration. This
fixes BSOD under driver verifier with low resource simulation
NDIS_BUGCHECK_INIT_FAILED_WITHOUT_INTERRUPT_DEREGISTER.

Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich 1efdadfac2 netkvm: move RegisterFlow calls to constructor
Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich ae37512cd4 netkvm: pass miniport context to constructor
Read-write lock is created with MiniportContext=NULL because
this happens in the constructor when this field in adapter
context is not populated yet. Pass miniport context as parameter
to the constructor of adapter object and propagate it to the
RSSParameters member.

Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich 236eea2418 netkvm: fix format of printouts in case of error
Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich 5f5540a3cd netkvm: fix BSOD if some queue fails to renew
https://issues.redhat.com/browse/RHEL-68725
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/1197
In such case we do not have any other option than request to
unload the driver. This can happen in 2 flows: power up (during
fast startup) or reset, both with driver verifier that simulates
low resources.
In reset flow we need to request driver unload explicitly.
Power up flow works in SET_POWER, so it will do it automatically.

Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich 2a9f853bb1 netkvm: use per-queue max RX buffers instead of global
Global value of max RX buffers, shared among queues, is
bad idea. It is especially bad when memory allocation
during queue initialization may fail, for example in case
of driver running under driver verifier. Changing the
global field to per-queue field.

Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Yuri Benditovich b85629eb5e netkvm: deregister miniport in erroneous path
https://issues.redhat.com/browse/RHEL-68725

The problem can be reproduced under driver verifier with
low resource simulation. If the miniport is registered
but the protocol fail to register we need to deregister
the miniport. Otherwise in future attempts to load the driver
the NDIS enters erroneous state and may issue BSOD. Example of
BSOD: BUGCODE_NDIS_DRIVER/NDIS_BUGCHECK_REFCOUNT_IMBALANCE.

Signed-off-by: Yuri Benditovich <[email protected]>
2024-12-11 11:57:39 +01:00
Kostiantyn Kostiuk bcd7189c35 RHEL-70458: Balloon: Finish WMI requiest properly
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2024-12-11 11:02:56 +01:00
benyamin-codez 1bd248f586 [viosock] Remove viosockwsk-test from Win11_x86 solution config
Removes the viosockwsk-test project from selection for building in
solution configuration Win11 Release|x86. This permits viosock.sln
to be built without error.

Signed-off-by: benyamin-codez <[email protected]>
2024-12-11 09:23:34 +01:00
Vitalii Chulak 38c92fab92 Apply clang-format to fwcfg64 folder
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-06 17:32:00 +02:00
Vitalii Chulak f95630217b Align defines in clang-format for Balloon driver
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-06 17:32:00 +02:00
Vitalii Chulak 22b32fe34f Exclude clang-format from driver triggers
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-06 17:32:00 +02:00
Vitalii Chulak 13de4f055b RHEL-69069: Apply clang-format CI for Balloon driver
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-02 10:58:39 +02:00
Vitalii Chulak 0aa9f50c30 Windows style clang-format configuration
Signed-off-by: Vitalii Chulak <[email protected]>
2024-12-02 10:58:39 +02:00
Kostiantyn Kostiuk ec4a51758f viogpu: Increase SGLIST_SIZE
This changes will be used in 3D driver.

Based on https://github.com/virtio-win/kvm-guest-drivers-windows/pull/943

Signed-off-by: Max Ramanouski <[email protected]>
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2024-12-02 10:33:06 +02:00
Kostiantyn Kostiuk 8f23f79c37 viogpu: Cosmetic changes for CtrlQueue functions
Based on https://github.com/virtio-win/kvm-guest-drivers-windows/pull/943

Signed-off-by: Max Ramanouski <[email protected]>
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2024-12-02 10:33:06 +02:00
Kostiantyn Kostiuk 6a463a3af3 viogpu: Support different implementation of VioGpuAdapter
Based on https://github.com/virtio-win/kvm-guest-drivers-windows/pull/943

Signed-off-by: Max Ramanouski <[email protected]>
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2024-12-02 10:33:06 +02:00
Kostiantyn Kostiuk 33fa7ed5ed viogpu: Use callbacks in viogpu_queue
Based on https://github.com/virtio-win/kvm-guest-drivers-windows/pull/943

Signed-off-by: Max Ramanouski <[email protected]>
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2024-12-02 10:33:06 +02:00