]> mj.ucw.cz Git - pciutils.git/blob - README.Windows
Merge pull request #166 from DigitalDJ/master
[pciutils.git] / README.Windows
1 Since 2.1.99-test5, pciutils should also be compilable on Windows. Thanks
2 to Alexander Stock for contributing the port.
3
4 Updated after version 2.2.6 to compile again, and with MinGW, even (only?)
5 cross-compiling. (Hopefully it works with MSVC too.)
6
7 For simple listing PCI devices in system with basic information, there is no
8 special requirement. To list PCI resources on Windows 8 and higher versions,
9 it is necessary to have architecture-native version (e.g. AMD64 version on
10 AMD64 systems).
11
12 To access config space on NT-based systems, it is required to have SeTcbPrivilege
13 (Act as part of the operating system privilege), which can be enabled in User
14 Accounts settings (take effect after next login). By default this privilege is
15 not enabled for any non-system user. Or alternatively it is required to be in
16 local Administrators group and on Windows 2000 SP4 or higher systems to have
17 SeImpersonatePrivilege (Impersonate a client after authentication privilege)
18 which is by default enabled for all local Administrators accounts. There is no
19 special requirement for DOS-based systems. 64-bit systems do not have to allow
20 users to access config space even with SeTcbPrivilege.
21
22 To compile this port, run following command:
23
24   make CROSS_COMPILE=i586-mingw32msvc- HOST=i586-windows ZLIB=no IDSDIR=""
25
26 To build 64-bit version, run:
27
28   make CROSS_COMPILE=x86_64-w64-mingw32- HOST=x86_64-windows ZLIB=no IDSDIR=""
29
30 Sometimes compilation may fail due to broken or missing getopt implementation.
31 In this case try to compile with additional make option: COMPAT_GETOPT=yes
32
33 ================================================================================
34 BEWARE: The current implementation pokes I/O ports to access the PCI devices
35 directly. This leads to several problems: some devices are invisible, extended
36 PCIe configuration space is not available, and there are many potential race
37 conditions. Instead, libpci should use the proper Windows drivers.
38 ================================================================================