]> mj.ucw.cz Git - pciutils.git/commit
libpci: Add new windows kldbgdrv.sys implementation
authorPali Rohár <pali@kernel.org>
Fri, 4 Mar 2022 00:07:53 +0000 (01:07 +0100)
committerMartin Mares <mj@ucw.cz>
Fri, 18 Nov 2022 11:06:52 +0000 (12:06 +0100)
commitaa5a16ef419d2fe30cb6a17be5194f87b9b7785c
treea61976fe78c39575266e6d6b07e0521967c98441
parent92bd9d99a1140593996ccaf6aed0f50df27c004d
libpci: Add new windows kldbgdrv.sys implementation

Microsoft Kernel Local Debugging Driver (kldbgdrv.sys) allow access for
userspace processes to the PCI config space. It supports access up to
65536 domains and whole 4096 bytes long extended PCIe config space. Driver
is signed by Microsoft and is available for both 32-bit and 64-bit systems.

Driver is not part of Windows system and has to be installed via WinDbg
installation package. Standalone installers for WinDbg 6.12.2.633 version:
https://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools_amd64/dbg_amd64.msi
https://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools/dbg_x86.msi

This kldbgdrv.sys API is used by the !pci command of new WinDbg kernel
debugger for displaying PCI config space.

API of this driver is available only for processes with Debug privilege and
only if system was booted with Debugging option.
lib/Makefile
lib/configure
lib/init.c
lib/internal.h
lib/pci.h
lib/types.h
lib/win32-kldbg.c [new file with mode: 0644]