History log of /pciutils/README.Windows (Results 1 – 15 of 15)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v3.14.0, v3.13.0, v3.12.0
# 7dbb846c 05-Apr-2024 Martin Mares <[email protected]>

README.Windows: Fix typo


# 7bcd087d 05-Apr-2024 Pali Rohár <[email protected]>

README: Copy win32-kldbg info from manpage


Revision tags: v3.11.1
# b8773677 24-Feb-2024 Pali Rohár <[email protected]>

README: Update information about Windows support


Revision tags: v3.11.0, v3.10.0
# 42e6a803 21-Nov-2022 Martin Mares <[email protected]>

README.Windows: Fix of $HOST

Suggested by Pali.


Revision tags: v3.9.0, v3.8.0
# 21c4801a 15-Apr-2022 Martin Mares <[email protected]>

README and ChangeLog for 3.8.0.


# 353f4109 10-Feb-2022 Pali Rohár <[email protected]>

README: Update information about Windows

Basic support for 64-bit systems is there.


# 63435b6e 26-Dec-2021 Pali Rohár <[email protected]>

README: Update information how to compile Windows port


# b8fbb6f0 25-Dec-2021 Pali Rohár <[email protected]>

libpci: i386-io-windows.h: Enable I/O access via native NT ProcessUserModeIOPL syscall

libpci uses WinIo library from http://www.internals.com/ which is archived
at https://web.archive.org/web/20151

libpci: i386-io-windows.h: Enable I/O access via native NT ProcessUserModeIOPL syscall

libpci uses WinIo library from http://www.internals.com/ which is archived
at https://web.archive.org/web/20151005172744/http://www.internals.com/

This external WinIo library has two big issues:
1. Library license is incompatible with pciutils license.
2. It silently and automatically installs 3rd-party NT kernel module
WinIo.sys which is bundled in WinIO.dll binary.

That NT kernel module creates a device file "\\.\WinIo" which can be opened
by any running process. Via this device file can any process (including
unprivileged or those running under Guest account) ask that kernel module
to configure x86 TSS I/O port permissions for access to any I/O port. That
NT kernel module does not implement any permission checks and automatically
accept all requests.

Change in this commit replaces insecure WinIO.dll library and WinIo.sys
kernel module by proper NT system solution: Usage of ProcessUserModeIOPL
syscall (equivalent of iopl(3) on Linux) which is supported directly by NT
kernel. It does not require any external 3rd-party library or NT kernel
module.

This syscall can be invoked by NtSetInformationProcess() function from
ntdll.dll library (which is part of NT system) and for privileged processes
kernel changes x86 IOPL to 3.

Privileged process is that which has SeTcbPrivilege (Act as part of the
operating system privilege) or is running under account from local
Administrators group with SeImpersonatePrivilege (Impersonate a client
after authentication privilege). SeImpersonatePrivilege is enabled by
default for accounts from local Administrators group.

Usage of privileges is not easy operation and needs to call lot of
functions to gain required permissions, achieve thread-safety and follow
suggested guidelines. Hence code is quite long.

Privileges (including SeTcbPrivilege) can be enabled / disabled in User
Accounts settings by local Administrators and change takes effect after
next login, not immediately.

show more ...


Revision tags: v3.7.0, v3.6.4, v3.6.3
# bbc4a88c 31-Dec-2018 Martin Mares <[email protected]>

README.Windows: Replaced broken link to winio

New URLs suggested by GitHub PR #20.


Revision tags: v3.6.2, v3.6.1, v3.6.0, v3.5.6, v3.5.5, v3.5.4, v3.5.3, v3.5.2, v3.5.1, v3.5.0, v3.4.1, v3.4.0, v3.3.1, v3.3.0
# b5847329 01-Nov-2014 Martin Mares <[email protected]>

Updated the READMEs


Revision tags: v3.2.1, v3.2.0, v3.1.10, v3.1.9, v3.1.8, v3.1.7, v3.1.6, v3.1.5, v3.1.4, v3.1.3, v3.1.2, v3.1.1, v3.1.0, v3.1-alpha3, v3.1-alpha2, v3.1-alpha1, v3.0.3, v3.0.2, v3.0.1, v3.0.0
# 09156b3b 03-Sep-2007 Martin Mares <[email protected]>

Resurrected the Windows port.


# 1c5cc9b5 30-Jul-2006 Martin Mares <[email protected]>

Polishing the Windows port.


# ee7d8384 13-Aug-2004 Martin Mares <[email protected]>

Added more parts of the Windows port.

git-archimport-id: [email protected]/pciutils--main--2.2--patch-61


# 489233b4 13-Aug-2004 Martin Mares <[email protected]>

Include file splits and namespace cleanups.

git-archimport-id: [email protected]/pciutils--main--2.2--patch-60


# c0eece92 29-May-2004 Martin Mares <[email protected]>

2.1.99-test5 released

git-archimport-id: [email protected]/pciutils--main--2.2--patch-48