X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=README.Windows;h=7a5ccab1917ce549b71a7dc46fa86a41865cc9dd;hb=04688d7167c448895d000e3653db874dd5e2ed93;hp=3eca690b1fac30208c451d83fde74100a0f7e0dc;hpb=c0eece922a8c2c351a64ffd184e27c53dacfbe9e;p=pciutils.git diff --git a/README.Windows b/README.Windows index 3eca690..7a5ccab 100644 --- a/README.Windows +++ b/README.Windows @@ -1,17 +1,38 @@ -Since 2.1.99-test5, pciutils should also be compilable on Windows. +Since 2.1.99-test5, pciutils should also be compilable on Windows. Thanks +to Alexander Stock for contributing the port. -However, you need to configure the package manually: +Updated after version 2.2.6 to compile again, and with MinGW, even (only?) +cross-compiling. (Hopefully it works with MSVC too.) -lib/config.mk: +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). -ARCH_I386=1 -HAVE_PM_INTEL_CONF=1 -OS_WINDOWS=1 +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. -lib/config.h: +To compile this port, run following command: -#define ARCH_I386 -#define OS_WINDOWS -#define HAVE_PM_INTEL_CONF -#define PATH_PCI_IDS "pci.ids" -#define PCILIB_VERSION "2.1.99-test5" + make CROSS_COMPILE=i586-mingw32msvc- HOST=i586-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. +================================================================================