Projects
home:lf14:branches:Mega:23.09
pciutils
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
_service:tar_scm:pciutils.spec
Changed
@@ -1,5 +1,5 @@ Name: pciutils -Version: 3.10.0 +Version: 3.9.0 Release: 2 Summary: PCI bus related utilities License: GPLv2+ @@ -106,12 +106,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Tue Feb 06 2024 renyi <977713017@qq.com> - 3.10.0-2 +* Mon Nov 13 2023 renyi <977713017@qq.com> - 3.9.0-2 - Support specify CC -* Tue Feb 06 2024 Jiangtian Feng <fengjiangtian@huawei.com> 3.10.0-1 -- upgrade to 3.10.0 - * Thu Feb 09 2023 suweifeng <suweifeng1@huawei.com> 3.9.0-1 - upgrade to 3.9.0
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/ecam.c
Deleted
@@ -1,1090 +0,0 @@ -/* - * The PCI Library -- Direct Configuration access via PCIe ECAM - * - * Copyright (c) 2023 Pali Rohár <pali@kernel.org> - * - * Can be freely distributed and used under the terms of the GNU GPL. - */ - -/* - * Tell 32-bit platforms that we are interested in 64-bit variant of off_t type - * as 32-bit variant of off_t type is signed and so it cannot represent all - * possible 32-bit offsets. It is required because off_t type is used by mmap(). - */ -#define _FILE_OFFSET_BITS 64 - -#include "internal.h" - -#include <ctype.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> - -#include <sys/mman.h> -#include <sys/types.h> -#include <fcntl.h> -#include <glob.h> -#include <unistd.h> - -#if defined (__FreeBSD__) || defined (__DragonFly__) || defined(__NetBSD__) -#include <sys/sysctl.h> -#endif - -#if defined (__FreeBSD__) || defined (__DragonFly__) -#include <kenv.h> -#endif - -#ifndef OFF_MAX -#define OFF_MAX (off_t)((1ULL << (sizeof(off_t) * CHAR_BIT - 1)) - 1) -#endif - -static long pagesize; - -struct acpi_rsdp { - char signature8; - u8 checksum; - char oem_id6; - u8 revision; - u32 rsdt_address; - struct { - u32 length; - u64 xsdt_address; - u8 ext_checksum; - u8 reserved3; - } rsdp200; -} PCI_PACKED; - -struct acpi_sdt { - char signature4; - u32 length; - u8 revision; - u8 checksum; - char oem_id6; - char oem_table_id8; - u32 oem_revision; - char asl_compiler_id4; - u32 asl_compiler_revision; -} PCI_PACKED; - -struct acpi_rsdt { - struct acpi_sdt sdt; - u32 sdt_addresses0; -} PCI_PACKED; - -struct acpi_xsdt { - struct acpi_sdt sdt; - u64 sdt_addresses0; -} PCI_PACKED; - -struct acpi_mcfg { - struct acpi_sdt sdt; - u64 reserved; - struct { - u64 address; - u16 pci_segment; - u8 start_bus_number; - u8 end_bus_number; - u32 reserved; - } allocations0; -} PCI_PACKED; - -static unsigned int -get_rsdt_addresses_count(struct acpi_rsdt *rsdt) -{ - return (rsdt->sdt.length - ((unsigned char*)&rsdt->sdt_addresses - (unsigned char *)rsdt)) / sizeof(rsdt->sdt_addresses0); -} - -static unsigned int -get_xsdt_addresses_count(struct acpi_xsdt *xsdt) -{ - return (xsdt->sdt.length - ((unsigned char*)&xsdt->sdt_addresses - (unsigned char *)xsdt)) / sizeof(xsdt->sdt_addresses0); -} - -static unsigned int -get_mcfg_allocations_count(struct acpi_mcfg *mcfg) -{ - return (mcfg->sdt.length - ((unsigned char *)&mcfg->allocations - (unsigned char *)mcfg)) / sizeof(mcfg->allocations0); -} - -static u8 -calculate_checksum(const u8 *bytes, int len) -{ - u8 checksum = 0; - - while (len-- > 0) - checksum -= *(bytes++); - return checksum; -} - -static struct acpi_sdt * -check_and_map_sdt(int fd, u64 addr, const char *signature, void **map_addr, u32 *map_length) -{ - struct acpi_sdt *sdt; - char sdt_signaturesizeof(sdt->signature); - u32 length; - void *map; - - if (addr > OFF_MAX - sizeof(*sdt)) - return NULL; - - map = mmap(NULL, sizeof(*sdt) + (addr & (pagesize-1)), PROT_READ, MAP_SHARED, fd, addr & ~(pagesize-1)); - if (map == MAP_FAILED) - return NULL; - - sdt = (struct acpi_sdt *)((unsigned char *)map + (addr & (pagesize-1))); - length = sdt->length; - memcpy(sdt_signature, sdt->signature, sizeof(sdt->signature)); - - munmap(map, sizeof(*sdt) + (addr & (pagesize-1))); - - if (memcmp(sdt_signature, signature, sizeof(sdt_signature)) != 0) - return NULL; - if (length < sizeof(*sdt)) - return NULL; - - map = mmap(NULL, length + (addr & (pagesize-1)), PROT_READ, MAP_SHARED, fd, addr & ~(pagesize-1)); - if (map == MAP_FAILED) - return NULL; - - sdt = (struct acpi_sdt *)((unsigned char *)map + (addr & (pagesize-1))); - - if (calculate_checksum((u8 *)sdt, sdt->length) != 0) - { - munmap(map, length + (addr & (pagesize-1))); - return NULL; - } - - *map_addr = map; - *map_length = length + (addr & (pagesize-1)); - return sdt; -} - -static int -check_rsdp(struct acpi_rsdp *rsdp) -{ - if (memcmp(rsdp->signature, "RSD PTR ", sizeof(rsdp->signature)) != 0) - return 0; - if (calculate_checksum((u8 *)rsdp, sizeof(*rsdp)) != 0) - return 0; - return 1; -} - -static int -check_and_parse_rsdp(int fd, off_t addr, u32 *rsdt_address, u64 *xsdt_address) -{ - struct acpi_rsdp *rsdp; - unsigned char bufsizeof(*rsdp) + sizeof(*rsdp->rsdp20); - void *map; - - map = mmap(NULL, sizeof(buf) + (addr & (pagesize-1)), PROT_READ, MAP_SHARED, fd, addr & ~(pagesize-1)); - if (map == MAP_FAILED) - return 0; - - rsdp = (struct acpi_rsdp *)buf; - memcpy(rsdp, (unsigned char *)map + (addr & (pagesize-1)), sizeof(buf)); - - munmap(map, sizeof(buf)); - - if (!check_rsdp(rsdp)) - return 0; - - *rsdt_address = rsdp->rsdt_address; - - if (rsdp->revision != 0 && - (*rsdp->rsdp20).length == sizeof(*rsdp) + sizeof(*rsdp->rsdp20) && - calculate_checksum((u8 *)rsdp, (*rsdp->rsdp20).length) == 0) - *xsdt_address = (*rsdp->rsdp20).xsdt_address; - else
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/tests/tree-fsl-p2020
Deleted
@@ -1,1548 +0,0 @@ -0000:04:00.0 PCI bridge 0604: Freescale Semiconductor Inc P2020E 1957:0070 (rev 21) -00: 57 19 70 00 06 01 10 00 21 00 04 06 08 00 01 00 -10: 00 00 f0 ff 00 00 00 00 00 05 05 00 00 00 00 00 -20: 00 80 f0 9f f1 ff 01 00 00 00 00 00 00 00 00 00 -30: 00 00 00 00 44 00 00 00 00 00 00 00 00 00 00 00 -40: 00 00 00 00 01 4c 02 fe 00 00 00 00 10 00 41 00 -50: 01 00 00 00 1f 28 00 00 41 d4 03 00 08 00 11 00 -60: c0 07 00 00 c0 03 40 00 00 00 00 00 00 00 00 00 -70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -100: 01 00 01 00 00 00 00 00 00 00 00 00 10 20 06 00 -110: 00 00 00 00 00 00 00 00 a0 00 00 00 00 00 00 00 -120: 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 -130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -2a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -2c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -2d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -2f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -3c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -3d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -3f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -400: 00 00 00 00 16 00 00 00 e2 04 00 00 00 00 00 00 -410: 04 00 00 00 00 00 00 00 00 00 00 00 40 40 00 00 -420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -430: 00 00 00 00 00 00 00 00 21 81 9e 00 df 92 77 00 -440: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -450: ce d7 14 00 20 1e fc 01 00 00 00 00 5c 0c 00 00 -460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -470: 57 19 70 00 21 00 04 06 00 00 00 00 01 00 00 00 -480: 44 3d 00 00 00 00 00 00 f0 07 00 00 00 00 00 00 -490: c0 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -4a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -4b0: 00 00 00 00 00 00 00 00 28 04 01 80 85 20 00 00 -4c0: ff 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 -4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -4e0: 00 00 00 00 01 01 00 00 02 02 0d 00 00 00 00 00 -4f0: 4a 00 00 01 05 00 00 04 00 00 00 00 00 8c 06 00 -500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -510: 00 00 00 00 00 00 00 00 21 01 00 00 00 00 00 00 -520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -540: 00 00 00 00 00 01 02 02 00 00 00 00 05 00 00 00 -550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -590: d0 cf 32 00 00 00 00 00 00 00 00 00 00 00 00 00 -5a0: 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -5b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -5d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -5e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -5f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -6a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -6b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -6c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -6d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -6e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -6f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -7a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -7b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -7c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -7d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -7e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -7f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -8d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -8e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -9a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -9c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -9d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -9e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -9f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -bb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/ChangeLog -> _service:tar_scm:pciutils-3.9.0.tar.gz/ChangeLog
Changed
@@ -1,31 +1,3 @@ -2023-05-01 Martin Mares <mj@ucw.cz> - - * Released as 3.10.0. - - * Fixed bug in definition of versioned symbol aliases - in shared libpci, which made compiling with link-time - optimization fail. - - * Filters now accept "0x..." syntax for backward compatibility. - - * Windows: The cfgmgr32 back-end which provides the list of devices - can be combined with another back-end which provides access - to configuration space. - - * ECAM (Enhanced Configuration Access Mechanism), which is defined - by the PCIe standard, is now supported. It requires root privileges, - access to physical memory, and also manual configuration on some - systems. - - * lspci: Tree view now works on multi-domain systems. It now respects - filters properly. - - * Last but not least, pci.ids were updated to the current snapshot - of the database. This includes overall cleanup of entries with - non-ASCII characters in their names -- such characters are allowed, - but only if they convey interesting information (e.g., umlauts - in German company names, but not the "registered trade mark" sign). - 2022-11-20 Martin Mares <mj@ucw.cz> * Released as 3.9.0.
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/Makefile -> _service:tar_scm:pciutils-3.9.0.tar.gz/Makefile
Changed
@@ -1,11 +1,11 @@ # Makefile for The PCI Utilities -# (c) 1998--2023 Martin Mares <mj@ucw.cz> +# (c) 1998--2022 Martin Mares <mj@ucw.cz> OPT=-O2 CFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -VERSION=3.10.0 -DATE=2023-05-01 +VERSION=3.9.0 +DATE=2022-11-20 # Host OS and release (override if you are cross-compiling) HOST= @@ -45,11 +45,10 @@ # Commands INSTALL=install DIRINSTALL=install -d +STRIP=-s ifdef CROSS_COMPILE -STRIP=--strip-program $(CROSS_COMPILE)-strip CC=$(CROSS_COMPILE)gcc else -STRIP=-s CC=cc endif AR=$(CROSS_COMPILE)ar
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/README -> _service:tar_scm:pciutils-3.9.0.tar.gz/README
Changed
@@ -1,4 +1,4 @@ -This package contains the PCI Utilities, version 3.10.0. +This package contains the PCI Utilities, version 3.9.0. Copyright (c) 1997--2022 Martin Mares <mj@ucw.cz>
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/README.Windows -> _service:tar_scm:pciutils-3.9.0.tar.gz/README.Windows
Changed
@@ -21,7 +21,7 @@ To compile this port, run following command: - make CROSS_COMPILE=i586-mingw32msvc- HOST=i586-windows ZLIB=no IDSDIR="" + make CROSS_COMPILE=i586-mingw32msvc- HOST=i386-windows ZLIB=no IDSDIR="" To build 64-bit version, run:
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/Makefile -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/Makefile
Changed
@@ -22,10 +22,6 @@ OBJS += mmio-ports endif -ifdef PCI_HAVE_PM_ECAM -OBJS += ecam -endif - ifdef PCI_HAVE_PM_DUMP OBJS += dump endif @@ -124,7 +120,6 @@ params.o: params.c $(INCL) i386-ports.o: i386-ports.c $(INCL) i386-io-hurd.h i386-io-linux.h i386-io-sunos.h i386-io-windows.h i386-io-cygwin.h mmio-ports.o: mmio-ports.c $(INCL) -ecam.o: ecam.c $(INCL) proc.o: proc.c $(INCL) pread.h sysfs.o: sysfs.c $(INCL) pread.h generic.o: generic.c $(INCL)
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/configure -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/configure
Changed
@@ -68,17 +68,14 @@ case $sys in linux*) - echo_n " sysfs proc mem-ports ecam" + echo_n " sysfs proc mem-ports" echo >>$c '#define PCI_HAVE_PM_LINUX_SYSFS' echo >>$c '#define PCI_HAVE_PM_LINUX_PROC' echo >>$c '#define PCI_HAVE_PM_MMIO_CONF' - echo >>$c '#define PCI_HAVE_PM_ECAM' echo >>$c '#define PCI_HAVE_LINUX_BYTEORDER_H' echo >>$c '#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"' echo >>$c '#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"' echo >>$c '#define PCI_PATH_DEVMEM_DEVICE "/dev/mem"' - echo >>$c '#define PCI_PATH_ACPI_MCFG "/sys/firmware/acpi/tables/MCFG"' - echo >>$c '#define PCI_PATH_EFI_SYSTAB "/sys/firmware/efi/systab"' case $cpu in i?86|x86_64) echo_n " i386-ports" echo >>$c '#define PCI_HAVE_PM_INTEL_CONF' @@ -100,27 +97,21 @@ echo >>$c '#define PCI_HAVE_STDINT_H' ;; freebsd*|kfreebsd*) - echo_n " fbsd-device mem-ports ecam" + echo_n " fbsd-device mem-ports" echo >>$c '#define PCI_HAVE_PM_FBSD_DEVICE' echo >>$c '#define PCI_HAVE_PM_MMIO_CONF' - echo >>$c '#define PCI_HAVE_PM_ECAM' echo >>$c '#define PCI_PATH_FBSD_DEVICE "/dev/pci"' echo >>$c '#define PCI_PATH_DEVMEM_DEVICE "/dev/mem"' - echo >>$c '#define PCI_PATH_ACPI_MCFG ""' - echo >>$c '#define PCI_PATH_EFI_SYSTAB ""' if "$sys" != "kfreebsd" ; then LIBRESOLV= fi ;; openbsd) - echo_n " obsd-device mem-ports ecam" + echo_n " obsd-device mem-ports" echo >>$c '#define PCI_HAVE_PM_OBSD_DEVICE' echo >>$c '#define PCI_HAVE_PM_MMIO_CONF' - echo >>$c '#define PCI_HAVE_PM_ECAM' echo >>$c '#define PCI_PATH_OBSD_DEVICE "/dev/pci"' echo >>$c '#define PCI_PATH_DEVMEM_DEVICE "/dev/mem"' - echo >>$c '#define PCI_PATH_ACPI_MCFG "/var/db/acpi/MCFG.*"' - echo >>$c '#define PCI_PATH_EFI_SYSTAB ""' LIBRESOLV= ;; @@ -141,14 +132,11 @@ echo >>$m 'DIRINSTALL=mkdir -p' ;; netbsd) - echo_n " nbsd-libpci mem-ports ecam" + echo_n " nbsd-libpci mem-ports" echo >>$c '#define PCI_HAVE_PM_NBSD_LIBPCI' echo >>$c '#define PCI_HAVE_PM_MMIO_CONF' - echo >>$c '#define PCI_HAVE_PM_ECAM' echo >>$c '#define PCI_PATH_NBSD_DEVICE "/dev/pci0"' echo >>$c '#define PCI_PATH_DEVMEM_DEVICE "/dev/mem"' - echo >>$c '#define PCI_PATH_ACPI_MCFG ""' - echo >>$c '#define PCI_PATH_EFI_SYSTAB ""' echo >>$c '#define PCI_HAVE_64BIT_ADDRESS' echo >>$m 'LIBNAME=libpciutils' echo >>$m 'WITH_LIBS+=-lpci'
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/filter.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/filter.c
Changed
@@ -76,11 +76,6 @@ if (!field_defined(str)) return 1; // and keep the defaults - // Historically, filters allowed writing hexadecimal numbers with leading "0x". - // This was never intentional nor documented, but some people relied on it. - if (!maskp && str0 == '0' && (str1 == 'x' || str1 == 'X')) - str += 2; - while (*str) { int c = *str++;
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/init.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/init.c
Changed
@@ -13,61 +13,8 @@ #include "internal.h" -#ifdef PCI_OS_DJGPP -#include <crt0.h> /* for __dos_argv0 */ -#endif - #ifdef PCI_OS_WINDOWS - #include <windows.h> - -/* Force usage of ANSI (char*) variant of GetModuleFileName() function */ -#ifdef _WIN32 -#ifdef GetModuleFileName -#undef GetModuleFileName -#endif -#define GetModuleFileName GetModuleFileNameA -#endif - -/* Define __ImageBase for all linkers */ -#ifdef _WIN32 -/* GNU LD provides __ImageBase symbol since 2.19, in previous versions it is - * under name _image_base__, so add weak alias for compatibility. */ -#ifdef __GNUC__ -asm(".weak\t" PCI_STRINGIFY(__MINGW_USYMBOL(__ImageBase)) "\n\t" - ".set\t" PCI_STRINGIFY(__MINGW_USYMBOL(__ImageBase)) "," PCI_STRINGIFY(__MINGW_USYMBOL(_image_base__))); -#endif -/* - * MSVC link.exe provides __ImageBase symbol since 12.00 (MSVC 6.0), for - * previous versions resolve it at runtime via GetModuleHandleA() which - * returns base for main executable or via VirtualQuery() for DLL builds. - */ -#if defined(_MSC_VER) && _MSC_VER < 1200 -static HMODULE -get_current_module_handle(void) -{ -#ifdef PCI_SHARED_LIB - MEMORY_BASIC_INFORMATION info; - size_t len = VirtualQuery(&get_current_module_handle, &info, sizeof(info)); - if (len != sizeof(info)) - return NULL; - return (HMODULE)info.AllocationBase; -#else - return GetModuleHandleA(NULL); -#endif -} -#define __ImageBase (*(IMAGE_DOS_HEADER *)get_current_module_handle()) -#else -extern IMAGE_DOS_HEADER __ImageBase; -#endif -#endif - -#if defined(_WINDLL) -extern HINSTANCE _hModule; -#elif defined(_WINDOWS) -extern HINSTANCE _hInstance; -#endif - #endif static struct pci_methods *pci_methodsPCI_ACCESS_MAX = { @@ -151,11 +98,6 @@ NULL, NULL, #endif -#if defined(PCI_HAVE_PM_ECAM) - &pm_ecam, -#else - NULL, -#endif }; // If PCI_ACCESS_AUTO is selected, we probe the access methods in this order @@ -174,7 +116,6 @@ PCI_ACCESS_WIN32_KLDBG, PCI_ACCESS_WIN32_SYSDBG, // Low-level methods poking the hardware directly - PCI_ACCESS_ECAM, PCI_ACCESS_I386_TYPE1, PCI_ACCESS_I386_TYPE2, PCI_ACCESS_MMIO_TYPE1_EXT, @@ -272,7 +213,7 @@ return pci_methodsindex->name; } -#if defined(PCI_OS_WINDOWS) || defined(PCI_OS_DJGPP) +#ifdef PCI_OS_WINDOWS static void pci_init_name_list_path(struct pci_access *a) @@ -282,108 +223,14 @@ else { char *path, *sep; - size_t len; - -#if defined(PCI_OS_WINDOWS) && (defined(_WIN32) || defined(_WINDLL) || defined(_WINDOWS)) + DWORD len; - HMODULE module; - size_t size; - -#if defined(_WIN32) - module = (HINSTANCE)&__ImageBase; -#elif defined(_WINDLL) - module = _hModule; -#elif defined(_WINDOWS) - module = _hInstance; -#endif - - /* - * Module file name can have arbitrary length despite all MS examples say - * about MAX_PATH upper limit. This limit does not apply for example when - * executable is running from network disk with very long UNC paths or - * when using "\\??\\" prefix for specifying executable binary path. - * Function GetModuleFileName() returns passed size argument when passed - * buffer is too small and does not signal any error. In this case retry - * again with larger buffer. - */ - size = 256; /* initial buffer size (more than sizeof(PCI_IDS)-4) */ -retry: - path = pci_malloc(a, size); - len = GetModuleFileName(module, path, size-sizeof(PCI_IDS)-4); /* 4 for "\\\\?\\" */ - if (len >= size-sizeof(PCI_IDS)-4) + path = pci_malloc(a, MAX_PATH+1); + len = GetModuleFileNameA(NULL, path, MAX_PATH+1); + sep = (len > 0) ? strrchr(path, '\\') : NULL; + if (len == 0 || len == MAX_PATH+1 || !sep || MAX_PATH-(size_t)(sep+1-path) < sizeof(PCI_IDS)) { free(path); - size *= 2; - goto retry; - } - else if (len == 0) - path0 = '\0'; - - /* - * GetModuleFileName() has bugs. On Windows 10 it prepends current drive - * letter if path is just pure NT namespace (with "\\??\\" prefix). Such - * extra drive letter makes path fully invalid and unusable. So remove - * extra drive letter to make path valid again. - * Reproduce: CreateProcessW("\\??\\C:\\lspci.exe", ...) - */ - if (((path0 >= 'a' && path0 <= 'z') || - (path0 >= 'A' && path0 <= 'Z')) && - strncmp(path+1, ":\\??\\", 5) == 0) - { - memmove(path, path+2, len-2); - len -= 2; - pathlen = '\0'; - } - - /* - * GetModuleFileName() has bugs. On Windows 10 it does not add "\\\\?\\" - * prefix when path is in native NT UNC namespace. Such path is treated by - * WinAPI/DOS functions as standard DOS path relative to the current - * directory, hence something completely different. So prepend missing - * "\\\\?\\" prefix to make path valid again. - * Reproduce: CreateProcessW("\\??\\UNC\\10.0.2.4\\qemu\\lspci.exe", ...) - * - * If path starts with DOS drive letter and with appended PCI_IDS is - * longer than 260 bytes and is without "\\\\?\\" prefix then append it. - * This prefix is required for paths and file names with DOS drive letter - * longer than 260 bytes. - */ - if (strncmp(path, "\\UNC\\", 5) == 0 || - strncmp(path, "UNC\\", 4) == 0 || - (((path0 >= 'a' && path0 <= 'z') || (path0 >= 'A' && path0 <= 'Z')) && - len + sizeof(PCI_IDS) >= 260)) - { - memmove(path+4, path, len); - memcpy(path, "\\\\?\\", 4); - len += 4; - pathlen = '\0'; - } - -#elif defined(PCI_OS_DJGPP) || defined(PCI_OS_WINDOWS) - - const char *exe_path; - -#ifdef PCI_OS_DJGPP - exe_path = __dos_argv0; -#else - exe_path = _pgmptr; -#endif - - len = strlen(exe_path); - path = pci_malloc(a, len+sizeof(PCI_IDS)); - memcpy(path, exe_path, len+1); - -#endif - - sep = strrchr(path, '\\'); - if (!sep) - { - /* - * If current module path (current executable for static builds or - * current DLL library for shared build) cannot be determined then - * fallback to the current directory.
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/internal.h -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/internal.h
Changed
@@ -15,12 +15,12 @@ // optimizations is happy to optimize them away, leading to linker failures. #define VERSIONED_ABI __attribute__((used)) PCI_ABI #ifdef __APPLE__ -#define STATIC_ALIAS(_decl, _for) _decl VERSIONED_ABI { return _for; } +#define STATIC_ALIAS(_decl, _for) _decl PCI_ABI { return _for; } #define DEFINE_ALIAS(_decl, _for) #define SYMBOL_VERSION(_int, _ext) #else #define STATIC_ALIAS(_decl, _for) -#define DEFINE_ALIAS(_decl, _for) extern _decl __attribute__((alias(#_for))) VERSIONED_ABI +#define DEFINE_ALIAS(_decl, _for) extern _decl __attribute__((alias(#_for))) #ifdef _WIN32 /* GCC does not support asm .symver directive for Windows targets, so define new external global function symbol as alias to internal symbol */ #define SYMBOL_VERSION(_int, _ext) asm(".globl\t" PCI_STRINGIFY(__MINGW_USYMBOL(_ext)) "\n\t" \ @@ -81,8 +81,6 @@ void *pci_malloc(struct pci_access *, int); void pci_mfree(void *); char *pci_strdup(struct pci_access *a, const char *s); -struct pci_access *pci_clone_access(struct pci_access *a); -int pci_init_internal(struct pci_access *a, int skip_method); void pci_init_v30(struct pci_access *a) VERSIONED_ABI; void pci_init_v35(struct pci_access *a) VERSIONED_ABI; @@ -136,5 +134,5 @@ extern struct pci_methods pm_intel_conf1, pm_intel_conf2, pm_linux_proc, pm_fbsd_device, pm_aix_device, pm_nbsd_libpci, pm_obsd_device, pm_dump, pm_linux_sysfs, pm_darwin, pm_sylixos_device, pm_hurd, - pm_mmio_conf1, pm_mmio_conf1_ext, pm_ecam, + pm_mmio_conf1, pm_mmio_conf1_ext, pm_win32_cfgmgr32, pm_win32_kldbg, pm_win32_sysdbg;
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/mmio-ports.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/mmio-ports.c
Changed
@@ -124,9 +124,9 @@ } static void -writel(u32 value, volatile void *addr) +writel(unsigned long value, volatile void *addr) { - *(volatile u32 *)addr = value; + *(volatile unsigned long *)addr = value; } static unsigned char @@ -141,10 +141,10 @@ return *(volatile unsigned short *)addr; } -static u32 +static unsigned long readl(volatile void *addr) { - return *(volatile u32 *)addr; + return *(volatile unsigned long *)addr; } static int
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/params.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/params.c
Changed
@@ -1,7 +1,7 @@ /* * The PCI Library -- Parameters * - * Copyright (c) 2008--2023 Martin Mares <mj@ucw.cz> + * Copyright (c) 2008 Martin Mares <mj@ucw.cz> * * Can be freely distributed and used under the terms of the GNU GPL. */ @@ -26,24 +26,10 @@ void pci_define_param(struct pci_access *acc, char *param, char *value, char *help) { - struct pci_param *p, **pp; + struct pci_param *p = pci_malloc(acc, sizeof(*p)); - for (pp=&acc->params; p = *pp; pp=&p->next) - { - int cmp = strcmp(p->param, param); - if (!cmp) - { - if (strcmp(p->value, value) || strcmp(p->help, help)) - acc->error("Parameter %s re-defined differently", param); - return; - } - if (cmp > 0) - break; - } - - p = pci_malloc(acc, sizeof(*p)); - p->next = *pp; - *pp = p; + p->next = acc->params; + acc->params = p; p->param = param; p->value = value; p->value_malloced = 0;
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/pci.h -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/pci.h
Changed
@@ -1,7 +1,7 @@ /* * The PCI Library * - * Copyright (c) 1997--2023 Martin Mares <mj@ucw.cz> + * Copyright (c) 1997--2020 Martin Mares <mj@ucw.cz> * * Can be freely distributed and used under the terms of the GNU GPL. */ @@ -16,7 +16,7 @@ #include "header.h" #include "types.h" -#define PCI_LIB_VERSION 0x030a00 +#define PCI_LIB_VERSION 0x030900 #ifndef PCI_ABI #define PCI_ABI @@ -48,7 +48,6 @@ PCI_ACCESS_WIN32_SYSDBG, /* Win32 NT SysDbg */ PCI_ACCESS_MMIO_TYPE1, /* MMIO ports, type 1 */ PCI_ACCESS_MMIO_TYPE1_EXT, /* MMIO ports, type 1 extended */ - PCI_ACCESS_ECAM, /* PCIe ECAM via /dev/mem */ PCI_ACCESS_MAX }; @@ -172,17 +171,14 @@ #define PCI_ADDR_MEM_MASK (~(pciaddr_t) 0xf) #define PCI_ADDR_FLAG_MASK 0xf -/* Access to configuration space */ -u8 pci_read_byte(struct pci_dev *, int pos) PCI_ABI; +u8 pci_read_byte(struct pci_dev *, int pos) PCI_ABI; /* Access to configuration space */ u16 pci_read_word(struct pci_dev *, int pos) PCI_ABI; u32 pci_read_long(struct pci_dev *, int pos) PCI_ABI; +int pci_read_block(struct pci_dev *, int pos, u8 *buf, int len) PCI_ABI; int pci_read_vpd(struct pci_dev *d, int pos, u8 *buf, int len) PCI_ABI; int pci_write_byte(struct pci_dev *, int pos, u8 data) PCI_ABI; int pci_write_word(struct pci_dev *, int pos, u16 data) PCI_ABI; int pci_write_long(struct pci_dev *, int pos, u32 data) PCI_ABI; - -/* Configuration space as a sequence of bytes (little-endian) */ -int pci_read_block(struct pci_dev *, int pos, u8 *buf, int len) PCI_ABI; int pci_write_block(struct pci_dev *, int pos, u8 *buf, int len) PCI_ABI; /*
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/win32-cfgmgr32.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/win32-cfgmgr32.c
Changed
@@ -1531,8 +1531,7 @@ d = pci_get_dev(a, domain, bus, dev, func); pci_link_dev(a, d); - if (!d->access->aux) - d->no_config_access = 1; + d->no_config_access = 1; d->aux = (void *)devinst; /* Parse device id part of devinst id and fill details into pci_dev. */ @@ -1634,12 +1633,6 @@ pci_mfree(devinst_id_list); } -static void -win32_cfgmgr32_config(struct pci_access *a) -{ - pci_define_param(a, "win32.cfgmethod", "auto", "PCI config space access method"); -} - static int win32_cfgmgr32_detect(struct pci_access *a) { @@ -1673,121 +1666,43 @@ } static void -win32_cfgmgr32_fill_info(struct pci_dev *d, unsigned int flags) +win32_cfgmgr32_fill_info(struct pci_dev *d UNUSED, unsigned int flags UNUSED) { /* - * All available flags were filled by win32_cfgmgr32_scan(). - * Filling more flags is possible only from config space. + * All available flags were filled by win32_cfgmgr32_scan() + * and reading config space is not supported via cfgmgr32. */ - if (!d->access->aux) - return; - - pci_generic_fill_info(d, flags); -} - -static int -win32_cfgmgr32_read(struct pci_dev *d, int pos, byte *buf, int len) -{ - struct pci_access *a = d->access; - struct pci_access *acfg = a->aux; - struct pci_dev *dcfg = d->aux; - - if (!acfg) - return pci_emulated_read(d, pos, buf, len); - - if (!dcfg) - d->aux = dcfg = pci_get_dev(acfg, d->domain, d->bus, d->dev, d->func); - - return pci_read_block(dcfg, pos, buf, len); } static int -win32_cfgmgr32_write(struct pci_dev *d, int pos, byte *buf, int len) +win32_cfgmgr32_write(struct pci_dev *d UNUSED, int pos UNUSED, byte *buf UNUSED, int len UNUSED) { - struct pci_access *a = d->access; - struct pci_access *acfg = a->aux; - struct pci_dev *dcfg = d->aux; - - if (!acfg) - return 0; - - if (!dcfg) - d->aux = dcfg = pci_get_dev(acfg, d->domain, d->bus, d->dev, d->func); - - return pci_write_block(dcfg, pos, buf, len); + /* Writing to config space is not supported via cfgmgr32. */ + return 0; } static void -win32_cfgmgr32_cleanup_dev(struct pci_dev *d) +win32_cfgmgr32_init(struct pci_access *a UNUSED) { - struct pci_dev *dcfg = d->aux; - - if (dcfg) - pci_free_dev(dcfg); } static void -win32_cfgmgr32_init(struct pci_access *a) +win32_cfgmgr32_cleanup(struct pci_access *a UNUSED) { - char *cfgmethod = pci_get_param(a, "win32.cfgmethod"); - struct pci_access *acfg; - - if (strcmp(cfgmethod, "") == 0 || - strcmp(cfgmethod, "auto") == 0) - { - acfg = pci_clone_access(a); - acfg->method = PCI_ACCESS_AUTO; - } - else if (strcmp(cfgmethod, "none") == 0 || - strcmp(cfgmethod, "win32-cfgmgr32") == 0) - { - if (a->writeable) - a->error("Write access requested but option win32.cfgmethod was not set."); - return; - } - else - { - int m = pci_lookup_method(cfgmethod); - if (m < 0) - a->error("Option win32.cfgmethod is set to an unknown access method \"%s\".", cfgmethod); - acfg = pci_clone_access(a); - acfg->method = m; - } - - a->debug("Loading config space access method...\n"); - if (!pci_init_internal(acfg, PCI_ACCESS_WIN32_CFGMGR32)) - { - pci_cleanup(acfg); - a->debug("Cannot find any working config space access method.\n"); - if (a->writeable) - a->error("Write access requested but no usable access method found."); - return; - } - - a->aux = acfg; -} - -static void -win32_cfgmgr32_cleanup(struct pci_access *a) -{ - struct pci_access *acfg = a->aux; - - if (acfg) - pci_cleanup(acfg); } struct pci_methods pm_win32_cfgmgr32 = { "win32-cfgmgr32", "Win32 device listing via Configuration Manager", - win32_cfgmgr32_config, + NULL, /* config */ win32_cfgmgr32_detect, win32_cfgmgr32_init, win32_cfgmgr32_cleanup, win32_cfgmgr32_scan, win32_cfgmgr32_fill_info, - win32_cfgmgr32_read, + pci_emulated_read, /* Reading of config space is not supported via cfgmgr32. */ win32_cfgmgr32_write, NULL, /* read_vpd */ NULL, /* init_dev */ - win32_cfgmgr32_cleanup_dev, + NULL, /* cleanup_dev */ };
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lib/win32-kldbg.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/lib/win32-kldbg.c
Changed
@@ -15,10 +15,6 @@ #include "internal.h" #include "i386-io-windows.h" -#ifndef ERROR_NOT_FOUND -#define ERROR_NOT_FOUND 1168 -#endif - #ifndef LOAD_LIBRARY_AS_IMAGE_RESOURCE #define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x20 #endif
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/ls-tree.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/ls-tree.c
Changed
@@ -12,7 +12,7 @@ #include "lspci.h" -struct bridge host_bridge = { NULL, NULL, NULL, NULL, NULL, NULL, ~0, ~0, ~0, ~0, NULL }; +struct bridge host_bridge = { NULL, NULL, NULL, NULL, NULL, 0, ~0, 0, ~0, NULL }; static struct bus * find_bus(struct bridge *b, unsigned int domain, unsigned int n) @@ -73,19 +73,10 @@ bus = new_bus(parent->bridge, p->domain, p->bus); } - if (!bus && b == &host_bridge) - { - for (b=b->child; b; b=b->prev) - if (b->domain == (unsigned)p->domain) - break; - if (!b) - b = &host_bridge; - } - if (!bus && ! (bus = find_bus(b, p->domain, p->bus))) { struct bridge *c; - for (c=b->child; c; c=c->prev) + for (c=b->child; c; c=c->next) if (c->domain == (unsigned)p->domain && c->secondary <= p->bus && p->bus <= c->subordinate) { insert_dev(d, c); @@ -109,34 +100,9 @@ struct device *d; struct bridge **last_br, *b; - last_br = &host_bridge.chain; - - /* Build list of top level domain bridges */ - - for (d=first_dev; d; d=d->next) - { - for (b=host_bridge.chain; b; b=b->chain) - if (b->domain == (unsigned)d->dev->domain) - break; - if (b) - continue; - b = xmalloc(sizeof(struct bridge)); - b->domain = d->dev->domain; - b->primary = ~0; - b->secondary = 0; - b->subordinate = ~0; - *last_br = b; - last_br = &b->chain; - b->prev = b->next = b->child = NULL; - b->first_bus = NULL; - b->last_bus = NULL; - b->br_dev = NULL; - b->chain = NULL; - pacc->debug("Tree: domain %04x\n", b->domain); - } - /* Build list of bridges */ + last_br = &host_bridge.chain; for (d=first_dev; d; d=d->next) { struct pci_dev *dd = d->dev; @@ -147,20 +113,21 @@ { b = xmalloc(sizeof(struct bridge)); b->domain = dd->domain; - b->primary = dd->bus; if (ht == PCI_HEADER_TYPE_BRIDGE) { + b->primary = get_conf_byte(d, PCI_PRIMARY_BUS); b->secondary = get_conf_byte(d, PCI_SECONDARY_BUS); b->subordinate = get_conf_byte(d, PCI_SUBORDINATE_BUS); } else { + b->primary = get_conf_byte(d, PCI_CB_PRIMARY_BUS); b->secondary = get_conf_byte(d, PCI_CB_CARD_BUS); b->subordinate = get_conf_byte(d, PCI_CB_SUBORDINATE_BUS); } *last_br = b; last_br = &b->chain; - b->prev = b->next = b->child = NULL; + b->next = b->child = NULL; b->first_bus = NULL; b->last_bus = NULL; b->br_dev = d; @@ -188,7 +155,7 @@ b->subordinate = b->secondary; *last_br = b; last_br = &b->chain; - b->prev = b->next = b->child = NULL; + b->next = b->child = NULL; b->first_bus = NULL; b->last_bus = NULL; b->br_dev = parent; @@ -200,7 +167,7 @@ /* Create a bridge tree */ - for (b=host_bridge.chain; b; b=b->chain) + for (b=&host_bridge; b; b=b->chain) { struct device *br_dev = b->br_dev; struct bridge *c, *best = NULL; @@ -214,19 +181,19 @@ for (c=&host_bridge; c; c=c->chain) if (c != b && (c == &host_bridge || b->domain == c->domain) && b->primary >= c->secondary && b->primary <= c->subordinate && - (!best || best == &host_bridge || best->subordinate - best->primary > c->subordinate - c->primary)) + (!best || best->subordinate - best->primary > c->subordinate - c->primary)) best = c; if (best) { - b->prev = best->child; + b->next = best->child; best->child = b; } } /* Insert secondary bus for each bridge */ - for (b=host_bridge.chain; b; b=b->chain) - if (b->br_dev && !find_bus(b, b->domain, b->secondary)) + for (b=&host_bridge; b; b=b->chain) + if (!find_bus(b, b->domain, b->secondary)) new_bus(b, b->domain, b->secondary); /* Create bus structs and link devices */ @@ -292,7 +259,7 @@ char namebuf256; p = tree_printf(line, p, "%02x.%x", q->dev, q->func); - for (b=host_bridge.chain; b; b=b->chain) + for (b=&host_bridge; b; b=b->chain) if (b->br_dev == d) { if (b->secondary == 0) @@ -312,18 +279,6 @@ print_it(line, p); } -static struct pci_filter * -get_filter_for_child(struct pci_filter *filter, struct device *d) -{ - if (!filter) - return NULL; - - if (pci_filter_match(filter, d->dev)) - return NULL; - - return filter; -} - static int check_bus_filter(struct pci_filter *filter, struct bus *b); @@ -339,7 +294,7 @@ if (pci_filter_match(filter, d->dev)) return 1; - for (br = host_bridge.chain; br; br = br->chain) + for (br = &host_bridge; br; br = br->chain) if (br->br_dev == d) { for (b = br->first_bus; b; b = b->sibling) @@ -376,34 +331,32 @@ if (check_dev_filter(filter, b->first_dev)) { p = tree_printf(line, p, "--"); - show_tree_dev(get_filter_for_child(filter, b->first_dev), b->first_dev, line, p); + show_tree_dev(filter, b->first_dev, line, p); } else print_it(line, p); } else { - int i, count = 0; + int empty = 1; struct device *d = b->first_dev; - - do - { - if (check_dev_filter(filter, d)) - count++; - d = d->bus_next; - } - while (d); - - for (i = 0, d = b->first_dev; d; d = d->bus_next) + while (d->bus_next) + { + if (check_dev_filter(filter, d)) + { + char *p2 = tree_printf(line, p, "+-"); + show_tree_dev(filter, d, line, p2);
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lspci.c -> _service:tar_scm:pciutils-3.9.0.tar.gz/lspci.c
Changed
@@ -290,7 +290,7 @@ { int c; struct pci_dev *p = d->dev; - char classbuf256, devbuf256; + char classbuf128, devbuf128; show_slot_name(d); printf(" %s: %s", @@ -1009,7 +1009,7 @@ show_machine(struct device *d) { struct pci_dev *p = d->dev; - char classbuf256, vendbuf256, devbuf256, svbuf256, sdbuf256; + char classbuf128, vendbuf128, devbuf128, svbuf128, sdbuf128; char *dt_node, *iommu_group; if (verbose)
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/lspci.h -> _service:tar_scm:pciutils-3.9.0.tar.gz/lspci.h
Changed
@@ -88,7 +88,7 @@ struct bridge { struct bridge *chain; /* Single-linked list of bridges */ - struct bridge *next, *prev, *child; /* Tree of bridges */ + struct bridge *next, *child; /* Tree of bridges */ struct bus *first_bus, *last_bus; /* List of buses connected to this bridge */ unsigned int domain; unsigned int primary, secondary, subordinate; /* Bus numbers */
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/pci.ids -> _service:tar_scm:pciutils-3.9.0.tar.gz/pci.ids
Changed
@@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2023.04.10 -# Date: 2023-04-10 20:08:02 +# Version: 2022.11.19 +# Date: 2022-11-19 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -49,8 +49,6 @@ 7a19 PCI-to-PCI Bridge 7a24 OHCI USB Controller 7a29 PCI-to-PCI Bridge -0018 Fn-Link Technology Limited - 6252 6252CPUB 802.11ax PCIe Wireless Network Adapter 001c PEAK-System Technik GmbH 0001 PCAN-PCI CAN-Bus controller 001c 0004 2 Channel CAN Bus SJC1000 @@ -81,15 +79,6 @@ 021b Compaq Computer Corporation 8139 HNE-300 (RealTek RTL8139c) iPaq Networking 025e Solidigm - 0b60 NVMe DC SSD Sentinel Rock Plus controller - 025e 8208 NVMe DC SSD U.2 15mm D7-P5810 - 025e d408 NVMe DC SSD U.2 15mm D5-P5430 - 025e d40c NVMe DC SSD E1.S 9.5mm D5-P5430 - 025e d419 NVMe DC SSD E3.S 7.5mm D5-P5430 - 025e d808 NVMe DC SSD U.2 15mm D5-P5336 - 025e d819 NVMe DC SSD E3.S 7.5mm D5-P5336 - 025e d81d NVMe DC SSD E1.L 9.5mm D5-P5336 - 0b70 NVMe DC SSD Yorktown controller 0270 Hauppauge computer works Inc. (Wrong ID) 0291 Davicom Semiconductor, Inc. (Wrong ID) # SpeedStream is Efficient Networks, Inc, a Siemens Company @@ -104,8 +93,6 @@ 0432 SCM Microsystems, Inc. 0001 Pluto2 DVB-T Receiver for PCMCIA EasyWatch MobilSet 0497 Dell Inc. (wrong ID) -060e Lightelligence - 0001 Hummingbird ES 0675 Dynalink 1700 IS64PH ISDN Adapter 1702 IS64PH ISDN Adapter @@ -408,7 +395,8 @@ 103c 3108 Single Channel Ultra320 SCSI HBA G2 103c 322a SC11Xe Ultra320 Single Channel PCIe x4 SCSI Host Bus Adapter (412911-B21) 124b 1170 PMC-USCSI320 - 15ad 1976 LSI Logic Parallel SCSI Controller (emulated) +# VMware's emulation of this device. Was missing from the list. + 15ad 1976 LSI Logic Parallel SCSI Controller 1734 1052 PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) 0031 53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI 0032 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI @@ -772,9 +760,6 @@ 1028 2142 HBA465e Adapter 1028 2209 HBA465i Adapter 1028 220a HBA465i Front - 15d9 1d03 AOC-S4116L-H16IR (16DD/96DD) RAID Adapter - 15d9 1d07 AOC-S4016L-L16IT Storage Adapter - 15d9 1d08 AOC-S4016L-L16IR Storage Adapter 1d49 020a ThinkSystem 450W-16e SAS/SATA PCIe Gen4 24Gb HBA 00ab SAS3516 Fusion-MPT Tri-Mode RAID On Chip (ROC) # 8 Internal and 8 External port channel 9400 HBA @@ -874,9 +859,6 @@ 1028 2175 HBA350i Adapter 1028 2197 HBA350i MM LP 1028 2212 HBA355e-s Adapter - 15d9 1b64 SCC-B8SB80-B1 (NI22) Storage Controller Card - 15d9 1b65 AOC-S3816L-L16iT (NI22) Storage Adapter - 15d9 1b99 AOC-S3808L-L8iT Storage Adapter 1d49 0205 ThinkSystem 440-16i SAS/SATA PCIe Gen4 12Gb Internal HBA 1d49 0206 ThinkSystem 440-16e SAS/SATA PCIe Gen4 12Gb HBA 1d49 0207 ThinkSystem 440-8i SAS/SATA PCIe Gen4 12Gb HBA @@ -993,8 +975,6 @@ 1000 4002 MegaRAID 9561-16i # 9560 8 internal port RAID controller 1000 4010 MegaRAID 9560-8i -# 9550 8 internal port RAID controller - 1000 4015 MegaRAID 9550-8i # 9580 8 internal & 8 external port RAID controller 1000 4020 MegaRAID 9580-8i8e # MegaRAID 9562-16i 9562 16 internal port RAID controller @@ -1005,9 +985,6 @@ 1028 1ae3 PERC H755 MX 1028 2171 PERC H750 Mini 1028 2176 PERC H750 Adapter - 15d9 1b66 AOC-S3908L-H8iR RAID Adapter - 15d9 1b67 AOC-S3916L-H16iR RAID Adapter - 15d9 1c06 AOC-S3916L-H16iR-32DD+ RAID Adapter 1d49 060a ThinkSystem RAID 940-8i 4GB Flash PCIe Gen4 12Gb Adapter 1d49 060b ThinkSystem RAID 940-8i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060c ThinkSystem RAID 940-16i 8GB Flash PCIe Gen4 12Gb Adapter @@ -1031,10 +1008,6 @@ 1028 2174 PERC H350 Mini 1028 2177 PERC H350 Adapter 1028 2199 PERC H350 Mini LP - 15d9 1b9d AOC-S3816L-L16IR Storage Adapter - 15d9 1b9f AOC-S3816L-L8IR Storage Adapter - 15d9 1c6d AOC-S3808L-L8IR Storage Adapter - 15d9 1c6e AOC-SLG4-2H8M2 Storage Adapter 1d49 0505 ThinkSystem RAID 540-8i PCIe Gen4 12Gb Adapter 1d49 0506 ThinkSystem RAID 540-16i PCIe Gen4 12Gb Adapter 10e7 MegaRAID 12GSAS/PCIe Unsupported SAS38xx @@ -1064,23 +1037,6 @@ 1000 a080 PEX88080 80 lane/port PCIe Gen 4 Switch 1000 a096 PEX88096 98 lane/port PCIe Gen 4.0 Switch c012 PEX880xx PCIe Gen 4 Switch -# Virtual endpoint used in Broadcom synthetic PCIe switches for resource reservation - 1000 100b PEX88000 PCIe Gen 4 Virtual Upstream/Downstream Port -# For secure part version of this chip - 1000 2004 PEX88000 Virtual PCIe TWC/NT2 Endpoint -# For secure part version of this chip - 1000 2005 PEX88000 Virtual PCIe gDMA Endpoint -# For secure part version of this chip - 1000 a024 PEX88024 24 lane/port PCIe Gen 4.0 Switch -# For secure part version of this chip - 1000 a032 PEX88032 32 lane/port PCIe Gen 4.0 Switch -# For secure part version of this chip - 1000 a048 PEX88048 48 lane/port PCIe Gen 4.0 Switch - 1000 a064 PEX88064 64 lane/port PCIe Gen 4.0 Switch -# For secure part version of this chip - 1000 a080 PEX88080 80 lane/port PCIe Gen 4.0 Switch -# For secure part version of this chip - 1000 a096 PEX88096 96 lane/port PCIe Gen 4.0 Switch 1d49 0003 ThinkSystem 1611-8P PCIe Gen4 NVMe Switch Adapter c030 PEX890xx PCIe Gen 5 Switch 1000 0024 PEX89024 PCIe Gen 5 24 port/lane Switch Upstream/Downstream Port @@ -1093,19 +1049,6 @@ 1000 100b PEX89000 PCIe Gen 5 Virtual Upstream/Downstream Port 1000 2004 PEX89000 Virtual PCIe TWC/NT 2.0 Endpoint 1000 2005 PEX89000 Virtual PCIe gDMA Endpoint -# Lower lane count PEX89000 switch - c034 PEX890xx PCIe Gen 5 Switch -# Lower lane count PEX89000 switch - 1000 0024 PEX89024 PCIe Gen 5 24 port/lane Switch Upstream/Downstream Port - 1000 0032 PEX89032 PCIe Gen 5 32 port/lane Switch Upstream/Downstream Port -# Lower lane count PEX89000 switch - 1000 0048 PEX89048 PCIe Gen 5 48 port/lane Switch Upstream/Downstream Port -# Lower lane count PEX89000 switch - 1000 100b PEX89000 PCIe Gen 5 Virtual Upstream/Downstream Port -# Lower lane count PEX89000 switch - 1000 2004 PEX89000 Virtual PCIe TWC/NT 2.0 Endpoint -# Lower lane count PEX89000 switch - 1000 2005 PEX89000 Virtual PCIe gDMA Endpoint 1001 Kolter Electronic 0010 PCI 1616 Measurement card with 32 digital I/O lines 0011 OPTO-PCI Opto-Isolated digital I/O board @@ -1157,13 +1100,11 @@ 1551 Arlene 1552 Pooky 1561 Anubis - 15bf Phoenix1 - 15c8 Phoenix2 + 15bf Phoenix 15d8 Picasso/Raven 2 Radeon Vega Series / Radeon Vega Mobile Series 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 3181 ThinkCentre M75n IoT 17aa 5124 ThinkPad E595 - 1dc2 2209 Avita Pura 14 Notebook ea50 cc10 RXi2-BP 15dd Raven Ridge Radeon Vega Series / Radeon Vega Mobile Series 103c 83c6 Radeon Vega 8 Mobile @@ -1179,7 +1120,6 @@ 103c 8615 Pavilion Laptop 15-cw1xxx ea50 ce19 mCOM10-L1900 15e7 Barcelo - 103c 8b17 ProBook 445 G9/455 G9 Ryzen 7 Integrated Radeon GPU 15ff Fenghuang Zhongshan Subor Z+ 1607 Arden 1636 Renoir @@ -1374,7 +1314,7 @@ 1043 8445 M5A78L LE 105b 0e13 N15235/A74MX mainboard / AMD SB700 1179 ff50 Satellite P305D-S8995E - 1458 a022 GA-770/78-series motherboard + 1458 a022 GA-MA770-DS3rev2.0 Motherboard 1458 a102 GA-880GMA-USB3 1462 7596 760GM-E51(MS-7596) Motherboard 17f2 5000 KI690-AM2 Motherboard @@ -1387,7 +1327,7 @@ 1043 8389 M4A785TD Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 1179 ff50 Satellite P305D-S8995E - 1458 4385 GA-770/78-series motherboard + 1458 4385 GA-MA770-DS3rev2.0 Motherboard 1462 7368 K9AG Neo2 1462 7596 760GM-E51(MS-7596) Motherboard 15d9 a811 H8DGU @@ -1449,7 +1389,7 @@ 1043 8443 M5A88-V EVO 1043 84dd M5A99X EVO (R1.0) SB950 105b 0e13 N15235/A74MX mainboard / AMD SB700 - 1458 b002 GA-78/880-series motherboard + 1458 b002 GA-880GMA-USB3 174b 1001 PURE Fusion Mini 4392 SB7x0/SB8x0/SB9x0 SATA Controller Non-RAID5 mode 105b 0e13 N15235/A74MX mainboard / AMD SB700 @@ -1463,7 +1403,7 @@
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/pci.ids.old -> _service:tar_scm:pciutils-3.9.0.tar.gz/pci.ids.old
Changed
@@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2022.11.19 -# Date: 2022-11-19 03:15:02 +# Version: 2022.04.16 +# Date: 2022-04-16 00:17:00 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -70,15 +70,11 @@ 018a LevelOne 0106 FPC-0106TX misprogrammed RTL81xx 01de Oxide Computer Company - 0000 Propolis NVMe Controller - 0001 Propolis xHCI Controller - 0002 Propolis PCI-PCI Bridge # probably misprogrammed Intel Atom C2338 on Dell 0K8Y0N board 0200 Dell (wrong ID) # 021b is not Compaq but there is a board misprogrammed 021b Compaq Computer Corporation 8139 HNE-300 (RealTek RTL8139c) iPaq Networking -025e Solidigm 0270 Hauppauge computer works Inc. (Wrong ID) 0291 Davicom Semiconductor, Inc. (Wrong ID) # SpeedStream is Efficient Networks, Inc, a Siemens Company @@ -110,7 +106,6 @@ 9100 JM9100 0731 9101 JM9100 0731 9102 JM9100-I - 0731 9103 JM9100M 910a JH910 0731 910a JH910 0731 910b JH910-I @@ -135,7 +130,6 @@ 930a JH930-I 0731 930a JH930-I 0731 930b JH930-M - 0731 930c JH930 930b JH930-M 0777 Ubiquiti Networks, Inc. 0795 Wired Inc. @@ -160,7 +154,6 @@ 0905 R1T3 Single T3 Digital Telephony Card 0906 RCB24FXX 24-channel modular analog telephony card 0a06 RCB672FXX 672-channel modular analog telephony card -0bae Bachmann electronic GmbH 0ccd Preferred Networks, Inc. 0e11 Compaq Computer Corporation 0001 PCI to EISA Bridge @@ -265,9 +258,7 @@ b1a4 NC7131 Gigabit Server Adapter b200 Memory Hot-Plug Controller b203 Integrated Lights Out Controller - 103c 3305 iLO2 b204 Integrated Lights Out Processor - 103c 3305 iLO2 c000 Remote Insight Lights-Out Edition f130 NetFlex-3/P ThunderLAN 1.0 f150 NetFlex-3/P ThunderLAN 2.3 @@ -496,7 +487,6 @@ 1028 1f4f PERC H730P Slim 1028 1f54 PERC FD33xD 1028 1fd1 PERC H730P MX - 1734 11f6 PRAID EP400i 17aa 1052 ThinkServer RAID 720i 17aa 1053 ThinkServer RAID 720ix 1bd4 0014 12G SAS3108 2G @@ -564,7 +554,6 @@ 1014 040e ServeRAID H1110 0071 MR SAS HBA 2004 0072 SAS2008 PCI-Express Fusion-MPT SAS-2 Falcon - 1000 3020 9211-8i 1000 3040 9210-8i 1000 3080 9200-8e LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA 1000 30b0 9200-8e LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA @@ -744,8 +733,6 @@ 1000 46a0 MegaRAID 9660-24i Tri-Mode Storage Adapter 1000 46c0 eHBA 9680W-16e Tri-Mode Storage Adapter 1000 46d0 eHBA 9600-8i8e Tri-Mode Storage Adapter -# eHBA 9602W-16e Tri-Mode Storage Adapter - 1000 46e0 eHBA 9602W-16e Tri-Mode Storage Adapter 1028 2114 PERC H965i Adapter 1028 2115 PERC H965i Front 1028 2117 PERC H965i MX @@ -756,11 +743,8 @@ 1028 213e PERC H765i MX 1028 213f PERC H365i Adapter 1028 2140 PERC H365i Front - 1028 2141 PERC H365i MX - 1028 2142 HBA465e Adapter - 1028 2209 HBA465i Adapter - 1028 220a HBA465i Front - 1d49 020a ThinkSystem 450W-16e SAS/SATA PCIe Gen4 24Gb HBA + 1028 2141 PERC H360 MX + 1028 2142 HBA 465e Adapter 00ab SAS3516 Fusion-MPT Tri-Mode RAID On Chip (ROC) # 8 Internal and 8 External port channel 9400 HBA 1000 3040 HBA 9400-8i8e @@ -858,7 +842,6 @@ 1028 2170 HBA350i MM 1028 2175 HBA350i Adapter 1028 2197 HBA350i MM LP - 1028 2212 HBA355e-s Adapter 1d49 0205 ThinkSystem 440-16i SAS/SATA PCIe Gen4 12Gb Internal HBA 1d49 0206 ThinkSystem 440-16e SAS/SATA PCIe Gen4 12Gb HBA 1d49 0207 ThinkSystem 440-8i SAS/SATA PCIe Gen4 12Gb HBA @@ -880,8 +863,6 @@ 1d49 0002 ThinkSystem 810-4P NVMe Switch Adapter 02b1 Virtual Endpoint on PCIe Switch (9749) 1d49 0004 ThinkSystem 1610-8P NVMe Switch Adapter -# Virtual endpoint used in Broadcom synthetic PCIe switches for resource reservation - 02b2 Virtual PCIe Placeholder Endpoint 0407 MegaRAID 1000 0530 MegaRAID 530 SCSI 320-0X RAID Controller 1000 0531 MegaRAID 531 SCSI 320-4X RAID Controller @@ -1002,7 +983,6 @@ 10e4 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 10e5 MegaRAID 12GSAS/PCIe SAS38xx 10e6 MegaRAID 12GSAS/PCIe Secure SAS38xx - 1000 40e0 MegaRAID 9540-2M2 1028 2172 PERC H355 Adapter 1028 2173 PERC H355 Front 1028 2174 PERC H350 Mini @@ -1026,29 +1006,10 @@ 8086 0523 MegaRAID RAID Controller SRCS16 3050 SAS2008 PCI-Express Fusion-MPT SAS-2 6001 DX1 Multiformat Broadcast HD/SD Encoder/Decoder - c010 PEX880xx PCIe Gen 4 Switch - 1000 100b PEX88000 PCIe Gen 4 Virtual Upstream/Downstream Port - 1000 2004 PEX88000 Virtual PCIe TWC/NT2 Endpoint - 1000 2005 PEX88000 Virtual PCIe gDMA Endpoint - 1000 a024 PEX88024 24 lane/port PCIe Gen 4.0 Switch - 1000 a032 PEX88032 32 lane/port PCIe Gen 4 Switch - 1000 a048 PEX88048 50 lane/port PCIe Gen 4.0 Switch - 1000 a064 PEX88064 64 lane/port PCIe Gen 4 Switch - 1000 a080 PEX88080 80 lane/port PCIe Gen 4 Switch - 1000 a096 PEX88096 98 lane/port PCIe Gen 4.0 Switch + c010 PEX88048 50 lane, 50 port, PCI Express Gen 4.0 ExpressFabric Platform c012 PEX880xx PCIe Gen 4 Switch 1d49 0003 ThinkSystem 1611-8P PCIe Gen4 NVMe Switch Adapter c030 PEX890xx PCIe Gen 5 Switch - 1000 0024 PEX89024 PCIe Gen 5 24 port/lane Switch Upstream/Downstream Port - 1000 0032 PEX89032 PCIe Gen 5 32 port/lane Switch Upstream/Downstream Port - 1000 0048 PEX89048 PCIe Gen 5 48 port/lane Switch Upstream/Downstream Port - 1000 0072 PEX89072 PCIe Gen 5 36 port/72 lane Switch Upstream/Downstream Port - 1000 0088 PEX89088 PCIe Gen 5 44 port/88 lane Switch Upstream/Downstream Port - 1000 0104 PEX89104 PCIe Gen 5 52 port/104 lane Switch Upstream/Downstream Port - 1000 0144 PEX89144 PCIe Gen 5 72 port/144 lane Switch Upstream/Downstream Port - 1000 100b PEX89000 PCIe Gen 5 Virtual Upstream/Downstream Port - 1000 2004 PEX89000 Virtual PCIe TWC/NT 2.0 Endpoint - 1000 2005 PEX89000 Virtual PCIe gDMA Endpoint 1001 Kolter Electronic 0010 PCI 1616 Measurement card with 32 digital I/O lines 0011 OPTO-PCI Opto-Isolated digital I/O board @@ -1088,19 +1049,16 @@ 131b Kaveri Radeon R4 Graphics 131c Kaveri Radeon R7 Graphics 131d Kaveri Radeon R6 Graphics - 13e9 Ariel/Navi10Lite - 13f9 Oberon/Navi12Lite - 13fe Cyan Skillfish BC-250 + 13e9 Ariel + 13fe Cyan Skillfish 1478 Navi 10 XL Upstream Port of PCI Express Switch 1479 Navi 10 XL Downstream Port of PCI Express Switch - 1506 Mendocino 154c Kryptos Radeon RX 350 1462 7c28 MS-7C28 Motherboard 154e Garfield 1551 Arlene 1552 Pooky 1561 Anubis - 15bf Phoenix 15d8 Picasso/Raven 2 Radeon Vega Series / Radeon Vega Mobile Series 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 3181 ThinkCentre M75n IoT @@ -1124,15 +1082,12 @@ 1607 Arden 1636 Renoir 1637 Renoir Radeon High Definition Audio Controller - 1638 Cezanne Radeon Vega Series / Radeon Vega Mobile Series - 1043 16c2 Radeon Vega 8 + 1638 Cezanne # Used in the Steam Deck 163f VanGogh AMD Custom GPU 0405 1640 Rembrandt Radeon High Definition Audio Controller 164c Lucienne 164d Rembrandt - 164e Raphael - 164f Phoenix 1681 Rembrandt Radeon 680M 1714 BeaverCreek HDMI Audio Radeon HD 6500D and 6400G-6600G series 103c 168b ProBook 4535s @@ -1649,7 +1604,6 @@ 1028 00bb Latitude CPx 1179 ff00 Satellite 1715XCDS laptop 13bd 1019 PC-AR10 - 4c4e Rage Mobility L AGP 2x
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/pcilib.man -> _service:tar_scm:pciutils-3.9.0.tar.gz/pcilib.man
Changed
@@ -54,26 +54,6 @@ .B mmio-conf1-ext.addrs parameter. .TP -.B ecam -Direct hardware access via PCIe ECAM (Enhanced Configuration Access Mechanism). -Available on all PCIe-compliant hardware. Requires root privileges and access -to physical memory (on Linux systems disabled CONFIG_STRICT_DEVMEM option). On -ACPI compatible systems is ECAM mapping read from the MCFG table specified by the -.B ecam.acpimcfg -parameter. On EFI compatible systems, ACPI MCFG table can be located in physical -memory via EFI system table specified by the -.B ecam.efisystab -parameter. On FreeBSD/NetBSD systems, physical address of ACPI MCFG table can be -located by kenv or sysctl interface when the -.B ecam.bsd -parameter is not disabled. On x86 BIOS compatible systems, ACPI MCFG table can -be located in physical memory by scanning x86 BIOS memory when the -.B ecam.x86bios -parameter is not disabled. Alternatively ECAM mappings can be specified by the -.B ecam.addrs -parameter which takes precedence over ACPI MCFG table. This option is required -on systems without ACPI and also on systems without EFI or x86 BIOS. -.TP .B fbsd-device The .B /dev/pci @@ -106,12 +86,8 @@ via cfgmgr32.dll system library. This method does not require any special Administrator rights or privileges. Configuration Manager provides only basic information about devices, assigned resources and device tree structure. There -is no access to the PCI configuration space but libpci either tries to use -other access method to access configuration space or it provides read-only -virtual emulation based on information from Configuration Manager. Other -access method can be chosen by the -.B win32.cfgmethod -parameter. By default the first working one is selected (if any). Starting +is no access to the PCI configuration space but libpci provides read-only +virtual emulation based on information from Configuration Manager. Starting with Windows 8 (NT 6.2) it is not possible to retrieve resources from 32-bit application or library on 64-bit system. .TP @@ -189,44 +165,6 @@ It has same format as .B mmio-conf1.addrs parameter. -.TP -.B ecam.addrs -Physical addresses of PCIe ECAM mappings. Each mapping must contains first PCI -bus number and physical address where mapping starts. And then it may contain -the length of the mapping, the last PCI bus number and PCI domain number. When -the last PCI bus number is not provided then it is calculated from the length -of the mapping or it is assumed 0xff. When length of the mapping is provided -then it is calculated from the last PCI bus number. And when PCI domain is not -provided then 0x0 is assumed. All numbers must be supplied in hexadecimal form -(leading prefix 0x is not required). Multiple mappings are separated by commas. -Format: domain:start_bus-end_bus:start_addr+length,... -.TP -.B ecam.acpimcfg -Path to the ACPI MCFG table. Processed by the -.BR glob (3) -function, so it may contain wildcards (*). -.TP -.B ecam.efisystab -Path to the EFI system table. -.TP -.B ecam.bsd -When not set to 0 then use BSD kenv or sysctl to find ACPI MCFG table. Default -value is 1 on BSD systems. -.TP -.B ecam.x86bios -When not set to 0 then scan x86 BIOS memory for ACPI MCFG table. Default value -is 1 on x86 systems. -.TP -.B win32.cfgmethod -Config space access method to use with win32-cfgmgr32 on Windows systems. Value -.I auto -or an empty string selects the first access method which supports access -to the config space on Windows. Value -.I win32-cfgmgr32 -or -.I none -only builds a read-only virtual emulated config space with information from the -Configuration Manager. .SS Parameters for resolving of ID's via DNS .TP
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/pciutils.lsm -> _service:tar_scm:pciutils-3.9.0.tar.gz/pciutils.lsm
Changed
@@ -1,13 +1,13 @@ Begin3 Title: The PCI Utilities -Version: 3.10.0 -Entered-date: 230501 +Version: 3.9.0 +Entered-date: 221120 Description: This package contains various utilities for inspecting and setting of devices connected to the PCI bus. Keywords: kernel, pci, lspci, setpci, libpci Author: mj@ucw.cz (Martin Mares) Maintained-by: mj@ucw.cz (Martin Mares) -Primary-site: ftp.ucw.cz pub/mj/linux/pci/pciutils-3.10.0.tar.gz -Alternate-site: ftp.kernel.org pub/software/utils/pciutils/pciutils-3.10.0.tar.gz +Primary-site: ftp.ucw.cz pub/mj/linux/pci/pciutils-3.9.0.tar.gz +Alternate-site: ftp.kernel.org pub/software/utils/pciutils/pciutils-3.9.0.tar.gz Copying-policy: GPL End
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/pciutils.spec -> _service:tar_scm:pciutils-3.9.0.tar.gz/pciutils.spec
Changed
@@ -1,5 +1,5 @@ Name: pciutils -Version: 3.10.0 +Version: 3.9.0 Release: 1 Source: http://mj.ucw.cz/download/linux/pci/%{name}-%{version}.tar.gz Copyright: GNU GPL
View file
_service:tar_scm:pciutils-3.10.0.tar.gz/update-pciids.sh -> _service:tar_scm:pciutils-3.9.0.tar.gz/update-pciids.sh
Changed
@@ -20,23 +20,23 @@ DECOMP="cat" SRC="$SRC.gz" GREP=zgrep -elif command -v bzip2 >/dev/null 2>&1 ; then +elif which bzip2 >/dev/null 2>&1 ; then DECOMP="bzip2 -d" SRC="$SRC.bz2" -elif command -v gzip >/dev/null 2>&1 ; then +elif which gzip >/dev/null 2>&1 ; then DECOMP="gzip -d" SRC="$SRC.gz" else DECOMP="cat" fi -if command -v curl >/dev/null 2>&1 ; then +if which curl >/dev/null 2>&1 ; then DL="curl -o $DEST.new $SRC" ${quiet} && DL="$DL -s -S" -elif command -v wget >/dev/null 2>&1 ; then +elif which wget >/dev/null 2>&1 ; then DL="wget --no-timestamping -O $DEST.new $SRC" ${quiet} && DL="$DL -q" -elif command -v lynx >/dev/null 2>&1 ; then +elif which lynx >/dev/null 2>&1 ; then DL="eval lynx -source $SRC >$DEST.new" else echo >&2 "update-pciids: cannot find curl, wget or lynx"
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2