summaryrefslogtreecommitdiffstats
path: root/README.Windows
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:24:33 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:24:33 +0000
commit7a19c99f661602b67db95fd1d8aca5fe3a387441 (patch)
tree215ff04ec522779fa83acf394d296c2356c6b382 /README.Windows
parentInitial commit. (diff)
downloadpciutils-7a19c99f661602b67db95fd1d8aca5fe3a387441.tar.xz
pciutils-7a19c99f661602b67db95fd1d8aca5fe3a387441.zip
Adding upstream version 1:3.9.0.upstream/1%3.9.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'README.Windows')
-rw-r--r--README.Windows38
1 files changed, 38 insertions, 0 deletions
diff --git a/README.Windows b/README.Windows
new file mode 100644
index 0000000..2bef240
--- /dev/null
+++ b/README.Windows
@@ -0,0 +1,38 @@
+Since 2.1.99-test5, pciutils should also be compilable on Windows. Thanks
+to Alexander Stock for contributing the port.
+
+Updated after version 2.2.6 to compile again, and with MinGW, even (only?)
+cross-compiling. (Hopefully it works with MSVC too.)
+
+For simple listing PCI devices in system with basic information, there is no
+special requirement. To list PCI resources on Windows 8 and higher versions,
+it is necessary to have architecture-native version (e.g. AMD64 version on
+AMD64 systems).
+
+To access config space on NT-based systems, it is required to have SeTcbPrivilege
+(Act as part of the operating system privilege), which can be enabled in User
+Accounts settings (take effect after next login). By default this privilege is
+not enabled for any non-system user. Or alternatively it is required to be in
+local Administrators group and on Windows 2000 SP4 or higher systems to have
+SeImpersonatePrivilege (Impersonate a client after authentication privilege)
+which is by default enabled for all local Administrators accounts. There is no
+special requirement for DOS-based systems. 64-bit systems do not have to allow
+users to access config space even with SeTcbPrivilege.
+
+To compile this port, run following command:
+
+ make CROSS_COMPILE=i586-mingw32msvc- HOST=i386-windows ZLIB=no IDSDIR=""
+
+To build 64-bit version, run:
+
+ make CROSS_COMPILE=x86_64-w64-mingw32- HOST=x86_64-windows ZLIB=no IDSDIR=""
+
+Sometimes compilation may fail due to broken or missing getopt implementation.
+In this case try to compile with additional make option: COMPAT_GETOPT=yes
+
+================================================================================
+BEWARE: The current implementation pokes I/O ports to access the PCI devices
+directly. This leads to several problems: some devices are invisible, extended
+PCIe configuration space is not available, and there are many potential race
+conditions. Instead, libpci should use the proper Windows drivers.
+================================================================================