Commit Graph
28 Commits
Author SHA1 Message Date
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
Konstantin Kostiuk 84b50b8ecb Move build/sign related tools into a separate folder
Signed-off-by: Konstantin Kostiuk <[email protected]>
2024-10-13 14:41:59 +02:00
Yuri Benditovich fb5ccb351a netkvm-prot: development time signing of vioprot.inf
For signing of the protocol INF just need to enable signing
in the .user file

Signed-off-by: Yuri Benditovich <[email protected]>
2024-06-25 10:30:06 +03:00
Yuri Benditovich 66246289fd netkvm-prot: update protocol service binary at runtime
https://issues.redhat.com/browse/RHEL-31482
Before this commit: netkvmp.exe is installed by protocol INF
to system32 directory, INF also creates netkvmp service for
this binary. The netkvmp.exe works with netkvm driver using
IOCTLs and continues doing it in case the netkvm driver is
updated, so these binaries at some point might get out of sync.
In order to update the netkvmp.exe the protocol INF must be
reinstalled.
After this commit: netkvmp.exe is installed by netkvm INF to
system directory. When the netkvmp.exe is called to install
the protocol it first copies itself to system32\netkvmps.exe,
then it installs protocol INF, which creates netkvmp service
with existing netkvmps.exe file. The service from time to time
checks that the service binary (netkvmps.exe) is identical to
netkvmp.exe. When it detects they are out of sync, it starts
'netkvmp.exe restartservice' and stops. The netkvmp.exe
copies itself to netkvmps.exe and starts the service. Such a
way, the protocol service is always in sync with netkvm driver.

Signed-off-by: Yuri Benditovich <[email protected]>
2024-04-05 16:47:02 +03:00
Yuri Benditovich 30b722b528 netkvm-prot: convert NotifyObject to dummy driver project
- remove all the redundant files from the project
- change netkvmno.cpp to dummy driver file
- change project to be driver project (to sign INF)
- remove netkvmno.dll from INF file

Signed-off-by: Yuri Benditovich <[email protected]>
2024-04-05 16:47:02 +03:00
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 f83561e272 Update installation notes part of INF
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-11-01 16:47:16 +01:00
Yuri Benditovich 7b02919342 notify-obj: correct vioprot.cat signing command
The signing is optional and used only during development build.
Fixed signing command to satisfy signtool of WDK 22000.

Signed-off-by: Yuri Benditovich <[email protected]>
2023-07-02 12:57:58 +03:00
Yuri Benditovich 9f86fa8c94 notify-obj: detach netkvmno.dll from the VIOPROT protocol
The notification is not needed now, the logic of the operation is
changed and implemented in the protocol service. To avoid changes
in packaging we do not change the set of files but the DLL does
not service the protocol anymore.
Future plan is to remove also protocol binary from the protocol
installation and move it to the installation of netkvm.

Signed-off-by: Yuri Benditovich <[email protected]>
2023-07-02 12:57:58 +03:00
Yuri Benditovich 8b3fb2d480 notyfyobj: Fix targets
Earlier commit 42b1e51e22 has changed the configuration
of ProtocolService from Release to Win10Release but did not
it in the postbuild of NotifyObject. Fixing it

Signed-off-by: Yuri Benditovich <[email protected]>
2023-06-27 16:23:24 +03:00
Kostiantyn Kostiuk 42b1e51e22 NetKVM: Fix targets
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-04-30 11:42:01 +03:00
Kostiantyn Kostiuk dd9c956d4e NetKVM: Remove Windows 7 target
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-11-25 11:03:17 +02:00
Kostiantyn Kostiuk 23761378e9 NetKVM: Remove Vista target
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-11-25 11:03:17 +02:00
Yuri Benditovich fccd454db4 Update Readme file of the Notify object project
Described how the failover feature works including latest
changes. Updated also list of supported adapters.

Signed-off-by: Yuri Benditovich <[email protected]>
2021-04-01 15:11:46 +03:00
Yuri Benditovich 8f6b26f7c8 netkvm: fix false error returned in notify object
When enumeration of bindings return S_FALSE this does not
indicate an error, just end of components list.

Signed-off-by: Yuri Benditovich <[email protected]>
2021-04-01 15:11:46 +03:00
Yuri Benditovich 17d5ce01e9 netkvm: override protocol binaries when possible
In various situations the OS tends to hold some binaries
that might prevent overriding them during next installation
(for example Network Control Panel process may hold the
netkvmno.dll). Set copy flags in the INF to reduce
the chance of failure to override the binaries.

Signed-off-by: Yuri Benditovich <[email protected]>
2021-04-01 15:11:46 +03:00
Yuri Benditovich 9d89dd0ded netkvm: make netkvmp service run
The service will be started on protocol install and on
system restart.

Signed-off-by: Yuri Benditovich <[email protected]>
2021-04-01 15:11:46 +03:00
Yuri Benditovich 04e3b3769e netkvm: support Broadcom NetXtreme II BCM57810 SRIOV adapter
Signed-off-by: Yuri Benditovich <[email protected]>
2020-11-02 11:11:23 +02:00
Annie Li 3781ebab33 netkvm: notify object: add one Broadcom SRIOV adapter
Add 14e4:16dc (NetXtreme-E Ethernet Virtual Function)

Signed-off-by: Annie Li <[email protected]>
2020-09-29 11:52:42 +03:00
Yuri Benditovich 5fbd1980fb netkvm: add protocol install/uninstall batches
Signed-off-by: Yuri Benditovich <[email protected]>
2020-07-09 15:23:33 +03:00
Yuri Benditovich 468abda2ba netkvm: do not sign protocol files by default
By default we do not sign any binaries and CAT files in all
the projects under virtio-win. Typically driver providers sign
resulting drivers with their certificate after entire build
is done. To enable signing of executables during development
create local NetKVM\NotifyObject\.dosigning file.

Signed-off-by: Yuri Benditovich <[email protected]>
2020-07-09 15:23:33 +03:00
Yuri Benditovich c9ad5c1b44 netkvm: notify object: add 2 more Intel SRIOV adapters
Added 8086:154c (VF 700 Series) and 8086:10ed (82599 VF)

Signed-off-by: Yuri Benditovich <[email protected]>
2020-07-09 15:23:33 +03:00
Yuri Benditovich e957213e1d netkvm: cosmetic changes in protocol INF file
Signed-off-by: Yuri Benditovich <[email protected]>
2020-07-09 15:23:33 +03:00
Yuri Benditovich 4132c9e7d5 netkvm: use dummy service executable for notify object
The dummy service behaves like a service and does not do
anything except of that. The protocol is unconditionally
registered by NETKVM driver on load. We do not have and do
not need another executable for the protocol, but we do
need the service name to register the protocol.

Signed-off-by: Yuri Benditovich <[email protected]>
2020-07-07 17:53:39 +03:00
Yuri Benditovich efc05e3743 build: add build of new NETKVM subprojects
Notification object and dummy protocol service.

Signed-off-by: Yuri Benditovich <[email protected]>
2020-07-07 17:53:39 +03:00
Yuri Benditovich bb4899ec46 netkvm: initial implementation of teaming protocol driver
Signed-off-by: Annie Li <[email protected]>
Signed-off-by: Yuri Benditovich <[email protected]>
2020-07-07 17:53:39 +03:00