| 3ec74c71 | 01-Jul-2025 |
Prabu Thangamuthu <[email protected]> |
ls-caps: Add support to decode Gen7 speed
Updated Link capabilities, Link status and Link capabilities 2 registers decode logic to support PCIe Gen7 speed.
Signed-off-by: Prabu Thangamuthu <prabut@
ls-caps: Add support to decode Gen7 speed
Updated Link capabilities, Link status and Link capabilities 2 registers decode logic to support PCIe Gen7 speed.
Signed-off-by: Prabu Thangamuthu <[email protected]>
show more ...
|
| 6f7640b8 | 23-Jun-2025 |
Rong Tao <[email protected]> |
header.h: Fix type 1 header comment
Should be 0x35-0x37 is reserved.
Signed-off-by: Rong Tao <[email protected]> |
| 8372cd49 | 21-Jun-2025 |
Martin Mares <[email protected]> |
Maint: Another typo in maint/release |
| c6030ae1 | 21-Jun-2025 |
Martin Mares <[email protected]> |
Maint: Fix typo in maint/release |
| 6f6d842e | 21-Jun-2025 |
Martin Mares <[email protected]> |
Released as v3.14.0 |
| c58c689f | 21-Jun-2025 |
Martin Mares <[email protected]> |
Update pci.ids to the current snapshot |
| de4cfd13 | 21-Jun-2025 |
Pali <[email protected]> |
libpci: djgpp: Handle Windows NTVDM zero error codes
Windows NTVDM DPMI host clears the AX register for unsupported DPMI calls. So handle zero error code as ENOSYS instead of default case EACCES. |
| b78c087b | 21-Jun-2025 |
Martin Mares <[email protected]> |
Fix formatting of 64-bit integers
PCI_U64_FMT_X is needed. |
| a213399f | 18-Jun-2025 |
Mingjie Shen <[email protected]> |
Use snprintf instead of sprintf to prevent buffer overruns
In bitops.h, update the TABLE macro to call snprintf(buf, sizeof(buf), ...) rather than unbounded sprintf, ensuring that out-of-range indic
Use snprintf instead of sprintf to prevent buffer overruns
In bitops.h, update the TABLE macro to call snprintf(buf, sizeof(buf), ...) rather than unbounded sprintf, ensuring that out-of-range indices produce a bounded "??%d" string.
In setpci.c, change the device slot formatting from sprintf(slot, ...) to snprintf(slot, sizeof(slot), ...), capping output to the 16-byte buffer and avoiding overflow when printing PCI domain, bus, dev, and func values.
Signed-off-by: Mingjie Shen <[email protected]>
show more ...
|
| decf7298 | 21-Jun-2025 |
Martin Mares <[email protected]> |
LMR: <string.h> is required for memset() |
| 2bbe1d46 | 15-Jun-2025 |
Martin Mares <[email protected]> |
Tables of strings should have both pointers and the actual strings const |
| 18419d2a | 15-Jun-2025 |
Martin Mares <[email protected]> |
Remove trailing whitespace |
| 9611db3e | 28-Feb-2025 |
Paul Cassidy <[email protected]> |
Flit Mode and Device 3 Capability |
| fca6726e | 11-Jun-2025 |
Martin Mares <[email protected]> |
header.h: Classes and capabilities from PCI Code and ID Assignment rev 1.18 |
| 021d41cf | 28-Nov-2024 |
GuEe-GUI <[email protected]> |
Port to RT-Thread Smart DM PCI
Signed-off-by: GuEe-GUI <[email protected]> |
| 2898e33f | 09-Jun-2025 |
Tristan Watts-Willis <[email protected]> |
lspci: Add test case for Physical Layer 16 GT/s and 32 GT/s extended capability registers |
| 7d2fa63f | 08-Jun-2025 |
Martin Mares <[email protected]> |
Update pci.ids to the current snapshot |
| a18c5481 | 18-Jan-2025 |
Pali Rohár <[email protected]> |
pcilib.man: Update information about win32-kldbg |
| 8eee6d97 | 18-Jan-2025 |
Pali Rohár <[email protected]> |
libpci: win32-kldbg: Implement registration driver from non-native process
It is common that 32-bit application is running on 64-bit host system, or nowadays also that 64-bit AMD64 application is ru
libpci: win32-kldbg: Implement registration driver from non-native process
It is common that 32-bit application is running on 64-bit host system, or nowadays also that 64-bit AMD64 application is running on ARM64 system.
For all these cases the win32-kldbg.c code horrible fails with just generic error message when trying to register kldbgdrv.sys driver.
Add code which detects machine type of running process, machine type of kldbgdrv.sys driver and machine type of the host system. If machine type of driver and system machines then allow to register driver. Otherwise print debug verbose message why it is not possible to use kldbgdrv.sys driver from kd.exe/windbg.exe binary. This could allow to debug issues via command lspci -G why win32-kldbg refused to load driver from windbg.exe binary.
At the same time relax checks in win32_check_driver() to not depend on the constants related to process type as process architecture is not relevant here. Important is always only driver and native system architecture, process may be running under WoW64 (e.g. i386 process or AMD64 system).
show more ...
|
| e15e6840 | 18-Jan-2025 |
Pali Rohár <[email protected]> |
libpci: win32-kldbg: Fix calling IOCTL_KLDBG from 32-bit process on 64-bit system
32-bit process on 64-bit system needs to pass all pointers in 64-bit format for IOCTL_KLDBG call.
So for 32-bit bui
libpci: win32-kldbg: Fix calling IOCTL_KLDBG from 32-bit process on 64-bit system
32-bit process on 64-bit system needs to pass all pointers in 64-bit format for IOCTL_KLDBG call.
So for 32-bit builds (determined by not defined _WIN64 macro) define new SYSDBG_BUS_DATA64 and KLDBG64 structures with u64 type for pointer members. Compiler will automatically align all structure members and inserts padding between members as needed, in the same way as for 64-bit builds. Due to alignment restrictions, adding just one dummy 32-bit member after each pointer member does not work.
32-bit code then needs to figure out if the host system is 32-bit or 64-bit and choose which structure (process native or 64-bit) needs to be passed to the IOCTL_KLDBG call for successful execution. This is determined by the win32_is_32bit_on_64bit_system() helper function.
With this change 32-bit i386 lspci.exe binary is working fine on 64-bit AMD64 system and via win32-kldbg can access PCIe config space if the AMD64 kldbgdrv.sys driver is registered in the host system.
show more ...
|
| c8647861 | 20-Sep-2024 |
Pali Rohár <[email protected]> |
libpci: win32-cfgmgr32: Improve parsing of driver path
Remove NT prefix "\\??\\" prefix only for drive letters when converting it to Win32 path. And convert unhandled absolute NT path to Win32 path
libpci: win32-cfgmgr32: Improve parsing of driver path
Remove NT prefix "\\??\\" prefix only for drive letters when converting it to Win32 path. And convert unhandled absolute NT path to Win32 path via "GLOBALROOT" symlink (which points to NT root path) available in Win32 "\\\\?\\" path. With this change libpci's driver path on windows should be always valid Win32 path.
show more ...
|
| b357c876 | 05-Apr-2024 |
Pali Rohár <[email protected]> |
libpci: win32-cfgmgr32: Define error messages for all CR_* error constants |
| 25d75c66 | 18-Jan-2025 |
Pali Rohár <[email protected]> |
windows: Fix declaration of GetSystemFirmwareTable function pointer
Function pointer attributes have to be specified on the left side of the *. |
| c281601a | 11-Jan-2025 |
Pali Rohár <[email protected]> |
windows: Update comment about RtlNtStatusToDosError() side effect |
| ea02a2ff | 04-Dec-2024 |
Pali Rohár <[email protected]> |
windows: Check for SizeOfOptionalHeader before dereferencing OptionalHeader
offsetof(IMAGE_OPTIONAL_HEADER, DataDirectory) is the minimal size of variable length OptionalHeader (IMAGE_OPTIONAL_HEADE
windows: Check for SizeOfOptionalHeader before dereferencing OptionalHeader
offsetof(IMAGE_OPTIONAL_HEADER, DataDirectory) is the minimal size of variable length OptionalHeader (IMAGE_OPTIONAL_HEADER) structure.
show more ...
|