mirror of
https://github.com/systemd/systemd
synced 2026-04-23 23:44:50 +02:00
Compare commits
20 Commits
f777e745a7
...
0017be9d77
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0017be9d77 | ||
|
|
b586cbdefc | ||
|
|
47c6454d76 | ||
|
|
f1589efb7f | ||
|
|
c53e6f641e | ||
|
|
f73d689587 | ||
|
|
88a65c936e | ||
|
|
b64f6d841d | ||
|
|
2350712e32 | ||
|
|
f09f6dc2c8 | ||
|
|
af9ae75026 | ||
|
|
3f8e42c038 | ||
|
|
d412691a91 | ||
|
|
f7a7a5e267 | ||
|
|
92067ab672 | ||
|
|
85e17916d3 | ||
|
|
d486a0eaaa | ||
|
|
85f4ae2f50 | ||
|
|
d04f033111 | ||
|
|
0d1506d4a8 |
3
NEWS
3
NEWS
@ -4,6 +4,9 @@ CHANGES WITH 251 in spe:
|
||||
|
||||
Backwards-incompatible changes:
|
||||
|
||||
* The minimum kernel version required has been bumped from 3.13 to 3.15,
|
||||
and CLOCK_BOOTTIME is now assumed to always exist.
|
||||
|
||||
* In v250, a systemd-networkd feature that automatically configures
|
||||
routes to addresses specified in AllowedIPs= was added and enabled by
|
||||
default. However, this causes network connectivity issues in many
|
||||
|
||||
2415
hwdb.d/20-OUI.hwdb
2415
hwdb.d/20-OUI.hwdb
File diff suppressed because it is too large
Load Diff
@ -51,6 +51,9 @@ acpi:ATML*:
|
||||
acpi:AUTH*:
|
||||
ID_VENDOR_FROM_DATABASE=AuthenTec
|
||||
|
||||
acpi:AWDZ*:
|
||||
ID_VENDOR_FROM_DATABASE=Shanghai Aiwei Electronic Technology Co., Ltd.
|
||||
|
||||
acpi:BABA*:
|
||||
ID_VENDOR_FROM_DATABASE=Alibaba Co., Ltd.
|
||||
|
||||
@ -219,6 +222,9 @@ acpi:MSHW*:
|
||||
acpi:MXIM*:
|
||||
ID_VENDOR_FROM_DATABASE=Maxim Integrated
|
||||
|
||||
acpi:NOLO*:
|
||||
ID_VENDOR_FROM_DATABASE=NOLO VR
|
||||
|
||||
acpi:NVDA*:
|
||||
ID_VENDOR_FROM_DATABASE=Nvidia
|
||||
|
||||
@ -273,6 +279,9 @@ acpi:SECC*:
|
||||
acpi:SHRP*:
|
||||
ID_VENDOR_FROM_DATABASE=Sharp Corporation
|
||||
|
||||
acpi:SILC*:
|
||||
ID_VENDOR_FROM_DATABASE=Silicom Ltd. Connectivity Solutions
|
||||
|
||||
acpi:SNSL*:
|
||||
ID_VENDOR_FROM_DATABASE=Sensel, Inc.
|
||||
|
||||
@ -912,6 +921,9 @@ acpi:ATV*:
|
||||
acpi:ATX*:
|
||||
ID_VENDOR_FROM_DATABASE=Athenix Corporation
|
||||
|
||||
acpi:AUD*:
|
||||
ID_VENDOR_FROM_DATABASE=AudioControl
|
||||
|
||||
acpi:AUG*:
|
||||
ID_VENDOR_FROM_DATABASE=August Home, Inc.
|
||||
|
||||
@ -6036,6 +6048,9 @@ acpi:SBS*:
|
||||
acpi:SBT*:
|
||||
ID_VENDOR_FROM_DATABASE=Senseboard Technologies AB
|
||||
|
||||
acpi:SCA*:
|
||||
ID_VENDOR_FROM_DATABASE=Schneider Consumer Group
|
||||
|
||||
acpi:SCB*:
|
||||
ID_VENDOR_FROM_DATABASE=SeeCubic B.V.
|
||||
|
||||
@ -6156,6 +6171,9 @@ acpi:SES*:
|
||||
acpi:SET*:
|
||||
ID_VENDOR_FROM_DATABASE=SendTek Corporation
|
||||
|
||||
acpi:SFL*:
|
||||
ID_VENDOR_FROM_DATABASE=Shiftall Inc.
|
||||
|
||||
acpi:SFM*:
|
||||
ID_VENDOR_FROM_DATABASE=TORNADO Company
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
--- 20-acpi-vendor.hwdb.base 2021-12-23 19:33:43.195441335 +0900
|
||||
+++ 20-acpi-vendor.hwdb 2021-12-23 19:33:43.215441358 +0900
|
||||
--- 20-acpi-vendor.hwdb.base 2022-03-29 12:18:39.832815359 +0200
|
||||
+++ 20-acpi-vendor.hwdb 2022-03-29 12:18:39.838815428 +0200
|
||||
@@ -3,6 +3,8 @@
|
||||
# Data imported from:
|
||||
# https://uefi.org/uefi-pnp-export
|
||||
@ -19,7 +19,7 @@
|
||||
acpi:AMDI*:
|
||||
ID_VENDOR_FROM_DATABASE=AMD
|
||||
|
||||
@@ -325,6 +324,9 @@
|
||||
@@ -334,6 +333,9 @@
|
||||
acpi:AAA*:
|
||||
ID_VENDOR_FROM_DATABASE=Avolites Ltd
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
acpi:AAE*:
|
||||
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
|
||||
|
||||
@@ -352,6 +354,9 @@
|
||||
@@ -361,6 +363,9 @@
|
||||
acpi:ABO*:
|
||||
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
acpi:ABS*:
|
||||
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
|
||||
|
||||
@@ -397,7 +402,7 @@
|
||||
@@ -406,7 +411,7 @@
|
||||
acpi:ACO*:
|
||||
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
|
||||
|
||||
@ -48,7 +48,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
|
||||
|
||||
acpi:ACR*:
|
||||
@@ -673,6 +678,9 @@
|
||||
@@ -682,6 +687,9 @@
|
||||
acpi:AMT*:
|
||||
ID_VENDOR_FROM_DATABASE=AMT International Industry
|
||||
|
||||
@ -58,7 +58,7 @@
|
||||
acpi:AMX*:
|
||||
ID_VENDOR_FROM_DATABASE=AMX LLC
|
||||
|
||||
@@ -721,6 +729,9 @@
|
||||
@@ -730,6 +738,9 @@
|
||||
acpi:AOA*:
|
||||
ID_VENDOR_FROM_DATABASE=AOpen Inc.
|
||||
|
||||
@ -68,7 +68,7 @@
|
||||
acpi:AOE*:
|
||||
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
|
||||
|
||||
@@ -730,6 +741,9 @@
|
||||
@@ -739,6 +750,9 @@
|
||||
acpi:AOT*:
|
||||
ID_VENDOR_FROM_DATABASE=Alcatel
|
||||
|
||||
@ -78,7 +78,7 @@
|
||||
acpi:APC*:
|
||||
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
||||
|
||||
@@ -905,7 +919,7 @@
|
||||
@@ -917,7 +931,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
||||
|
||||
acpi:AUO*:
|
||||
@ -87,7 +87,7 @@
|
||||
|
||||
acpi:AUR*:
|
||||
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
||||
@@ -985,6 +999,9 @@
|
||||
@@ -997,6 +1011,9 @@
|
||||
acpi:AXE*:
|
||||
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
||||
|
||||
@ -97,7 +97,7 @@
|
||||
acpi:AXI*:
|
||||
ID_VENDOR_FROM_DATABASE=American Magnetics
|
||||
|
||||
@@ -1135,6 +1152,9 @@
|
||||
@@ -1147,6 +1164,9 @@
|
||||
acpi:BML*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
||||
|
||||
@ -107,7 +107,7 @@
|
||||
acpi:BMS*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
||||
|
||||
@@ -1147,6 +1167,9 @@
|
||||
@@ -1159,6 +1179,9 @@
|
||||
acpi:BNO*:
|
||||
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
|
||||
|
||||
@ -117,7 +117,7 @@
|
||||
acpi:BNS*:
|
||||
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
|
||||
|
||||
@@ -1390,6 +1413,9 @@
|
||||
@@ -1402,6 +1425,9 @@
|
||||
acpi:CHA*:
|
||||
ID_VENDOR_FROM_DATABASE=Chase Research PLC
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
acpi:CHD*:
|
||||
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
|
||||
|
||||
@@ -1552,6 +1578,9 @@
|
||||
@@ -1564,6 +1590,9 @@
|
||||
acpi:COD*:
|
||||
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
|
||||
|
||||
@ -137,7 +137,7 @@
|
||||
acpi:COI*:
|
||||
ID_VENDOR_FROM_DATABASE=Codec Inc.
|
||||
|
||||
@@ -1961,7 +1990,7 @@
|
||||
@@ -1973,7 +2002,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
|
||||
|
||||
acpi:DJE*:
|
||||
@ -146,7 +146,7 @@
|
||||
|
||||
acpi:DJP*:
|
||||
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
|
||||
@@ -2299,6 +2328,9 @@
|
||||
@@ -2311,6 +2340,9 @@
|
||||
acpi:EIN*:
|
||||
ID_VENDOR_FROM_DATABASE=Elegant Invention
|
||||
|
||||
@ -156,7 +156,7 @@
|
||||
acpi:EKA*:
|
||||
ID_VENDOR_FROM_DATABASE=MagTek Inc.
|
||||
|
||||
@@ -2563,6 +2595,9 @@
|
||||
@@ -2575,6 +2607,9 @@
|
||||
acpi:FCG*:
|
||||
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
|
||||
|
||||
@ -166,7 +166,7 @@
|
||||
acpi:FCS*:
|
||||
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
|
||||
|
||||
@@ -2939,7 +2974,7 @@
|
||||
@@ -2951,7 +2986,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=General Standards Corporation
|
||||
|
||||
acpi:GSM*:
|
||||
@ -175,7 +175,7 @@
|
||||
|
||||
acpi:GSN*:
|
||||
ID_VENDOR_FROM_DATABASE=Grandstream Networks, Inc.
|
||||
@@ -3040,6 +3075,9 @@
|
||||
@@ -3052,6 +3087,9 @@
|
||||
acpi:HEC*:
|
||||
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
|
||||
|
||||
@ -185,7 +185,7 @@
|
||||
acpi:HEL*:
|
||||
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
|
||||
|
||||
@@ -3172,6 +3210,9 @@
|
||||
@@ -3184,6 +3222,9 @@
|
||||
acpi:HSD*:
|
||||
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
||||
|
||||
@ -195,7 +195,7 @@
|
||||
acpi:HSM*:
|
||||
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
||||
|
||||
@@ -3298,6 +3339,9 @@
|
||||
@@ -3310,6 +3351,9 @@
|
||||
acpi:ICI*:
|
||||
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
|
||||
|
||||
@ -205,7 +205,7 @@
|
||||
acpi:ICM*:
|
||||
ID_VENDOR_FROM_DATABASE=Intracom SA
|
||||
|
||||
@@ -3394,6 +3438,9 @@
|
||||
@@ -3406,6 +3450,9 @@
|
||||
acpi:IKE*:
|
||||
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
|
||||
|
||||
@ -215,7 +215,7 @@
|
||||
acpi:IKS*:
|
||||
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
|
||||
|
||||
@@ -3439,6 +3486,9 @@
|
||||
@@ -3451,6 +3498,9 @@
|
||||
acpi:IMT*:
|
||||
ID_VENDOR_FROM_DATABASE=Inmax Technology Corporation
|
||||
|
||||
@ -225,7 +225,7 @@
|
||||
acpi:INA*:
|
||||
ID_VENDOR_FROM_DATABASE=Inventec Corporation
|
||||
|
||||
@@ -3955,6 +4005,9 @@
|
||||
@@ -3967,6 +4017,9 @@
|
||||
acpi:LAN*:
|
||||
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
|
||||
|
||||
@ -235,7 +235,7 @@
|
||||
acpi:LAS*:
|
||||
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
|
||||
|
||||
@@ -4003,6 +4056,9 @@
|
||||
@@ -4015,6 +4068,9 @@
|
||||
acpi:LED*:
|
||||
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
|
||||
|
||||
@ -245,7 +245,7 @@
|
||||
acpi:LEG*:
|
||||
ID_VENDOR_FROM_DATABASE=Legerity, Inc
|
||||
|
||||
@@ -4018,6 +4074,9 @@
|
||||
@@ -4030,6 +4086,9 @@
|
||||
acpi:LGC*:
|
||||
ID_VENDOR_FROM_DATABASE=Logic Ltd
|
||||
|
||||
@ -255,7 +255,7 @@
|
||||
acpi:LGI*:
|
||||
ID_VENDOR_FROM_DATABASE=Logitech Inc
|
||||
|
||||
@@ -4075,6 +4134,9 @@
|
||||
@@ -4087,6 +4146,9 @@
|
||||
acpi:LND*:
|
||||
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
|
||||
|
||||
@ -265,7 +265,7 @@
|
||||
acpi:LNK*:
|
||||
ID_VENDOR_FROM_DATABASE=Link Tech Inc
|
||||
|
||||
@@ -4109,7 +4171,7 @@
|
||||
@@ -4121,7 +4183,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Design Technology
|
||||
|
||||
acpi:LPL*:
|
||||
@ -274,7 +274,7 @@
|
||||
|
||||
acpi:LSC*:
|
||||
ID_VENDOR_FROM_DATABASE=LifeSize Communications
|
||||
@@ -4285,6 +4347,9 @@
|
||||
@@ -4297,6 +4359,9 @@
|
||||
acpi:MCX*:
|
||||
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
|
||||
|
||||
@ -284,7 +284,7 @@
|
||||
acpi:MDA*:
|
||||
ID_VENDOR_FROM_DATABASE=Media4 Inc
|
||||
|
||||
@@ -4525,6 +4590,9 @@
|
||||
@@ -4537,6 +4602,9 @@
|
||||
acpi:MOM*:
|
||||
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
|
||||
|
||||
@ -294,7 +294,7 @@
|
||||
acpi:MOS*:
|
||||
ID_VENDOR_FROM_DATABASE=Moses Corporation
|
||||
|
||||
@@ -4759,6 +4827,9 @@
|
||||
@@ -4771,6 +4839,9 @@
|
||||
acpi:NAL*:
|
||||
ID_VENDOR_FROM_DATABASE=Network Alchemy
|
||||
|
||||
@ -304,7 +304,7 @@
|
||||
acpi:NAT*:
|
||||
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
|
||||
|
||||
@@ -5281,6 +5352,9 @@
|
||||
@@ -5293,6 +5364,9 @@
|
||||
acpi:PCX*:
|
||||
ID_VENDOR_FROM_DATABASE=PC Xperten
|
||||
|
||||
@ -314,7 +314,7 @@
|
||||
acpi:PDM*:
|
||||
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
|
||||
|
||||
@@ -5344,9 +5418,6 @@
|
||||
@@ -5356,9 +5430,6 @@
|
||||
acpi:PHE*:
|
||||
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
|
||||
|
||||
@ -324,7 +324,7 @@
|
||||
acpi:PHL*:
|
||||
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
|
||||
|
||||
@@ -5437,9 +5508,6 @@
|
||||
@@ -5449,9 +5520,6 @@
|
||||
acpi:PNL*:
|
||||
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
|
||||
|
||||
@ -334,7 +334,7 @@
|
||||
acpi:PNR*:
|
||||
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
|
||||
|
||||
@@ -5575,15 +5643,9 @@
|
||||
@@ -5587,15 +5655,9 @@
|
||||
acpi:PTS*:
|
||||
ID_VENDOR_FROM_DATABASE=Plain Tree Systems Inc
|
||||
|
||||
@ -350,7 +350,7 @@
|
||||
acpi:PVG*:
|
||||
ID_VENDOR_FROM_DATABASE=Proview Global Co., Ltd
|
||||
|
||||
@@ -5899,9 +5961,6 @@
|
||||
@@ -5911,9 +5973,6 @@
|
||||
acpi:RTI*:
|
||||
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
|
||||
|
||||
@ -360,7 +360,7 @@
|
||||
acpi:RTL*:
|
||||
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
|
||||
|
||||
@@ -6070,9 +6129,6 @@
|
||||
@@ -6085,9 +6144,6 @@
|
||||
acpi:SEE*:
|
||||
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
|
||||
|
||||
@ -370,7 +370,7 @@
|
||||
acpi:SEI*:
|
||||
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
|
||||
|
||||
@@ -6541,6 +6597,9 @@
|
||||
@@ -6559,6 +6615,9 @@
|
||||
acpi:SVD*:
|
||||
ID_VENDOR_FROM_DATABASE=SVD Computer
|
||||
|
||||
@ -380,7 +380,7 @@
|
||||
acpi:SVI*:
|
||||
ID_VENDOR_FROM_DATABASE=Sun Microsystems
|
||||
|
||||
@@ -6625,6 +6684,9 @@
|
||||
@@ -6643,6 +6702,9 @@
|
||||
acpi:SZM*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
|
||||
|
||||
@ -390,7 +390,7 @@
|
||||
acpi:TAA*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandberg
|
||||
|
||||
@@ -6715,6 +6777,9 @@
|
||||
@@ -6733,6 +6795,9 @@
|
||||
acpi:TDG*:
|
||||
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
||||
|
||||
@ -400,7 +400,7 @@
|
||||
acpi:TDM*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
|
||||
|
||||
@@ -6757,6 +6822,9 @@
|
||||
@@ -6775,6 +6840,9 @@
|
||||
acpi:TEV*:
|
||||
ID_VENDOR_FROM_DATABASE=Televés, S.A.
|
||||
|
||||
@ -410,7 +410,7 @@
|
||||
acpi:TEZ*:
|
||||
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
|
||||
|
||||
@@ -6880,9 +6948,6 @@
|
||||
@@ -6898,9 +6966,6 @@
|
||||
acpi:TNC*:
|
||||
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
||||
|
||||
@ -420,7 +420,7 @@
|
||||
acpi:TNM*:
|
||||
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
||||
|
||||
@@ -7192,14 +7257,14 @@
|
||||
@@ -7210,14 +7275,14 @@
|
||||
acpi:UNC*:
|
||||
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||
|
||||
@ -441,7 +441,7 @@
|
||||
|
||||
acpi:UNI*:
|
||||
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
||||
@@ -7234,6 +7299,9 @@
|
||||
@@ -7252,6 +7317,9 @@
|
||||
acpi:USA*:
|
||||
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
||||
|
||||
@ -451,7 +451,7 @@
|
||||
acpi:USD*:
|
||||
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
||||
|
||||
@@ -7489,9 +7557,6 @@
|
||||
@@ -7507,9 +7575,6 @@
|
||||
acpi:WAL*:
|
||||
ID_VENDOR_FROM_DATABASE=Wave Access
|
||||
|
||||
@ -461,7 +461,7 @@
|
||||
acpi:WAV*:
|
||||
ID_VENDOR_FROM_DATABASE=Wavephore
|
||||
|
||||
@@ -7616,7 +7681,7 @@
|
||||
@@ -7634,7 +7699,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=WyreStorm Technologies LLC
|
||||
|
||||
acpi:WYS*:
|
||||
@ -470,7 +470,7 @@
|
||||
|
||||
acpi:WYT*:
|
||||
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
|
||||
@@ -7630,9 +7695,6 @@
|
||||
@@ -7648,9 +7713,6 @@
|
||||
acpi:XDM*:
|
||||
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
||||
|
||||
@ -480,7 +480,7 @@
|
||||
acpi:XES*:
|
||||
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
|
||||
|
||||
@@ -7663,9 +7725,6 @@
|
||||
@@ -7681,9 +7743,6 @@
|
||||
acpi:XNT*:
|
||||
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
|
||||
|
||||
@ -490,7 +490,7 @@
|
||||
acpi:XQU*:
|
||||
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
|
||||
|
||||
@@ -7732,6 +7791,9 @@
|
||||
@@ -7750,6 +7809,9 @@
|
||||
acpi:ZBX*:
|
||||
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
||||
|
||||
|
||||
@ -612,7 +612,7 @@ pci:v*d*sv*sd*bc12sc00*
|
||||
ID_PCI_SUBCLASS_FROM_DATABASE=Processing accelerators
|
||||
|
||||
pci:v*d*sv*sd*bc12sc01*
|
||||
ID_PCI_SUBCLASS_FROM_DATABASE=AI Inference Accelerator
|
||||
ID_PCI_SUBCLASS_FROM_DATABASE=SNIA Smart Data Accelerator Interface (SDXI) controller
|
||||
|
||||
pci:v*d*sv*sd*bc13*
|
||||
ID_PCI_CLASS_FROM_DATABASE=Non-Essential Instrumentation
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -8078,6 +8078,12 @@ usb:v046Dp0846*
|
||||
usb:v046Dp084B*
|
||||
ID_MODEL_FROM_DATABASE=ConferenceCam Connect Video
|
||||
|
||||
usb:v046Dp084C*
|
||||
ID_MODEL_FROM_DATABASE=ConferenceCam Connect Audio
|
||||
|
||||
usb:v046Dp084E*
|
||||
ID_MODEL_FROM_DATABASE=ConferenceCam Connect
|
||||
|
||||
usb:v046Dp0850*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Web
|
||||
|
||||
@ -8235,7 +8241,7 @@ usb:v046Dp08D9*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam IM/Connect
|
||||
|
||||
usb:v046Dp08DA*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Messanger
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Messenger
|
||||
|
||||
usb:v046Dp08DD*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam for Notebooks
|
||||
@ -8652,7 +8658,7 @@ usb:v046DpC06C*
|
||||
ID_MODEL_FROM_DATABASE=Optical Mouse
|
||||
|
||||
usb:v046DpC077*
|
||||
ID_MODEL_FROM_DATABASE=M105 Optical Mouse
|
||||
ID_MODEL_FROM_DATABASE=Mouse
|
||||
|
||||
usb:v046DpC07C*
|
||||
ID_MODEL_FROM_DATABASE=M-R0017 [G700s Rechargeable Gaming Mouse]
|
||||
@ -8676,7 +8682,7 @@ usb:v046DpC08B*
|
||||
ID_MODEL_FROM_DATABASE=G502 SE HERO Gaming Mouse
|
||||
|
||||
usb:v046DpC092*
|
||||
ID_MODEL_FROM_DATABASE=G203 LIGHTSYNC Gaming Mouse
|
||||
ID_MODEL_FROM_DATABASE=G102/G203 LIGHTSYNC Gaming Mouse
|
||||
|
||||
usb:v046DpC101*
|
||||
ID_MODEL_FROM_DATABASE=UltraX Media Remote
|
||||
@ -9122,6 +9128,9 @@ usb:v046DpC534*
|
||||
usb:v046DpC537*
|
||||
ID_MODEL_FROM_DATABASE=Cordless Mouse Receiver
|
||||
|
||||
usb:v046DpC539*
|
||||
ID_MODEL_FROM_DATABASE=Cordless Mouse Receiver
|
||||
|
||||
usb:v046DpC53A*
|
||||
ID_MODEL_FROM_DATABASE=PowerPlay Wireless Charging System
|
||||
|
||||
@ -58655,6 +58664,9 @@ usb:v1A86p5523*
|
||||
usb:v1A86p5584*
|
||||
ID_MODEL_FROM_DATABASE=CH341 in parallel mode, usb to printer port converter
|
||||
|
||||
usb:v1A86p7522*
|
||||
ID_MODEL_FROM_DATABASE=CH340 serial converter
|
||||
|
||||
usb:v1A86p7523*
|
||||
ID_MODEL_FROM_DATABASE=CH340 serial converter
|
||||
|
||||
@ -58665,7 +58677,7 @@ usb:v1A86p7584*
|
||||
ID_MODEL_FROM_DATABASE=CH340S
|
||||
|
||||
usb:v1A86pE008*
|
||||
ID_MODEL_FROM_DATABASE=HID-based serial adapater
|
||||
ID_MODEL_FROM_DATABASE=HID-based serial adapter
|
||||
|
||||
usb:v1A89*
|
||||
ID_VENDOR_FROM_DATABASE=Dynalith Systems Co., Ltd.
|
||||
@ -60954,7 +60966,7 @@ usb:v1D50p6054*
|
||||
ID_MODEL_FROM_DATABASE=Satlab/AAUSAT3 BlueBox
|
||||
|
||||
usb:v1D50p6055*
|
||||
ID_MODEL_FROM_DATABASE=RADiuS ER900TRS-02 transciever with SMA Connector
|
||||
ID_MODEL_FROM_DATABASE=RADiuS ER900TRS-02 transceiver with SMA Connector
|
||||
|
||||
usb:v1D50p6056*
|
||||
ID_MODEL_FROM_DATABASE=The Glitch
|
||||
@ -61365,16 +61377,16 @@ usb:v1D50p60EE*
|
||||
ID_MODEL_FROM_DATABASE=Duet 3 motion control electronics
|
||||
|
||||
usb:v1D50p60F0*
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T1 data aquisition device (boot)
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T1 data acquisition device (boot)
|
||||
|
||||
usb:v1D50p60F1*
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T1 data aquisition device
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T1 data acquisition device
|
||||
|
||||
usb:v1D50p60F2*
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T2 data aquisition device (boot)
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T2 data acquisition device (boot)
|
||||
|
||||
usb:v1D50p60F3*
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T2 data aquisition device
|
||||
ID_MODEL_FROM_DATABASE=UDAD-T2 data acquisition device
|
||||
|
||||
usb:v1D50p60F4*
|
||||
ID_MODEL_FROM_DATABASE=Uniti ARC motor controller
|
||||
@ -61421,6 +61433,9 @@ usb:v1D50p6122*
|
||||
usb:v1D50p614C*
|
||||
ID_MODEL_FROM_DATABASE=dwtk In-Circuit Emulator
|
||||
|
||||
usb:v1D50p614D*
|
||||
ID_MODEL_FROM_DATABASE=Generic Display
|
||||
|
||||
usb:v1D50p8085*
|
||||
ID_MODEL_FROM_DATABASE=Box0 (box0-v5)
|
||||
|
||||
@ -61473,7 +61488,7 @@ usb:v1D57pAF03*
|
||||
ID_MODEL_FROM_DATABASE=Wireless Receiver
|
||||
|
||||
usb:v1D57pFA20*
|
||||
ID_MODEL_FROM_DATABASE=2.4GHz Wireless Reciever (Mini Keyboard & Mouse)
|
||||
ID_MODEL_FROM_DATABASE=2.4GHz Wireless Receiver (Mini Keyboard & Mouse)
|
||||
|
||||
usb:v1D5B*
|
||||
ID_VENDOR_FROM_DATABASE=Smartronix, Inc.
|
||||
@ -62397,7 +62412,22 @@ usb:v1FBD*
|
||||
ID_VENDOR_FROM_DATABASE=Delphin Technology AG
|
||||
|
||||
usb:v1FBDp0001*
|
||||
ID_MODEL_FROM_DATABASE=Expert Key - Data aquisition system
|
||||
ID_MODEL_FROM_DATABASE=Expert Key - Data acquisition system
|
||||
|
||||
usb:v1FBDp0004*
|
||||
ID_MODEL_FROM_DATABASE=MetiOS Device (RNDIS)
|
||||
|
||||
usb:v1FBDp0005*
|
||||
ID_MODEL_FROM_DATABASE=Loggito
|
||||
|
||||
usb:v1FBDp0006*
|
||||
ID_MODEL_FROM_DATABASE=LoggitoLab 8 AI-RTD
|
||||
|
||||
usb:v1FBDp0007*
|
||||
ID_MODEL_FROM_DATABASE=LoggitoLab 8 TC
|
||||
|
||||
usb:v1FBDp0008*
|
||||
ID_MODEL_FROM_DATABASE=LoggitoLab 4 AI-RTD 4 TC
|
||||
|
||||
usb:v1FC9*
|
||||
ID_VENDOR_FROM_DATABASE=NXP Semiconductors
|
||||
@ -67871,6 +67901,30 @@ usb:v3195pF280*
|
||||
usb:v3195pF281*
|
||||
ID_MODEL_FROM_DATABASE=MSO-28
|
||||
|
||||
usb:v3197*
|
||||
ID_VENDOR_FROM_DATABASE=Katusha
|
||||
|
||||
usb:v3197p1001*
|
||||
ID_MODEL_FROM_DATABASE=M151
|
||||
|
||||
usb:v3197p1002*
|
||||
ID_MODEL_FROM_DATABASE=M250
|
||||
|
||||
usb:v3197p1003*
|
||||
ID_MODEL_FROM_DATABASE=P130
|
||||
|
||||
usb:v3197p1004*
|
||||
ID_MODEL_FROM_DATABASE=M130
|
||||
|
||||
usb:v3197p1101*
|
||||
ID_MODEL_FROM_DATABASE=P247
|
||||
|
||||
usb:v3197p1102*
|
||||
ID_MODEL_FROM_DATABASE=M247
|
||||
|
||||
usb:v3197p1103*
|
||||
ID_MODEL_FROM_DATABASE=M348
|
||||
|
||||
usb:v31C9*
|
||||
ID_VENDOR_FROM_DATABASE=BeiJing LanXum Computer Technology Co., Ltd.
|
||||
|
||||
@ -69653,9 +69707,24 @@ usb:v8086p07D3*
|
||||
usb:v8086p07DC*
|
||||
ID_MODEL_FROM_DATABASE=Bluetooth 4.0* Smart Ready (low energy)
|
||||
|
||||
usb:v8086p0A66*
|
||||
ID_MODEL_FROM_DATABASE=RealSense 3D Camera (Front F200)
|
||||
|
||||
usb:v8086p0AA5*
|
||||
ID_MODEL_FROM_DATABASE=RealSense SR300
|
||||
|
||||
usb:v8086p0AD2*
|
||||
ID_MODEL_FROM_DATABASE=RealSense D410
|
||||
|
||||
usb:v8086p0AD3*
|
||||
ID_MODEL_FROM_DATABASE=RealSense D415
|
||||
|
||||
usb:v8086p0B07*
|
||||
ID_MODEL_FROM_DATABASE=RealSense D435
|
||||
|
||||
usb:v8086p0B64*
|
||||
ID_MODEL_FROM_DATABASE=RealSense L515
|
||||
|
||||
usb:v8086p0DAD*
|
||||
ID_MODEL_FROM_DATABASE=Cherry MiniatureCard Keyboard
|
||||
|
||||
@ -69731,6 +69800,9 @@ usb:v8086p9500*
|
||||
usb:v8086p9890*
|
||||
ID_MODEL_FROM_DATABASE=82930 Test Board
|
||||
|
||||
usb:v8086pA36D*
|
||||
ID_MODEL_FROM_DATABASE=Host Controller
|
||||
|
||||
usb:v8086pBEEF*
|
||||
ID_MODEL_FROM_DATABASE=SCM Miniature Card Reader/Writer
|
||||
|
||||
@ -69815,9 +69887,6 @@ usb:v8087p8008*
|
||||
usb:v8087p800A*
|
||||
ID_MODEL_FROM_DATABASE=Hub
|
||||
|
||||
usb:v8087p8087*
|
||||
ID_MODEL_FROM_DATABASE=07da Centrino Advanced-N 6235
|
||||
|
||||
usb:v80EE*
|
||||
ID_VENDOR_FROM_DATABASE=VirtualBox
|
||||
|
||||
|
||||
@ -148,6 +148,7 @@ usb:v04F3p0C58*
|
||||
# Supported by libfprint driver elanmoc
|
||||
usb:v04F3p0C7D*
|
||||
usb:v04F3p0C7E*
|
||||
usb:v04F3p0C82*
|
||||
ID_AUTOSUSPEND=1
|
||||
ID_PERSIST=0
|
||||
|
||||
@ -185,7 +186,6 @@ usb:v06CBp00DF*
|
||||
usb:v06CBp00F9*
|
||||
usb:v06CBp00FC*
|
||||
usb:v06CBp00C2*
|
||||
usb:v06CBp00C9*
|
||||
usb:v06CBp0100*
|
||||
usb:v06CBp00F0*
|
||||
usb:v06CBp0103*
|
||||
@ -272,15 +272,19 @@ usb:v06CBp008A*
|
||||
usb:v06CBp009A*
|
||||
usb:v06CBp009B*
|
||||
usb:v06CBp00A2*
|
||||
usb:v06CBp00A8*
|
||||
usb:v06CBp00B7*
|
||||
usb:v06CBp00BB*
|
||||
usb:v06CBp00BE*
|
||||
usb:v06CBp00C4*
|
||||
usb:v06CBp00CB*
|
||||
usb:v06CBp00C9*
|
||||
usb:v06CBp00D8*
|
||||
usb:v06CBp00DA*
|
||||
usb:v06CBp00DC*
|
||||
usb:v06CBp00E7*
|
||||
usb:v06CBp00E9*
|
||||
usb:v06CBp00FD*
|
||||
usb:v0A5Cp5801*
|
||||
usb:v0A5Cp5805*
|
||||
usb:v0A5Cp5834*
|
||||
@ -292,6 +296,7 @@ usb:v0A5Cp5844*
|
||||
usb:v0A5Cp5845*
|
||||
usb:v0BDAp5812*
|
||||
usb:v10A5p0007*
|
||||
usb:v10A5p9200*
|
||||
usb:v1188p9545*
|
||||
usb:v138Ap0007*
|
||||
usb:v138Ap003A*
|
||||
@ -309,6 +314,7 @@ usb:v1491p0088*
|
||||
usb:v16D1p1027*
|
||||
usb:v1C7Ap0300*
|
||||
usb:v1C7Ap0575*
|
||||
usb:v1C7Ap0576*
|
||||
usb:v27C6p5042*
|
||||
usb:v27C6p5110*
|
||||
usb:v27C6p5117*
|
||||
@ -328,7 +334,9 @@ usb:v27C6p55A2*
|
||||
usb:v27C6p55A4*
|
||||
usb:v27C6p55B4*
|
||||
usb:v27C6p5740*
|
||||
usb:v27C6p5E0A*
|
||||
usb:v2808p9338*
|
||||
usb:v298Dp2020*
|
||||
usb:v298Dp2033*
|
||||
usb:v3538p0930*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
@ -651,6 +651,8 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPLicrice:*
|
||||
# HP EliteBook
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPEliteBook*:*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPEliteBook*:*
|
||||
# HP Elite x360
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPElite*x360*:*
|
||||
# HP Elite Dragonfly
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPEliteDragonfly*:*
|
||||
# HP ProBook 440 G2
|
||||
|
||||
@ -110,6 +110,9 @@
|
||||
<tr class="even"><td>Purism SPC</td><td>PURI</td><td>06/10/2021</td> </tr>
|
||||
<tr class="odd"><td>Lontium Semiconductor Corporation</td><td>LTSC</td><td>07/21/2021</td> </tr>
|
||||
<tr class="even"><td>Wacom Technology</td><td>WACF</td><td>09/21/2021</td> </tr>
|
||||
<tr class="odd"><td>Shanghai Aiwei Electronic Technology Co., Ltd.</td><td>AWDZ</td><td>12/31/2021</td> </tr>
|
||||
<tr class="even"><td>Silicom Ltd. Connectivity Solutions</td><td>SILC</td><td>03/28/2022</td> </tr>
|
||||
<tr class="odd"><td>NOLO VR</td><td>NOLO</td><td>03/28/2022</td> </tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
@ -6,7 +6,7 @@ import sys
|
||||
from pyparsing import (Word, White, Literal, Regex,
|
||||
LineEnd, SkipTo,
|
||||
ZeroOrMore, OneOrMore, Combine, Optional, Suppress,
|
||||
Group,
|
||||
Group, ParserElement,
|
||||
stringEnd, pythonStyleComment)
|
||||
|
||||
EOL = LineEnd().suppress()
|
||||
@ -20,6 +20,8 @@ COMMENTLINE = pythonStyleComment + EOL
|
||||
EMPTYLINE = LineEnd()
|
||||
text_eol = lambda name: Regex(r'[^\n]+')(name) + EOL
|
||||
|
||||
ParserElement.set_default_whitespace_chars(' \n')
|
||||
|
||||
def klass_grammar():
|
||||
klass_line = Literal('C ').suppress() + NUM2('klass') + text_eol('text')
|
||||
subclass_line = TAB + NUM2('subclass') + text_eol('text')
|
||||
@ -35,8 +37,12 @@ def klass_grammar():
|
||||
def usb_ids_grammar():
|
||||
vendor_line = NUM4('vendor') + text_eol('text')
|
||||
device_line = TAB + NUM4('device') + text_eol('text')
|
||||
interface_line = TAB + TAB + NUM4('interface') + NUM4('interface2') + text_eol('text')
|
||||
device = (device_line +
|
||||
ZeroOrMore(Group(interface_line)
|
||||
^ COMMENTLINE.suppress()))
|
||||
vendor = (vendor_line('VENDOR') +
|
||||
ZeroOrMore(Group(device_line)('VENDOR_DEV*') ^ COMMENTLINE.suppress()))
|
||||
ZeroOrMore(Group(device)('VENDOR_DEV*') ^ COMMENTLINE.suppress()))
|
||||
|
||||
klass = klass_grammar()
|
||||
|
||||
|
||||
3741
hwdb.d/ma-large.txt
3741
hwdb.d/ma-large.txt
File diff suppressed because it is too large
Load Diff
1000
hwdb.d/ma-medium.txt
1000
hwdb.d/ma-medium.txt
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
300
hwdb.d/pci.ids
300
hwdb.d/pci.ids
@ -1,8 +1,8 @@
|
||||
#
|
||||
# List of PCI ID's
|
||||
#
|
||||
# Version: 2021.12.15
|
||||
# Date: 2021-12-15 03:15:02
|
||||
# Version: 2022.03.22
|
||||
# Date: 2022-03-22 03:15:02
|
||||
#
|
||||
# Maintained by Albert Pool, Martin Mares, and other volunteers from
|
||||
# the PCI ID Project at https://pci-ids.ucw.cz/.
|
||||
@ -105,14 +105,24 @@
|
||||
0731 7215 JM7200
|
||||
9200 JM9200
|
||||
920a JH920
|
||||
0731 920a JH920
|
||||
0731 920b JH920-I
|
||||
0731 920c JH920-M
|
||||
920b JH920-I
|
||||
920c JH920-M
|
||||
9210 JM9210
|
||||
0731 9210 JM9210
|
||||
0731 9211 JM9210-I
|
||||
9211 JM9210-I
|
||||
9230 JM9230
|
||||
0731 9230 JM9230
|
||||
0731 9231 JM9230-I
|
||||
9231 JM9231-I
|
||||
9250 JM9250
|
||||
0731 9250 JM9250
|
||||
930a JH930-I
|
||||
0731 930a JH930-I
|
||||
0731 930b JH930-M
|
||||
930b JH930-M
|
||||
0777 Ubiquiti Networks, Inc.
|
||||
0795 Wired Inc.
|
||||
@ -821,14 +831,16 @@
|
||||
1028 200c HBA355i Front
|
||||
1028 200d HBA355e Adapter
|
||||
1028 200e HBA350i MX
|
||||
1028 2170 HBA350i MM
|
||||
1028 2175 HBA350i Adapter
|
||||
1028 2197 HBA350i MM LP
|
||||
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
|
||||
1d49 0208 ThinkSystem 440-16i SAS/SATA PCIe Gen4 12Gb HBA
|
||||
1d49 0209 ThinkSystem 440-8e SAS/SATA PCIe Gen4 12Gb HBA
|
||||
8086 4050 Storage Controller RS3P4QF160F
|
||||
8086 4070 Storage Controller RS3P4GF016F
|
||||
8086 4050 Storage Controller RS3P4QF160J
|
||||
8086 4070 Storage Controller RS3P4GF016J
|
||||
00e7 Fusion-MPT 12GSAS/PCIe Unsupported SAS38xx
|
||||
# Tampered part
|
||||
1028 200b HBA355i Adapter Tampered
|
||||
@ -932,6 +944,8 @@
|
||||
10e2 MegaRAID 12GSAS/PCIe Secure SAS39xx
|
||||
# 9560 16 internal port RAID controller
|
||||
1000 4000 MegaRAID 9560-16i
|
||||
# 9561 16 internal port RAID controller
|
||||
1000 4002 MegaRAID 9561-16i
|
||||
# 9560 8 internal port RAID controller
|
||||
1000 4010 MegaRAID 9560-8i
|
||||
# 9580 8 internal & 8 external port RAID controller
|
||||
@ -965,6 +979,7 @@
|
||||
1028 2173 PERC H355 Front
|
||||
1028 2174 PERC H350 Mini
|
||||
1028 2177 PERC H350 Adapter
|
||||
1028 2199 PERC H350 Mini LP
|
||||
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
|
||||
@ -986,6 +1001,7 @@
|
||||
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
|
||||
1001 Kolter Electronic
|
||||
0010 PCI 1616 Measurement card with 32 digital I/O lines
|
||||
0011 OPTO-PCI Opto-Isolated digital I/O board
|
||||
@ -1062,7 +1078,7 @@
|
||||
163f VanGogh
|
||||
164c Lucienne
|
||||
164d Rembrandt
|
||||
1681 Rembrandt
|
||||
1681 Rembrandt [Radeon 680M]
|
||||
1714 BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
|
||||
103c 168b ProBook 4535s
|
||||
3150 RV380/M24 [Mobility Radeon X600]
|
||||
@ -2032,9 +2048,10 @@
|
||||
174b a240 Radeon R7 240 OEM
|
||||
174b d340 Radeon R7 340 OEM
|
||||
1b0a 90d3 Radeon R7 240 OEM
|
||||
6613 Oland PRO [Radeon R7 240/340]
|
||||
6613 Oland PRO [Radeon R7 240/340 / Radeon 520]
|
||||
148c 7340 Radeon R7 340
|
||||
1682 7240 R7 240 2048 MB
|
||||
1dcf 3000 Oland PRO [Radeon R7 240/340 / Radeon 520]
|
||||
6631 Oland
|
||||
6640 Saturn XT [FirePro M6100]
|
||||
106b 014b Tropo XT [Radeon R9 M380 Mac Edition]
|
||||
@ -3742,23 +3759,29 @@
|
||||
73a2 Navi 21 Pro-XTA [Radeon Pro W6900X]
|
||||
73a3 Navi 21 GL-XL [Radeon PRO W6800]
|
||||
73a4 Navi 21 USB
|
||||
73a5 Navi 21 [Radeon RX 6950 XT]
|
||||
73ab Navi 21 Pro-XLA [Radeon Pro W6800X/Radeon Pro W6800X Duo]
|
||||
73af Navi 21 [Radeon RX 6900 XT]
|
||||
148c 2414 Navi 21 XTXH [PowerColor Red Devil RX 6900 XT Ultimate]
|
||||
73bf Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]
|
||||
1002 0e3a Radeon RX 6900 XT
|
||||
148c 2408 Red Devil AMD Radeon RX 6900 XT
|
||||
1eae 6701 XFX Speedster MERC 319 AMD Radeon RX 6800 XT Black
|
||||
73c3 Navi 22
|
||||
73c4 Navi 22 USB
|
||||
73df Navi 22 [Radeon RX 6700/6700 XT / 6800M]
|
||||
73df Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M]
|
||||
73e0 Navi 23
|
||||
73e1 Navi 23 WKS-XM [Radeon PRO W6600M]
|
||||
73e3 Navi 23 WKS-XL [Radeon PRO W6600]
|
||||
73e4 Navi 23 USB
|
||||
73ef Navi 23 [Radeon RX 6650 XT]
|
||||
73ff Navi 23 [Radeon RX 6600/6600 XT/6600M]
|
||||
148c 2412 PowerColor Red Devil RX 6600 XT
|
||||
7408 Aldebaran
|
||||
740c Aldebaran
|
||||
740f Aldebaran
|
||||
743f Navi 24 [Radeon RX 6400 / 6500 XT]
|
||||
1da2 e457 PULSE AMD Radeon RX 6500 XT
|
||||
7833 RS350 Host Bridge
|
||||
7834 RS350 [Radeon 9100 PRO/XT IGP]
|
||||
7835 RS350M [Mobility Radeon 9000 IGP]
|
||||
@ -4161,7 +4184,7 @@
|
||||
ab10 Lexa HDMI Audio
|
||||
ab18 Vega 12 HDMI Audio
|
||||
ab20 Vega 20 HDMI Audio [Radeon VII]
|
||||
ab28 Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT]
|
||||
ab28 Navi 21/23 HDMI/DP Audio Controller
|
||||
ab38 Navi 10 HDMI Audio
|
||||
ac00 Theater 506 World-Wide Analog Decoder
|
||||
ac01 Theater 506 World-Wide Analog Decoder
|
||||
@ -4956,14 +4979,14 @@
|
||||
1043 876b PRIME Motherboard
|
||||
17aa 5124 ThinkPad E595
|
||||
ea50 ce19 mCOM10-L1900
|
||||
15e2 Raven/Raven2/FireFlight/Renoir Audio Processor
|
||||
15e2 ACP/ACP3X/ACP6x Audio Coprocessor
|
||||
17aa 5124 ThinkPad E595
|
||||
ea50 ce19 mCOM10-L1900
|
||||
15e3 Family 17h (Models 10h-1fh) HD Audio Controller
|
||||
15e3 Family 17h/19h HD Audio Controller
|
||||
103c 8615 Pavilion Laptop 15-cw1xxx
|
||||
1043 86c7 PRIME B450M-A Motherboard
|
||||
17aa 5124 ThinkPad E595
|
||||
15e4 Raven/Raven2/Renoir Sensor Fusion Hub
|
||||
15e4 Sensor Fusion Hub
|
||||
15e5 Raven2 USB 3.1
|
||||
ea50 ce19 mCOM10-L1900
|
||||
15e6 Raven/Raven2/Renoir Non-Sensor Fusion Hub KMDF driver
|
||||
@ -5139,6 +5162,13 @@
|
||||
43c7 400 Series Chipset PCIe Port
|
||||
43c8 400 Series Chipset SATA Controller
|
||||
43d5 400 Series Chipset USB 3.1 XHCI Controller
|
||||
43e9 500 Series Chipset Switch Upstream Port
|
||||
43eb 500 Series Chipset SATA Controller
|
||||
# or ASM106X Serial ATA Controller
|
||||
1b21 1062 ASM1062 Serial ATA Controller
|
||||
43ee 500 Series Chipset USB 3.1 XHCI Controller
|
||||
# maybe
|
||||
1b21 1142 ASM1042A USB 3.0 Host Controller
|
||||
57a3 Matisse PCIe GPP Bridge
|
||||
57a4 Matisse PCIe GPP Bridge
|
||||
57ad Matisse Switch Upstream
|
||||
@ -11492,6 +11522,7 @@
|
||||
10ef GP102 HDMI Audio Controller
|
||||
10f0 GP104 High Definition Audio Controller
|
||||
10f1 GP106 High Definition Audio Controller
|
||||
1043 85b6 DUAL-GTX1060-O6G [GeForce GTX 1060 6GB Dual]
|
||||
10f7 TU102 High Definition Audio Controller
|
||||
10f8 TU104 HD Audio Controller
|
||||
10f9 TU106 High Definition Audio Controller
|
||||
@ -12189,6 +12220,7 @@
|
||||
1c01 GP106
|
||||
1c02 GP106 [GeForce GTX 1060 3GB]
|
||||
1c03 GP106 [GeForce GTX 1060 6GB]
|
||||
1043 85b6 DUAL-GTX1060-O6G [GeForce GTX 1060 6GB Dual]
|
||||
1c04 GP106 [GeForce GTX 1060 5GB]
|
||||
1c06 GP106 [GeForce GTX 1060 6GB Rev. 2]
|
||||
1c07 GP106 [P106-100]
|
||||
@ -12321,6 +12353,7 @@
|
||||
1ef5 TU104GLM [Quadro RTX 5000 Mobile Refresh]
|
||||
1f02 TU106 [GeForce RTX 2070]
|
||||
1043 8673 TURBO RTX 2070
|
||||
1f03 TU106 [GeForce RTX 2060 12GB]
|
||||
1f04 TU106
|
||||
1f06 TU106 [GeForce RTX 2060 SUPER]
|
||||
1f07 TU106 [GeForce RTX 2070 Rev. A]
|
||||
@ -12354,21 +12387,32 @@
|
||||
1f99 TU117M
|
||||
1f9c TU117M [GeForce MX450]
|
||||
1f9d TU117M [GeForce GTX 1650 Mobile / Max-Q]
|
||||
# via Lenovo 496.90
|
||||
1f9f TU117M [GeForce MX550]
|
||||
1fa0 TU117M [GeForce MX550]
|
||||
1fae TU117GL
|
||||
1fb0 TU117GLM [Quadro T1000 Mobile]
|
||||
1fb1 TU117GL [T600]
|
||||
1fb2 TU117GLM [Quadro T400 Mobile]
|
||||
1fb6 TU117GLM [T600 Laptop GPU]
|
||||
1fb7 TU117GLM [T550 Laptop GPU]
|
||||
1fb8 TU117GLM [Quadro T2000 Mobile / Max-Q]
|
||||
1fb9 TU117GLM [Quadro T1000 Mobile]
|
||||
1fba TU117GLM [T600 Mobile]
|
||||
1fbb TU117GLM [Quadro T500 Mobile]
|
||||
1fbc TU117GLM [T1200 Laptop GPU]
|
||||
1fbf TU117GL
|
||||
1fd9 TU117BM [GeForce GTX 1650 Mobile Refresh]
|
||||
1fdd TU117BM [GeForce GTX 1650 Mobile Refresh]
|
||||
1ff0 TU117GL [T1000 8GB]
|
||||
1ff2 TU117GL [T400 4GB]
|
||||
1ff9 TU117GLM [Quadro T1000 Mobile]
|
||||
2082 GA100 [CMP 170HX]
|
||||
20b0 GA100 [A100 SXM4 40GB]
|
||||
20b1 GA100 [A100 PCIe 40GB]
|
||||
20b2 GA100 [A100 SXM4 80GB]
|
||||
# 20B3 14A7 10DE PG506-242 / 20B3 14A8 10DE PG506-243
|
||||
20b3 GA100 [PG506-242/243]
|
||||
20b5 GA100 [A100 PCIe 80GB]
|
||||
20b6 GA100GL [PG506-232]
|
||||
20b7 GA100GL [A30 PCIe]
|
||||
@ -12376,7 +12420,9 @@
|
||||
20be GA100 [GRID A100A]
|
||||
20bf GA100 [GRID A100B]
|
||||
20c2 GA100 [CMP 170HX]
|
||||
20f0 GA100 [A100-PG506-207]
|
||||
20f1 GA100 [A100 PCIe 40GB]
|
||||
20f2 GA100 [A100-PG506-217]
|
||||
2182 TU116 [GeForce GTX 1660 Ti]
|
||||
2183 TU116
|
||||
2184 TU116 [GeForce GTX 1660]
|
||||
@ -12399,6 +12445,7 @@
|
||||
10de 146d GA102 [GeForce RTX 3080 20GB]
|
||||
1462 3892 RTX 3080 10GB GAMING X TRIO
|
||||
2208 GA102 [GeForce RTX 3080 Ti]
|
||||
220a GA102 [GeForce RTX 3080 12GB]
|
||||
220d GA102 [CMP 90HX]
|
||||
2216 GA102 [GeForce RTX 3080 Lite Hash Rate]
|
||||
222b GA102 [GeForce RTX 3090 Engineering Sample]
|
||||
@ -12406,15 +12453,20 @@
|
||||
2230 GA102GL [RTX A6000]
|
||||
2231 GA102GL [RTX A5000]
|
||||
2232 GA102GL [RTX A4500]
|
||||
2233 GA102GL [RTX A5500]
|
||||
2235 GA102GL [A40]
|
||||
2236 GA102GL [A10]
|
||||
2237 GA102GL [A10G]
|
||||
2238 GA102GL [A10M]
|
||||
223f GA102GL
|
||||
228b GA104 High Definition Audio Controller
|
||||
2296 Tegra PCIe Endpoint Virtual Network
|
||||
2302 GA103
|
||||
2321 GA103
|
||||
2414 GA103 [GeForce RTX 3060 Ti]
|
||||
2420 GA103M [GeForce RTX 3080 Ti Mobile]
|
||||
2438 GA103GLM [RTX A5500 Laptop GPU]
|
||||
2460 GA103M [GeForce RTX 3080 Ti Laptop GPU]
|
||||
2482 GA104 [GeForce RTX 3070 Ti]
|
||||
2483 GA104
|
||||
2484 GA104 [GeForce RTX 3070]
|
||||
@ -12436,29 +12488,46 @@
|
||||
24b6 GA104GLM [RTX A5000 Mobile]
|
||||
24b7 GA104GLM [RTX A4000 Mobile]
|
||||
24b8 GA104GLM [RTX A3000 Mobile]
|
||||
24b9 GA104GLM [RTX A3000 12GB Laptop GPU]
|
||||
24ba GA104GLM [RTX A4500 Laptop GPU]
|
||||
24bb GA104GLM [RTX A3000 Laptop GPU]
|
||||
24bf GA104 [GeForce RTX 3070 Engineering Sample]
|
||||
24dc GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB]
|
||||
24dd GA104M [GeForce RTX 3070 Mobile / Max-Q]
|
||||
24e0 GA104M [Geforce RTX 3070 Ti Laptop GPU]
|
||||
24fa GA104 [RTX A4500 Embedded GPU ]
|
||||
2501 GA106 [GeForce RTX 3060]
|
||||
2503 GA106 [GeForce RTX 3060]
|
||||
2504 GA106 [GeForce RTX 3060 Lite Hash Rate]
|
||||
2505 GA106
|
||||
2507 GA106 [Geforce RTX 3050]
|
||||
2520 GA106M [GeForce RTX 3060 Mobile / Max-Q]
|
||||
2523 GA106M [GeForce RTX 3050 Ti Mobile / Max-Q]
|
||||
252f GA106 [GeForce RTX 3060 Engineering Sample]
|
||||
2531 GA106 [RTX A2000]
|
||||
2560 GA106M [GeForce RTX 3060 Mobile / Max-Q]
|
||||
2563 GA106M [GeForce RTX 3050 Ti Mobile / Max-Q]
|
||||
2571 GA106 [RTX A2000 12GB]
|
||||
2583 GA107 [GeForce RTX 3050]
|
||||
25a0 GA107M [GeForce RTX 3050 Ti Mobile]
|
||||
25a2 GA107M [GeForce RTX 3050 Mobile]
|
||||
25a4 GA107
|
||||
25a5 GA107M [GeForce RTX 3050 Mobile]
|
||||
25a6 GA107M [GeForce MX570]
|
||||
25a7 GA107M [GeForce MX570]
|
||||
25a9 GA107M [GeForce RTX 2050]
|
||||
25af GA107 [GeForce RTX 3050 Engineering Sample]
|
||||
25b5 GA107GLM [RTX A4 Mobile]
|
||||
# A16 - 25B6 10DE 14A9 / A2 - 25B6 10DE 157E
|
||||
25b6 GA107GL [A2 / A16]
|
||||
25b8 GA107GLM [RTX A2000 Mobile]
|
||||
25b9 GA107GLM [RTX A1000 Laptop GPU]
|
||||
25ba GA107GLM [RTX A2000 8GB Laptop GPU]
|
||||
25e0 GA107BM [GeForce RTX 3050 Ti Mobile]
|
||||
25e2 GA107BM [GeForce RTX 3050 Mobile]
|
||||
25e5 GA107BM [GeForce RTX 3050 Mobile]
|
||||
25f9 GA107 [RTX A1000 Embedded GPU ]
|
||||
25fa GA107 [RTX A2000 Embedded GPU]
|
||||
10df Emulex Corporation
|
||||
0720 OneConnect NIC (Skyhawk)
|
||||
103c 1934 FlexFabric 20Gb 2-port 650M Adapter
|
||||
@ -12689,6 +12758,7 @@
|
||||
1028 09be Latitude 7410
|
||||
17aa 224f ThinkPad X1 Carbon 5th Gen
|
||||
5260 RTS5260 PCI Express Card Reader
|
||||
5261 RTS5261 PCI Express Card Reader
|
||||
5286 RTS5286 PCI Express Card Reader
|
||||
5287 RTL8411B PCI Express Card Reader
|
||||
1025 1094 Acer Aspire E5-575G
|
||||
@ -12790,6 +12860,8 @@
|
||||
103c 2a6f Asus IPIBL-LB Motherboard
|
||||
103c 825b OMEN-17-w001nv
|
||||
103c 8615 Pavilion Laptop 15-cw1xxx
|
||||
# Rev 29, uses r8169 Driver on Linux
|
||||
103c 8882 HP ProDesk 405 G8 Desktop Mini PC
|
||||
1043 11f5 Notebook motherboard (one of many models)
|
||||
1043 16d5 U6V/U31J laptop
|
||||
1043 81aa P5B
|
||||
@ -13699,6 +13771,8 @@
|
||||
9082 Standard AHCI 1.0 SATA Controller
|
||||
9140 HDMI Audio Device
|
||||
9201 USB3.0 Controller
|
||||
# Centaur CNS Coprocessor
|
||||
9380 Ncore Coprocessor
|
||||
9530 VX800/820/900 Series Secure Digital Memory Card Controller
|
||||
95d0 VX800/820/900 Series SDIO Host Controller
|
||||
a208 PT890 PCI to PCI Bridge Controller
|
||||
@ -16795,6 +16869,7 @@
|
||||
# PI7C9X20508GP 5Port-8Lane PCI Express Switch GreenPacket Family
|
||||
0508 PI7C9X20508GP PCI Express Switch 5Port-8Lane
|
||||
2304 PI7C9X2G304 EL/SL PCIe2 3-Port/4-Lane Packet Switch
|
||||
2308 PI7C9X2G308GP 8-lane PCI Express 2.0 Switch with 3 PCI Express ports
|
||||
2404 PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch
|
||||
2608 PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch
|
||||
ea50 cc10 RXi2-BP
|
||||
@ -17454,6 +17529,8 @@
|
||||
13a3 0036 DX1730 Acceleration Card
|
||||
0037 8204 Acceleration Processor
|
||||
13a3 0036 DX1740 Acceleration Card
|
||||
9240 XR9240 Compression and Security Coprocessor [Panther II]
|
||||
13a3 9200 DX2040 Compression and Security Acceleration Card [Panther II]
|
||||
13a4 Rascom Inc
|
||||
13a5 Audio Digital Imaging Inc
|
||||
13a6 Videonics Inc
|
||||
@ -19077,11 +19154,15 @@
|
||||
103c 1240 Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)
|
||||
14c2 DTK Computer
|
||||
14c3 MEDIATEK Corp.
|
||||
0608 RZ608 Wi-Fi 6E 80MHz
|
||||
0616 MT7922 802.11ax PCI Express Wireless Network Adapter
|
||||
7612 MT7612E 802.11acbgn PCI Express Wireless Network Adapter
|
||||
7615 MT7615E 802.11ac PCI Express Wireless Network Adapter
|
||||
7630 MT7630e 802.11bgn Wireless Network Adapter
|
||||
# MT7612E too?
|
||||
7662 MT7662E 802.11ac PCI Express Wireless Network Adapter
|
||||
7915 MT7915E 802.11ax PCI Express Wireless Network Adapter
|
||||
7961 MT7921 802.11ax PCI Express Wireless Network Adapter
|
||||
14c4 IWASAKI Information Systems Co Ltd
|
||||
14c5 Automation Products AB
|
||||
14c6 Data Race Inc
|
||||
@ -19424,6 +19505,10 @@
|
||||
1259 2708 AT-2712 FX
|
||||
# The Broadcom 57800 device has two 1Gig ports and two 10Gig ports. The subsystem information can be used to differentiate.
|
||||
168a NetXtreme II BCM57800 1/10 Gigabit Ethernet
|
||||
# SFP+ ports
|
||||
1014 0493 PCIe2 LP 4-Port (10Gb+1GbE) SR+RJ45 Adapter (FC EN0T; CCIN 2CC3)
|
||||
# RJ-45 ports
|
||||
1014 0494 PCIe2 LP 4-Port (10Gb+1GbE) SR+RJ45 Adapter (FC EN0T; CCIN 2CC3)
|
||||
1028 1f5c BCM57800 10-Gigabit Ethernet
|
||||
1028 1f5d BCM57800 10-Gigabit Ethernet
|
||||
1028 1f67 BCM57800 1-Gigabit Ethernet
|
||||
@ -20635,6 +20720,7 @@
|
||||
07b0 VMXNET3 Ethernet Controller
|
||||
07c0 PVSCSI SCSI Controller
|
||||
07e0 SATA AHCI controller
|
||||
07f0 NVMe SSD Controller
|
||||
0801 Virtual Machine Interface
|
||||
15ad 0800 Hypervisor ROM Interface
|
||||
0820 Paravirtual RDMA controller
|
||||
@ -20668,6 +20754,8 @@
|
||||
021d MT43244 Family [BlueField-3 Secure Flash Recovery]
|
||||
021e CX8 Family [ConnectX-8 Flash Recovery]
|
||||
021f CX8 Family [ConnectX-8 Secure Flash Recovery]
|
||||
0220 BF4 Family Flash Recovery [BlueField-4 SoC Flash Recovery]
|
||||
0221 BF4 Family Secure Flash Recovery [BlueField-4 Secure Flash Recovery]
|
||||
024e MT53100 [Spectrum-2, Flash recovery mode]
|
||||
024f MT53100 [Spectrum-2, Secure Flash recovery mode]
|
||||
0250 Spectrum-3, Flash recovery mode
|
||||
@ -20679,6 +20767,7 @@
|
||||
0256 Abir GearBox
|
||||
0257 Quantum-2 in Flash Recovery Mode
|
||||
0258 Quantum-2 RMA
|
||||
0259 Abir Chiplet
|
||||
0262 MT27710 [ConnectX-4 Lx Programmable] EN
|
||||
0263 MT27710 [ConnectX-4 Lx Programmable Virtual Function] EN
|
||||
0264 Innova-2 Flex Burn image
|
||||
@ -20686,6 +20775,7 @@
|
||||
0271 Spectrum-4L, RMA
|
||||
0274 Spectrum-4C, Flash recovery mode
|
||||
0275 Spectrum-4C RMA
|
||||
0277 Spectrum-4TOR RMA
|
||||
0281 NPS-600 Flash Recovery
|
||||
1002 MT25400 Family [ConnectX-2 Virtual Function]
|
||||
1003 MT27500 Family [ConnectX-3]
|
||||
@ -20857,10 +20947,14 @@
|
||||
a2da MT43244 BlueField-3 SoC Crypto enabled
|
||||
a2db MT43244 BlueField-3 SoC Crypto disabled
|
||||
a2dc MT43244 BlueField-3 integrated ConnectX-7 network controller
|
||||
a2dd BF4 Family Crypto enabled [BlueField-4 SoC Crypto enabled]
|
||||
a2de BF4 Family Crypto disabled [BlueField-4 SoC Crypto disabled]
|
||||
a2df BF4 Family integrated network controller [BlueField-4 integrated network controller]
|
||||
c2d2 MT416842 BlueField SoC management interfac
|
||||
c2d3 MT42822 BlueField-2 SoC Management Interface
|
||||
c2d4 MT43162 BlueField-3 Lx SoC Management Interface
|
||||
c2d5 MT43244 BlueField-3 SoC Management Interface
|
||||
c2d6 BF4 Family Management Interface [BlueField-4 SoC Management Interface]
|
||||
# SwitchX-2, 40GbE switch
|
||||
c738 MT51136
|
||||
c739 MT51136 GW
|
||||
@ -20956,8 +21050,9 @@
|
||||
15cc Hotrail Inc
|
||||
15cd Dreamtech Co Ltd
|
||||
15ce Genrad Inc
|
||||
15cf Hilscher GmbH
|
||||
0000 CIFX 50E-DP(M/S)
|
||||
# https://www.hilscher.com/imprint/
|
||||
15cf Hilscher Gesellschaft für Systemautomation mbH
|
||||
0000 CIFX PCI/PCIe
|
||||
15d1 Infineon Technologies AG
|
||||
15d2 FIC (First International Computer Inc)
|
||||
15d3 NDS Technologies Israel Ltd
|
||||
@ -21819,6 +21914,32 @@
|
||||
a036 ThunderX RAD (RAID acceleration engine) virtual function
|
||||
a037 THUNDERX ZIP virtual function
|
||||
a040 THUNDERX CPT Cryptographic Accelerator
|
||||
# MAC found on OcteonTx2 series of silicons
|
||||
a059 Octeon TX2 CGX (MAC)
|
||||
# MAC found on Octeon 10 series of silicons
|
||||
a060 Octeon 10 RPM (MAC)
|
||||
# Octeon Tx2 Loopback Interface block
|
||||
a061 Octeon Tx2 Loopback Interface (LBK)
|
||||
# Octeon Tx2 Resource Virtualization Unit Physical Function
|
||||
a063 Octeon Tx2 RVU Physical Function
|
||||
# Octeon Tx2 Resource Virtualization Unit Virtual Function
|
||||
a064 Octeon Tx2 RVU Virtual Function
|
||||
# Octeon Tx2 Resource Virtualization Unit Admin Function
|
||||
a065 Octeon Tx2 RVU Admin Function
|
||||
# PTP Timestamping unit on Octeon 10 silicon series
|
||||
a09e Octeon 10 PTP controller
|
||||
# Cryptographic Accelerator found on Octeon 10 series of silicons
|
||||
a0f2 Octeon 10 CPT Cryptographic Accelerator, Physical function
|
||||
a0f3 Octeon 10 CPT Cryptographic Accelerator, Virtual function
|
||||
# Octeon Tx2 System DPI Interface (SDP) Physical Function
|
||||
a0f6 Octeon Tx2 SDP Physical Function
|
||||
# Octeon Tx2 System DPI Interface (SDP) Virtual Function
|
||||
a0f7 Octeon Tx2 SDP Virtual Function
|
||||
a0f8 Octeon Tx2 Loopback Interface Virtual Function (LBKVF)
|
||||
# Cryptographic Accelerator found on OcteonTx2 series of silicons
|
||||
a0fd Octeon Tx2 CPT Cryptographic Accelerator, Physical function
|
||||
# Cryptographic Accelerator found on OcteonTx2 series of silicons
|
||||
a0fe Octeon Tx2 CPT Cryptographic Accelerator, Virtual function
|
||||
a100 THUNDERX CN88XX 48 core SoC
|
||||
a200 OCTEON TX CN81XX/CN80XX
|
||||
a300 OCTEON TX CN83XX
|
||||
@ -21933,6 +22054,8 @@
|
||||
0401 Datacenter Technologies QDF2400 PCI Express Root Port
|
||||
1000 QCS405 PCIe Root Complex
|
||||
1101 QCA6390 Wireless Network Adapter [AX500-DBS (2x2)]
|
||||
1103 Atheros QCNFA765
|
||||
1104 QCN6024/9024/9074 Wireless Network Adapter
|
||||
17cc NetChip Technology, Inc
|
||||
2280 USB 2.0
|
||||
17cd Cadence Design Systems, Inc.
|
||||
@ -22806,6 +22929,10 @@
|
||||
0011 FlexCard PMC-II Ethernet
|
||||
0018 FlexCard PXIe3
|
||||
0019 FlexCard PCIe3
|
||||
# IO card for std ethernet and automotive ethernet (ieee 1000Base-T1)
|
||||
001a FlexCard PXIe Ethernet
|
||||
# IO card for std ethernet and automotive ethernet (ieee 1000Base-T1)
|
||||
001b FlexCard PCIe Ethernet
|
||||
1976 TRENDnet
|
||||
1977 Parsec
|
||||
197b JMicron Technology Corp.
|
||||
@ -23137,6 +23264,11 @@
|
||||
1aa8 Ciprico, Inc.
|
||||
0009 RAIDCore Controller
|
||||
000a RAIDCore Controller
|
||||
1aa9 Schweitzer Engineering Laboratories
|
||||
000d SEL-3390S8 Serial Adapter
|
||||
000e SEL-3390E4 Ethernet Adapter
|
||||
0014 SEL-3390T Time and Ethernet Adapter
|
||||
0018 SEL-3390E4 Ethernet Adapter
|
||||
1aae Global Velocity, Inc.
|
||||
1ab4 Distributed Management Task Force, Inc. (DMTF)
|
||||
1ab6 CalDigit, Inc.
|
||||
@ -23207,6 +23339,8 @@
|
||||
0a58 microEnable 5 VD8-CL
|
||||
# CameraLink frame grabber
|
||||
0a5a microEnable 5 AD8-CL
|
||||
# CoaXpress frame grabber
|
||||
0a64 imaWorx CXP-12 Quad
|
||||
# OEM product
|
||||
0b52 mE5 Abacus 4G Base
|
||||
# OEM product
|
||||
@ -23311,12 +23445,15 @@
|
||||
1080 ASM1083/1085 PCIe to PCI Bridge
|
||||
1849 1080 Motherboard
|
||||
1142 ASM1042A USB 3.0 Host Controller
|
||||
1166 ASM1166 Serial ATA Controller
|
||||
1182 ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
|
||||
1b21 118f ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
|
||||
1184 ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
|
||||
1849 1184 ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
|
||||
1187 ASM1187e 7-Port PCIe x1 Gen2 Packet Switch
|
||||
1242 ASM1142 USB 3.1 Host Controller
|
||||
1343 ASM1143 USB 3.1 Host Controller
|
||||
1812 ASM1812 6-Port PCIe x4 Gen2 Packet Switch
|
||||
2142 ASM2142 USB 3.1 Host Controller
|
||||
1462 7a72 H270 PC MATE
|
||||
2824 ASM2824 PCIe Gen3 Packet Switch
|
||||
@ -23392,6 +23529,8 @@
|
||||
2241 88NR2241 Non-Volatile memory controller
|
||||
1028 2112 BOSS-N1 Monolithic
|
||||
1028 2113 BOSS-N1 Modular
|
||||
1028 2151 BOSS-N1 Modular ET
|
||||
1028 2196 ROR-N100
|
||||
1d49 0306 ThinkSystem M.2 NVMe 2-Bay RAID Enablement Kit
|
||||
1d49 0307 ThinkSystem 7mm NVMe 2-Bay Rear RAID Enablement Kit
|
||||
9120 88SE9120 SATA 6Gb/s Controller
|
||||
@ -23401,6 +23540,7 @@
|
||||
9128 88SE9128 PCIe SATA 6 Gb/s RAID controller
|
||||
9130 88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo
|
||||
1043 8438 P8P67 Deluxe Motherboard
|
||||
9170 88SE9170 PCIe 2.0 x1 2-port SATA 6 Gb/s Controller
|
||||
9172 88SE9172 SATA 6Gb/s Controller
|
||||
9178 88SE9170 PCIe SATA 6Gb/s Controller
|
||||
917a 88SE9172 SATA III 6Gb/s RAID Controller
|
||||
@ -23532,9 +23672,22 @@
|
||||
1bb1 0151 Nytro 5520
|
||||
# Kersey 2.5" TCG
|
||||
1bb1 0152 Nytro 5520 TCG
|
||||
# Nytro 5050H (Ebonhawk - High Performance)
|
||||
1bb1 0153 Nytro 5050H
|
||||
# Nytro 5050H TCG (Ebonhawk High Performance)
|
||||
1bb1 0154 Nytro 5050H TCG
|
||||
# Nytro 5050M (Ebonhawk Mainstream Performance)
|
||||
1bb1 0155 Nytro 5050M
|
||||
# Nytro 5050M TCG (Ebonhawk Mainstream Performance)
|
||||
1bb1 0156 Nytro 5050M TCG
|
||||
# Nytro 5050M (Ebonhawk Mainstream Performance) - 7mm
|
||||
1bb1 0157 Nytro 5050M 7mm
|
||||
# Nytro 5050M (Ebonhawk Mainstream Performance) TCG - 7mm
|
||||
1bb1 0158 Nytro 5050M TCG 7mm
|
||||
1bb1 01a1 Nytro XP7102
|
||||
5012 FireCuda 510 SSD
|
||||
5016 FireCuda 520 SSD
|
||||
5018 FireCuda 530 SSD
|
||||
1bb3 Bluecherry
|
||||
4304 BC-04120A MPEG4 4 port video encoder / decoder
|
||||
4309 BC-08240A MPEG4 4 port video encoder / decoder
|
||||
@ -23688,8 +23841,22 @@
|
||||
1028 2149 DC NVMe SED PE8010 RI U.2 7.68TB
|
||||
1028 214a DC NVMe PE8010 RI U.2 7.68TB
|
||||
1c5c 0100 PE8000 Series NVMe Solid State Drive
|
||||
2849 PE81x0 U.2/3 NVMe Solid State Drive
|
||||
1c5f Beijing Memblaze Technology Co. Ltd.
|
||||
000d PBlaze5 520/526
|
||||
000e PBlaze6 6530
|
||||
1c5f 0b20 NVMe SSD PBlaze6 6530 1920G AIC
|
||||
1c5f 0b21 NVMe SSD PBlaze6 6530 1920G 2.5" U.2
|
||||
1c5f 0b30 NVMe SSD PBlaze6 6530 3840G AIC
|
||||
1c5f 0b31 NVMe SSD PBlaze6 6530 3840G 2.5" U.2
|
||||
1c5f 0b40 NVMe SSD PBlaze6 6530 7680G AIC
|
||||
1c5f 0b41 NVMe SSD PBlaze6 6530 7680G 2.5" U.2
|
||||
1c5f 4b20 NVMe SSD PBlaze6 6530 1600G AIC
|
||||
1c5f 4b21 NVMe SSD PBlaze6 6530 1600G 2.5" U.2
|
||||
1c5f 4b30 NVMe SSD PBlaze6 6530 3200G AIC
|
||||
1c5f 4b31 NVMe SSD PBlaze6 6530 3200G 2.5" U.2
|
||||
1c5f 4b40 NVMe SSD PBlaze6 6530 6400G AIC
|
||||
1c5f 4b41 NVMe SSD PBlaze6 6530 6400G 2.5" U.2
|
||||
003d PBlaze5 920/926
|
||||
003e PBlaze6 6920
|
||||
1c5f 0a31 NVMe SSD PBlaze6 6920 3840GB 2.5" U.2
|
||||
@ -23738,6 +23905,8 @@
|
||||
0002 Clarett
|
||||
1cb8 Dawning Information Industry Co., Ltd.
|
||||
1cc1 ADATA Technology Co., Ltd.
|
||||
# 256GB NVMe SSD
|
||||
5766 ADATA XPG GAMMIXS1 1L Media
|
||||
8201 XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive
|
||||
1cc4 Union Memory (Shenzhen)
|
||||
1203 NVMe SSD Controller UHXXXa series
|
||||
@ -23751,6 +23920,7 @@
|
||||
1cc4 a213 NVMe SSD UHXXXa series U.2 3200GB
|
||||
1cc4 a214 NVMe SSD UHXXXa series U.2 6400GB
|
||||
17ab NVMe 256G SSD device
|
||||
6303 AM630 PCIe 4.0 x4 NVMe SSD Controller
|
||||
1cc5 Embedded Intelligence, Inc.
|
||||
0100 CAN-PCIe-02
|
||||
1cc7 Radian Memory Systems Inc.
|
||||
@ -23946,6 +24116,7 @@
|
||||
101c AR-ARK-SRIOV-VF [Arkville Virtual Function]
|
||||
101d AR-ARK-NIC [Arkville ArkNIC Kernel Path Device]
|
||||
101e AR-ARKA-FX1 [Arkville 64B DPDK Data Mover for Agilex R-Tile]
|
||||
101f AR-TK242 [2x100GbE Packet Capture Device]
|
||||
4200 A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument]
|
||||
1d72 Xiaomi
|
||||
1d78 DERA Storage
|
||||
@ -24157,6 +24328,9 @@
|
||||
2000 NoLoad Hardware Development Kit
|
||||
3000 eBPF-based PCIe Accelerator
|
||||
1ded Alibaba (China) Co., Ltd.
|
||||
# A RDMA (iWarp) device provided by Alibaba Cloud used in ECS environment
|
||||
107f Elastic RDMA Adapter
|
||||
5007 Elastic RDMA Adapter
|
||||
8000 M1 Root Port
|
||||
8001 ACC-RCiEP
|
||||
8002 RCiEP VF
|
||||
@ -24264,9 +24438,20 @@
|
||||
1028 210e Dell Ent NVMe FIPS CM6 MU 1.6TB
|
||||
1028 210f Dell Ent NVMe FIPS CM6 MU 3.2TB
|
||||
1028 2110 Dell Ent NVMe FIPS CM6 MU 6.4TB
|
||||
1e0f 0001 Generic NVMe CM6 RI 3.84TB
|
||||
1e0f 0001 Generic NVMe CM6
|
||||
0009 NVMe SSD
|
||||
1e0f 0001 Toshiba RC500 NVMe SSD 500GB
|
||||
0011 NVMe SSD Controller CD7
|
||||
1028 2189 DC NVMe SED CD7 RI 960GB
|
||||
1028 218a DC NVMe CD7 RI 960GB
|
||||
1028 218b DC NVMe SED CD7 RI 1.92TB
|
||||
1028 218c DC NVMe CD7 RI 1.92TB
|
||||
1028 218d DC NVMe SED CD7 RI 3.84TB
|
||||
1028 218e DC NVMe CD7 RI 3.84TB
|
||||
1028 218f DC NVMe SED CD7 RI 7.68TB
|
||||
1028 2190 DC NVMe CD7 RI 7.68TB
|
||||
1028 2191 DC NVMe SED CD7 RI 15.36TB
|
||||
1028 2192 DC NVMe CD7 RI 15.36TB
|
||||
1e17 Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
|
||||
1e24 Squirrels Research Labs
|
||||
0101 Acorn CLE-101
|
||||
@ -24296,7 +24481,7 @@
|
||||
0102 Xplorer X1600
|
||||
# https://www.medion.com/
|
||||
1e39 MEDION AG
|
||||
1e3b Shenzhen DAPU Microelectronics Co., Ltd
|
||||
1e3b DapuStor Corporation
|
||||
0600 NVMe SSD Controller DPU600
|
||||
1e3b 0030 Enterprise NVMe SSD U.2 3.84TB (J5100)
|
||||
1e3b 0031 Enterprise NVMe SSD U.2 7.68TB (J5100)
|
||||
@ -24359,6 +24544,7 @@
|
||||
1e3b 0091 Enterprise NVMe SSD HHHL 0.75TB (H3900)
|
||||
1e3d Burlywood, Inc
|
||||
1e49 Yangtze Memory Technologies Co.,Ltd
|
||||
0041 ZHITAI TiPro7000
|
||||
# YMTC PCIe/NVMe SSD
|
||||
1013 PC210
|
||||
1e4b MAXIO Technology (Hangzhou) Ltd.
|
||||
@ -24377,6 +24563,9 @@
|
||||
0000 0100 PY8800 64GB Accelerator
|
||||
1e59 Oxford Nanopore Technologies
|
||||
0001 MinION Mk1C
|
||||
1e5d ASR Microelectronics
|
||||
7000 AI controller A7000
|
||||
7010 AI controller A7010
|
||||
1e60 Hailo Technologies Ltd.
|
||||
2864 Hailo-8 AI Processor
|
||||
1e68 Jiangsu Xinsheng Intelligent Technology Co., Ltd
|
||||
@ -24414,14 +24603,22 @@
|
||||
1eab Hefei DATANG Storage Technology Co.,LTD.
|
||||
300a NVMe SSD Controller 300A
|
||||
300b NVMe SSD Controller 300B
|
||||
1eac Quectel Wireless Solutions Co., Ltd.
|
||||
1001 EM120R-GL LTE Modem
|
||||
1002 EM160R-GL LTE Modem
|
||||
1eae XFX Limited
|
||||
1eb1 VeriSilicon Inc
|
||||
1001 Video Accelerator
|
||||
1eb4 Quantum Nebula Microelectronics Technology Co.,Ltd.
|
||||
3401 SSD Contoller
|
||||
1ebd EMERGETECH Company Ltd.
|
||||
0101 Seirios 2063 Video Codec
|
||||
1ed2 FuriosaAI, Inc.
|
||||
0000 Warboy
|
||||
1ed3 Yeston
|
||||
1ed5 Moore Threads Technology Co.,Ltd
|
||||
0100 MTT S10
|
||||
0101 MTT S30
|
||||
1ed8 Digiteq Automotive
|
||||
0101 FG4 PCIe Frame Grabber
|
||||
1ed9 Myrtle.ai
|
||||
@ -24439,6 +24636,13 @@
|
||||
5220 IG5220-Based NVMe SSD
|
||||
5236 IG5236-Based NVMe SSD
|
||||
5636 IG5636-Based NVMe SSD
|
||||
1f2f China Mobile (Hangzhou) Information Technology Co.Ltd.
|
||||
1513 DERA MENG NVMe Controller
|
||||
1f2f 6113 KM660 U.2 1.6TB NVMe SSD
|
||||
1f2f 6114 KM560 U.2 1.92TB NVMe SSD
|
||||
1f2f 6115 KM660 U.2 3.2TB NVMe SSD
|
||||
1f2f 6116 KM560 U.2 3.84TB NVMe SSD
|
||||
1f2f 6118 KM560 U.2 7.68TB NVMe SSD
|
||||
1fab Unifabrix Ltd.
|
||||
0000 Nexus Alpha IVPU
|
||||
# nee Tumsan Oy
|
||||
@ -25182,6 +25386,12 @@
|
||||
1400 CooVOX TDM GSM Module
|
||||
1600 CooVOX TDM E1/T1 Module
|
||||
1800 CooVOX TDM BRI Module
|
||||
6766 Glenfly Tech Co., Ltd.
|
||||
3d00 Arise-GT-10C0
|
||||
3d02 Arise 1020
|
||||
3d40 Arise-GT-10C0 High Definition Audio Controller
|
||||
3d41 Arise 1020 High Definition Audio Controller
|
||||
6899 ZT Systems
|
||||
# nee Qumranet
|
||||
6900 Red Hat, Inc.
|
||||
7063 pcHDTV
|
||||
@ -25194,6 +25404,9 @@
|
||||
7401 EndRun Technologies
|
||||
e100 PTP3100 PCIe PTP Slave Clock
|
||||
7470 TP-LINK Technologies Co., Ltd.
|
||||
7526 HongQin (Beijing) Technology Co., Ltd.
|
||||
0082 HQ SSD 1TB
|
||||
0083 HQ SSD 2TB M.2 NVMe
|
||||
7604 O.N. Electronic Co Ltd.
|
||||
7bde MIDAC Corporation
|
||||
7fed PowerTV
|
||||
@ -26006,6 +26219,12 @@
|
||||
1028 2102 NVMe RI U.2 1.92TB (P5500)
|
||||
1028 2103 NVMe RI U.2 3.84TB (P5500)
|
||||
1028 2104 NVMe RI U.2 7.68TB (P5500)
|
||||
1028 219a NVMe P5316 RI 15.36TB
|
||||
1028 219b NVMe P5316 RI 30.72TB
|
||||
1028 219c NVMe SED P5316 RI 15.36
|
||||
1028 219d NVMe SED P5316 RI 30.72
|
||||
1028 219e NVMe FIPS P5316 RI 15.36TB
|
||||
1028 219f NVMe FIPS P5316 RI 30.72
|
||||
8086 8008 NVMe Datacenter SSD [3DNAND] SE 2.5" U.2 (P5510)
|
||||
8086 8d08 NVMe Datacenter SSD [3DNAND] VE 2.5" U.2 (P5316)
|
||||
8086 8d1d NVMe Datacenter SSD [3DNAND] VE E1.L 9.5/18mm (P5316)
|
||||
@ -26114,8 +26333,15 @@
|
||||
8086 0001 Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking
|
||||
0d9f Ethernet Controller (2) I225-IT
|
||||
0dd2 Ethernet Network Adapter I710
|
||||
1137 0000 I710T4LG 4x1 GbE RJ45 PCIe NIC
|
||||
1137 02e3 I710T4LG 4x1 GbE RJ45 PCIe NIC
|
||||
8086 0000 Ethernet Network Adapter I710-T4L
|
||||
8086 000d Ethernet Network Adapter I710-T4L
|
||||
8086 0010 Ethernet Network Adapter I710-T4L for OCP 3.0
|
||||
8086 401a Ethernet Network Adapter I710-T4L
|
||||
8086 401b Ethernet Network Adapter I710-T4L for OCP 3.0
|
||||
0dda Ethernet Connection X722 for 10GbE SFP+
|
||||
1bd4 0076 Ethernet Connection X722 for 10GbE SFP+
|
||||
0e00 Xeon E7 v2/Xeon E5 v2/Core i7 DMI2
|
||||
1028 04f7 Xeon E5 v2 on PowerEdge R320 server
|
||||
15d9 066b X9SRL-F
|
||||
@ -27466,6 +27692,7 @@
|
||||
8086 000c Ethernet 100G 2P E810-C OCP
|
||||
8086 000d Ethernet Network Adapter E810-L-Q2 for OCP 3.0
|
||||
8086 000e Ethernet Network Adapter E810-2C-Q2
|
||||
8086 0010 Ethernet 100G 2P E810-C-stg Adapter
|
||||
1593 Ethernet Controller E810-C for SFP
|
||||
1137 02c3 E810XXVDA4 4x25/10 GbE SFP28 PCIe NIC
|
||||
8086 0002 Ethernet Network Adapter E810-L-2
|
||||
@ -27478,7 +27705,10 @@
|
||||
8086 000c Ethernet Network Adapter E810-XXV-4 for OCP 3.0
|
||||
8086 000d Ethernet 25G 4P E810-XXV OCP
|
||||
8086 000e Ethernet Network Adapter E810-XXV-4T
|
||||
8086 000f Ethernet 25G 4P E810-XXV-stg Adapter
|
||||
8086 0010 Ethernet 25G 4P E810-XXV-st Adapter
|
||||
1599 Ethernet Controller E810-XXV for backplane
|
||||
8086 0001 Ethernet 25G 2P E810-XXV-k Mezz
|
||||
159a Ethernet Controller E810-XXV for QSFP
|
||||
159b Ethernet Controller E810-XXV for SFP
|
||||
1137 02be E810XXVDA2 2x25/10 GbE SFP28 PCIe NIC
|
||||
@ -31187,6 +31417,7 @@
|
||||
3432 5520/5500/X58 Chipset QuickData Technology Device
|
||||
3433 5520/5500/X58 Chipset QuickData Technology Device
|
||||
3438 7500/5520/5500/X58 I/O Hub Throttle Registers
|
||||
347e Ice Lake Xeon Non-Transparent Bridge
|
||||
3482 Ice Lake-LP LPC Controller
|
||||
34a3 Ice Lake-LP SMBus Controller
|
||||
34a4 Ice Lake-LP SPI Controller
|
||||
@ -31997,8 +32228,10 @@
|
||||
8086 02a4 Wireless-AC 9462
|
||||
444e Turbo Memory Controller
|
||||
460d 12th Gen Core Processor PCI Express x16 Controller #1
|
||||
461d Alder Lake Innovation Platform Framework Processor Participant
|
||||
461e Alder Lake-P Thunderbolt 4 USB Controller
|
||||
461f Alder Lake-P Thunderbolt 4 PCI Express Root Port #3
|
||||
4626 Alder Lake-P Integrated Graphics Controller
|
||||
4629 12th Gen Core Processor Host Bridge/DRAM Registers
|
||||
462f Alder Lake-P Thunderbolt 4 PCI Express Root Port #2
|
||||
463d 12th Gen Core Processor PCI Express x4 Controller #2
|
||||
@ -32007,6 +32240,7 @@
|
||||
4641 12th Gen Core Processor Host Bridge/DRAM Registers
|
||||
464d 12th Gen Core Processor PCI Express x4 Controller #0
|
||||
464f 12th Gen Core Processor Gaussian & Neural Accelerator
|
||||
4660 12th Gen Core Processor Host Bridge/DRAM Registers
|
||||
466d Alder Lake-P Thunderbolt 4 NHI #1
|
||||
466e Alder Lake-P Thunderbolt 4 PCI Express Root Port #0
|
||||
467d Platform Monitoring Technology
|
||||
@ -32015,6 +32249,7 @@
|
||||
46a0 AlderLake-P GT2
|
||||
46a1 UHD Graphics
|
||||
46a3 Alder Lake-P GT1 [UHD Graphics]
|
||||
46a6 Alder Lake-P Integrated Graphics Controller
|
||||
46c0 AlderLake-M GT1
|
||||
4905 DG1 [Iris Xe MAX Graphics]
|
||||
4906 DG1 [Iris Xe Pod]
|
||||
@ -32026,8 +32261,9 @@
|
||||
4c8b RocketLake-S GT1 [UHD Graphics 730]
|
||||
4c90 RocketLake-S GT1 [UHD Graphics P750]
|
||||
4c9a RocketLake-S [UHD Graphics]
|
||||
4da3 JaserLake SMBus
|
||||
4da4 JaserLake SPI (flash) Controller
|
||||
4da3 Jasper Lake SMBus
|
||||
4da4 Jasper Lake SPI Controller
|
||||
4dc8 Jasper Lake HD Audio
|
||||
4de0 Management Engine Interface
|
||||
4de8 Serial IO I2C Host Controller
|
||||
4de9 Serial IO I2C Host Controller
|
||||
@ -32088,8 +32324,11 @@
|
||||
504b EP80579 Reserved
|
||||
504c EP80579 Integrated Processor with QuickAssist TDM
|
||||
5181 Alder Lake PCH-P LPC/eSPI Controller
|
||||
5182 Alder Lake PCH eSPI Controller
|
||||
51a3 Alder Lake PCH-P SMBus Host Controller
|
||||
51a4 Alder Lake-P PCH SPI Controller
|
||||
51a8 Alder Lake PCH UART #0
|
||||
51a9 Alder Lake PCH UART #1
|
||||
51bf Alder Lake PCH-P PCI Express Root Port #9
|
||||
51c5 Alder Lake-P Serial IO I2C Controller #0
|
||||
51c6 Alder Lake-P Serial IO I2C Controller #1
|
||||
@ -32471,6 +32710,20 @@
|
||||
10b4 202f Lightspeed 740
|
||||
8086 0000 Terminator 2x/i
|
||||
8086 0100 Intel740 Graphics Accelerator
|
||||
# Unlike other PCH components. The eSPI controller is specific to each chipset model
|
||||
7a84 Z690 Chipset LPC/eSPI Controller
|
||||
7aa3 Alder Lake-S PCH SMBus Controller
|
||||
7aa4 Alder Lake-S PCH SPI Controller
|
||||
7aa7 Alder Lake-S PCH Shared SRAM
|
||||
7ab4 Alder Lake-S PCH PCI Express Root Port #13
|
||||
7abd Alder Lake-S PCH PCI Express Root Port #6
|
||||
7acc Alder Lake-S PCH I2C Controller #0
|
||||
7ad0 Alder Lake-S HD Audio Controller
|
||||
7ae0 Alder Lake-S PCH USB 3.2 Gen 2x2 XHCI Controller
|
||||
7ae2 Alder Lake-S PCH SATA Controller [AHCI Mode]
|
||||
7ae8 Alder Lake-S PCH HECI Controller #1
|
||||
7af0 Alder Lake-S PCH CNVi WiFi
|
||||
8086 0094 Wi-Fi 6 AX201 160MHz
|
||||
8002 Trusted Execution Technology Registers
|
||||
8003 Trusted Execution Technology Registers
|
||||
8100 US15W/US15X SCH [Poulsbo] Host Bridge
|
||||
@ -32840,6 +33093,7 @@
|
||||
1028 09be Latitude 7410
|
||||
9b63 10th Gen Core Processor Host Bridge/DRAM Registers
|
||||
9b64 10th Gen Core Processor Host Bridge/DRAM Registers
|
||||
9ba8 CometLake-S GT1 [UHD Graphics 610]
|
||||
9bc4 CometLake-H GT2 [UHD Graphics]
|
||||
9bc5 CometLake-S GT2 [UHD Graphics 630]
|
||||
9bc8 CometLake-S GT2 [UHD Graphics 630]
|
||||
@ -33040,6 +33294,7 @@
|
||||
9d3d Sunrise Point-LP Active Management Technology - SOL
|
||||
103c 8079 EliteBook 840 G3
|
||||
17aa 2247 ThinkPad T570
|
||||
9d3e iTouch Controller
|
||||
9d43 Sunrise Point-LP LPC Controller
|
||||
17aa 382a B51-80 Laptop
|
||||
9d46 LPC/eSPI Controller
|
||||
@ -33094,6 +33349,7 @@
|
||||
9da4 Cannon Point-LP SPI Controller
|
||||
9da8 Cannon Point-LP Serial IO UART Controller #2
|
||||
9daa Cannon Point-LP Serial IO SPI Controller
|
||||
9dab Cannon Point-LP Serial IO SPI Controller
|
||||
9db0 Cannon Point-LP PCI Express Root Port #9
|
||||
9db1 Cannon Point-LP PCI Express Root Port #10
|
||||
9db2 Cannon Point-LP PCI Express Root Port #1
|
||||
@ -33104,6 +33360,7 @@
|
||||
9dbc Cannon Point-LP PCI Express Root Port #5
|
||||
9dbe Cannon Point-LP PCI Express Root Port #7
|
||||
9dbf Cannon Point PCI Express Root Port #8
|
||||
9dc4 Cannon Point-LP SD Host Controller
|
||||
9dc5 Cannon Point-LP Serial IO I2C Host Controller
|
||||
9dc8 Cannon Point-LP High Definition Audio Controller
|
||||
1028 089e Inspiron 5482
|
||||
@ -33467,7 +33724,7 @@
|
||||
a397 Comet Lake PCI Express Root Port #08
|
||||
a398 Comet Lake PCI Express Root Port 9
|
||||
a39a Comet Lake PCI Express Root Port 11
|
||||
a3a1 Memory controller
|
||||
a3a1 Cannon Lake PCH Power Management Controller
|
||||
a3a3 Comet Lake PCH-V SMBus Host Controller
|
||||
a3af Comet Lake PCH-V USB Controller
|
||||
a3b1 Comet Lake PCH-V Thermal Subsystem
|
||||
@ -33958,6 +34215,8 @@
|
||||
1bd4 0070 RS0800M5E24i
|
||||
1bd4 0071 RS0800M5H16i
|
||||
1bd4 0072 RS0800M5E16i
|
||||
1cc4 0101 Ramaxel FBGF-RAD PM8204
|
||||
1cc4 0201 Ramaxel FBGF-RAD PM8222
|
||||
1d49 0220 ThinkSystem 4350-8i SAS/SATA 12Gb HBA
|
||||
1d49 0221 ThinkSystem 4350-16i SAS/SATA 12Gb HBA
|
||||
1d49 0520 ThinkSystem RAID 5350-8i PCIe 12Gb Adapter
|
||||
@ -34244,6 +34503,8 @@ cddd Tyzx, Inc.
|
||||
0101 DeepSea 1 High Speed Stereo Vision Frame Grabber
|
||||
0200 DeepSea 2 High Speed Stereo Vision Frame Grabber
|
||||
ceba KEBA AG
|
||||
cf86 Spectrum-4TOR
|
||||
0276 Spectrum-4TOR in Flash Recovery Mode
|
||||
d161 Digium, Inc.
|
||||
0120 Wildcard TE120P single-span T1/E1/J1 card
|
||||
0205 Wildcard TE205P/TE207P dual-span T1/E1/J1 card 5.0V
|
||||
@ -34728,8 +34989,7 @@ C 11 Signal processing controller
|
||||
80 Signal processing controller
|
||||
C 12 Processing accelerators
|
||||
00 Processing accelerators
|
||||
# For the class of PCI attached devices which perform a function of Deep Learning Neural Network inference acceleration
|
||||
01 AI Inference Accelerator
|
||||
01 SNIA Smart Data Accelerator Interface (SDXI) controller
|
||||
C 13 Non-Essential Instrumentation
|
||||
C 40 Coprocessor
|
||||
C ff Unassigned class
|
||||
|
||||
@ -2499,6 +2499,9 @@
|
||||
<tr class="odd"><td>Kopin Corporation</td><td>KOP</td><td>10/01/2021</td> </tr>
|
||||
<tr class="even"><td>Anker Innovations Limited</td><td>AKR</td><td>12/10/2021</td> </tr>
|
||||
<tr class="odd"><td>SAMPO CORPORATION</td><td>SPO</td><td>12/10/2021</td> </tr>
|
||||
<tr class="even"><td>Shiftall Inc.</td><td>SFL</td><td>12/31/2021</td> </tr>
|
||||
<tr class="odd"><td>AudioControl</td><td>AUD</td><td>12/31/2021</td> </tr>
|
||||
<tr class="even"><td>Schneider Consumer Group</td><td>SCA</td><td>02/08/2022</td> </tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
# The latest version can be obtained from
|
||||
# http://www.linux-usb.org/usb.ids
|
||||
#
|
||||
# Version: 2021.10.24
|
||||
# Date: 2021-10-24 20:34:08
|
||||
# Version: 2022.03.18
|
||||
# Date: 2022-03-18 20:34:09
|
||||
#
|
||||
|
||||
# Vendors, devices and interfaces. Please keep sorted.
|
||||
@ -2712,6 +2712,8 @@
|
||||
0845 ConferenceCam CC3000e Camera
|
||||
0846 ConferenceCam CC3000e Speakerphone
|
||||
084b ConferenceCam Connect Video
|
||||
084c ConferenceCam Connect Audio
|
||||
084e ConferenceCam Connect
|
||||
0850 QuickCam Web
|
||||
0857 Logi Group Speakerphone
|
||||
085c C922 Pro Stream Webcam
|
||||
@ -2764,7 +2766,7 @@
|
||||
08d7 QuickCam Communicate STX
|
||||
08d8 QuickCam for Notebook Deluxe
|
||||
08d9 QuickCam IM/Connect
|
||||
08da QuickCam Messanger
|
||||
08da QuickCam Messenger
|
||||
08dd QuickCam for Notebooks
|
||||
08e0 QuickCam Express
|
||||
08e1 Labtec Webcam
|
||||
@ -2903,7 +2905,7 @@
|
||||
c06a USB Optical Mouse
|
||||
c06b G700 Wireless Gaming Mouse
|
||||
c06c Optical Mouse
|
||||
c077 M105 Optical Mouse
|
||||
c077 Mouse
|
||||
c07c M-R0017 [G700s Rechargeable Gaming Mouse]
|
||||
c07d G502 Mouse
|
||||
c07e G402 Gaming Mouse
|
||||
@ -2911,7 +2913,7 @@
|
||||
c083 G403 Prodigy Gaming Mouse
|
||||
c084 G203 Gaming Mouse
|
||||
c08b G502 SE HERO Gaming Mouse
|
||||
c092 G203 LIGHTSYNC Gaming Mouse
|
||||
c092 G102/G203 LIGHTSYNC Gaming Mouse
|
||||
c101 UltraX Media Remote
|
||||
c110 Harmony 785/880/885 Remote
|
||||
c111 Harmony 525 Remote
|
||||
@ -3060,6 +3062,7 @@
|
||||
c532 Unifying Receiver
|
||||
c534 Unifying Receiver
|
||||
c537 Cordless Mouse Receiver
|
||||
c539 Cordless Mouse Receiver
|
||||
c53a PowerPlay Wireless Charging System
|
||||
c53d G631 Keyboard
|
||||
c603 3Dconnexion Spacemouse Plus XT
|
||||
@ -19572,10 +19575,11 @@
|
||||
5512 CH341 in EPP/MEM/I2C mode, EPP/I2C adapter
|
||||
5523 CH341 in serial mode, usb to serial port converter
|
||||
5584 CH341 in parallel mode, usb to printer port converter
|
||||
7522 CH340 serial converter
|
||||
7523 CH340 serial converter
|
||||
752d CH345 MIDI adapter
|
||||
7584 CH340S
|
||||
e008 HID-based serial adapater
|
||||
e008 HID-based serial adapter
|
||||
1a89 Dynalith Systems Co., Ltd.
|
||||
1a8b SGS Taiwan Ltd.
|
||||
1a8d BandRich, Inc.
|
||||
@ -20338,7 +20342,7 @@
|
||||
6052 APB Team Robotic Development Board
|
||||
6053 Darkgame Controller
|
||||
6054 Satlab/AAUSAT3 BlueBox
|
||||
6055 RADiuS ER900TRS-02 transciever with SMA Connector
|
||||
6055 RADiuS ER900TRS-02 transceiver with SMA Connector
|
||||
6056 The Glitch
|
||||
6057 OpenPipe MIDI Shield
|
||||
6058 Novena OTG port
|
||||
@ -20475,10 +20479,10 @@
|
||||
60ec Duet 2 WiFi or Duet 2 Ethernet 3D printer control electronics
|
||||
60ed Duet 2 Maestro 3D printer control electronics
|
||||
60ee Duet 3 motion control electronics
|
||||
60f0 UDAD-T1 data aquisition device (boot)
|
||||
60f1 UDAD-T1 data aquisition device
|
||||
60f2 UDAD-T2 data aquisition device (boot)
|
||||
60f3 UDAD-T2 data aquisition device
|
||||
60f0 UDAD-T1 data acquisition device (boot)
|
||||
60f1 UDAD-T1 data acquisition device
|
||||
60f2 UDAD-T2 data acquisition device (boot)
|
||||
60f3 UDAD-T2 data acquisition device
|
||||
60f4 Uniti ARC motor controller
|
||||
60f5 EightByEight Blinky Badge (DFU)
|
||||
60f6 EightByEight Blinky Badge
|
||||
@ -20494,6 +20498,7 @@
|
||||
6118 Thomson MO5 keyboard
|
||||
6122 Ultimate Hacking Keyboard
|
||||
614c dwtk In-Circuit Emulator
|
||||
614d Generic Display
|
||||
8085 Box0 (box0-v5)
|
||||
cc15 rad1o badge for CCC summer camp 2015
|
||||
1d57 Xenta
|
||||
@ -20511,7 +20516,7 @@
|
||||
ad03 [T3] 2.4GHz and IR Air Mouse Remote Control
|
||||
af01 AUVIO Universal Remote Receiver for PlayStation 3
|
||||
af03 Wireless Receiver
|
||||
fa20 2.4GHz Wireless Reciever (Mini Keyboard & Mouse)
|
||||
fa20 2.4GHz Wireless Receiver (Mini Keyboard & Mouse)
|
||||
1d5b Smartronix, Inc.
|
||||
1d5c Fresco Logic
|
||||
2000 FL2000/FL2000DX VGA/DVI/HDMI Adapter
|
||||
@ -20819,7 +20824,12 @@
|
||||
0001 Wi-Fi Body Scale (WBS01)
|
||||
1fba DERMALOG Identification Systems GmbH
|
||||
1fbd Delphin Technology AG
|
||||
0001 Expert Key - Data aquisition system
|
||||
0001 Expert Key - Data acquisition system
|
||||
0004 MetiOS Device (RNDIS)
|
||||
0005 Loggito
|
||||
0006 LoggitoLab 8 AI-RTD
|
||||
0007 LoggitoLab 8 TC
|
||||
0008 LoggitoLab 4 AI-RTD 4 TC
|
||||
1fc9 NXP Semiconductors
|
||||
0003 LPC1343
|
||||
000c LPC4330FET180 [ARM Cortex M4 + M0] (device firmware upgrade mode)
|
||||
@ -22644,6 +22654,14 @@
|
||||
f190 MSO-19
|
||||
f280 MSO-28
|
||||
f281 MSO-28
|
||||
3197 Katusha
|
||||
1001 M151
|
||||
1002 M250
|
||||
1003 P130
|
||||
1004 M130
|
||||
1101 P247
|
||||
1102 M247
|
||||
1103 M348
|
||||
31c9 BeiJing LanXum Computer Technology Co., Ltd.
|
||||
1001 Printer
|
||||
1301 Black and White Laser Printer
|
||||
@ -23238,7 +23256,12 @@
|
||||
0780 CS780 Microphone Input
|
||||
07d3 BLOB boot loader firmware
|
||||
07dc Bluetooth 4.0* Smart Ready (low energy)
|
||||
0a66 RealSense 3D Camera (Front F200)
|
||||
0aa5 RealSense SR300
|
||||
0ad2 RealSense D410
|
||||
0ad3 RealSense D415
|
||||
0b07 RealSense D435
|
||||
0b64 RealSense L515
|
||||
0dad Cherry MiniatureCard Keyboard
|
||||
1010 AnyPoint(TM) Home Network 10 Mbps Phoneline Adapter
|
||||
110a Bluetooth Controller from (Ericsson P4A)
|
||||
@ -23264,6 +23287,7 @@
|
||||
9303 8x930Hx Hub
|
||||
9500 CE 9500 DVB-T
|
||||
9890 82930 Test Board
|
||||
a36d Host Controller
|
||||
beef SCM Miniature Card Reader/Writer
|
||||
c013 Wireless HID Station
|
||||
dead Galileo
|
||||
@ -23278,7 +23302,6 @@
|
||||
0032 AX210 Bluetooth
|
||||
0716 Modem Flashloader
|
||||
07da Centrino Bluetooth Wireless Transceiver
|
||||
8087 07da Centrino Advanced-N 6235
|
||||
07db Atom C2000 Root Hub
|
||||
07dc Bluetooth wireless interface
|
||||
07eb Oaktrail tablet
|
||||
|
||||
@ -92,7 +92,10 @@
|
||||
url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink>, as well as any
|
||||
other entries discovered or automatically generated by a boot loader implementing the <ulink
|
||||
url="https://systemd.io/BOOT_LOADER_INTERFACE">Boot Loader
|
||||
Interface</ulink>.</para></listitem>
|
||||
Interface</ulink>.</para>
|
||||
|
||||
<para>JSON output may be requested with <option>--json=</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -315,6 +318,7 @@
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="no-pager"/>
|
||||
<xi:include href="standard-options.xml" xpointer="json" />
|
||||
<xi:include href="standard-options.xml" xpointer="help"/>
|
||||
<xi:include href="standard-options.xml" xpointer="version"/>
|
||||
</variablelist>
|
||||
|
||||
@ -247,7 +247,7 @@ int get_user_creds(
|
||||
else if (FLAGS_SET(flags, USER_CREDS_ALLOW_MISSING) && !gid && !home && !shell) {
|
||||
|
||||
/* If the specified user is a numeric UID and it isn't in the user database, and the caller
|
||||
* passed USER_CREDS_ALLOW_MISSING and was only interested in the UID, then juts return that
|
||||
* passed USER_CREDS_ALLOW_MISSING and was only interested in the UID, then just return that
|
||||
* and don't complain. */
|
||||
|
||||
if (uid)
|
||||
|
||||
@ -70,6 +70,7 @@ static enum {
|
||||
ARG_ENTRY_TOKEN_AUTO,
|
||||
} arg_entry_token_type = ARG_ENTRY_TOKEN_AUTO;
|
||||
static char *arg_entry_token = NULL;
|
||||
static JsonFormatFlags arg_json_format_flags = JSON_FORMAT_OFF;
|
||||
|
||||
STATIC_DESTRUCTOR_REGISTER(arg_esp_path, freep);
|
||||
STATIC_DESTRUCTOR_REGISTER(arg_xbootldr_path, freep);
|
||||
@ -686,7 +687,7 @@ static int status_entries(
|
||||
const char *xbootldr_path,
|
||||
sd_id128_t xbootldr_partition_uuid) {
|
||||
|
||||
_cleanup_(boot_config_free) BootConfig config = {};
|
||||
_cleanup_(boot_config_free) BootConfig config = BOOT_CONFIG_NULL;
|
||||
sd_id128_t dollar_boot_partition_uuid;
|
||||
const char *dollar_boot_path;
|
||||
int r;
|
||||
@ -708,7 +709,11 @@ static int status_entries(
|
||||
SD_ID128_FORMAT_VAL(dollar_boot_partition_uuid));
|
||||
printf("\n\n");
|
||||
|
||||
r = boot_entries_load_config(esp_path, xbootldr_path, &config);
|
||||
r = boot_config_load(&config, esp_path, xbootldr_path);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = boot_config_select_special_entries(&config);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@ -718,7 +723,7 @@ static int status_entries(
|
||||
printf("Default Boot Loader Entry:\n");
|
||||
|
||||
r = boot_entry_show(
|
||||
config.entries + config.default_entry,
|
||||
boot_config_default_entry(&config),
|
||||
/* show_as_default= */ false,
|
||||
/* show_as_selected= */ false,
|
||||
/* show_discovered= */ false);
|
||||
@ -1420,6 +1425,8 @@ static int help(int argc, char *argv[], void *userdata) {
|
||||
" Create $BOOT/ENTRY-TOKEN/ directory\n"
|
||||
" --entry-token=machine-id|os-id|os-image-id|auto|literal:…\n"
|
||||
" Entry token to use for this installation\n"
|
||||
" --json=pretty|short|off\n"
|
||||
" Generate JSON output\n"
|
||||
"\nSee the %2$s for details.\n",
|
||||
program_invocation_short_name,
|
||||
link,
|
||||
@ -1441,6 +1448,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
ARG_GRACEFUL,
|
||||
ARG_MAKE_ENTRY_DIRECTORY,
|
||||
ARG_ENTRY_TOKEN,
|
||||
ARG_JSON,
|
||||
};
|
||||
|
||||
static const struct option options[] = {
|
||||
@ -1458,6 +1466,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
{ "make-entry-directory", required_argument, NULL, ARG_MAKE_ENTRY_DIRECTORY },
|
||||
{ "make-machine-id-directory", required_argument, NULL, ARG_MAKE_ENTRY_DIRECTORY }, /* Compatibility alias */
|
||||
{ "entry-token", required_argument, NULL, ARG_ENTRY_TOKEN },
|
||||
{ "json", required_argument, NULL, ARG_JSON },
|
||||
{}
|
||||
};
|
||||
|
||||
@ -1552,6 +1561,13 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
}
|
||||
break;
|
||||
|
||||
case ARG_JSON:
|
||||
r = parse_json_argument(optarg, &arg_json_format_flags);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
break;
|
||||
|
||||
case '?':
|
||||
return -EINVAL;
|
||||
|
||||
@ -1776,7 +1792,7 @@ static int verb_status(int argc, char *argv[], void *userdata) {
|
||||
}
|
||||
|
||||
static int verb_list(int argc, char *argv[], void *userdata) {
|
||||
_cleanup_(boot_config_free) BootConfig config = {};
|
||||
_cleanup_(boot_config_free) BootConfig config = BOOT_CONFIG_NULL;
|
||||
_cleanup_strv_free_ char **efi_entries = NULL;
|
||||
dev_t esp_devid = 0, xbootldr_devid = 0;
|
||||
int r;
|
||||
@ -1800,7 +1816,7 @@ static int verb_list(int argc, char *argv[], void *userdata) {
|
||||
/* If XBOOTLDR and ESP actually refer to the same block device, suppress XBOOTLDR, since it would find the same entries twice */
|
||||
bool same = arg_esp_path && arg_xbootldr_path && devid_set_and_equal(esp_devid, xbootldr_devid);
|
||||
|
||||
r = boot_entries_load_config(arg_esp_path, same ? NULL : arg_xbootldr_path, &config);
|
||||
r = boot_config_load(&config, arg_esp_path, same ? NULL : arg_xbootldr_path);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@ -1810,9 +1826,50 @@ static int verb_list(int argc, char *argv[], void *userdata) {
|
||||
else if (r < 0)
|
||||
log_warning_errno(r, "Failed to determine entries reported by boot loader, ignoring: %m");
|
||||
else
|
||||
(void) boot_entries_augment_from_loader(&config, efi_entries, /* only_auto= */ false);
|
||||
(void) boot_config_augment_from_loader(&config, efi_entries, /* only_auto= */ false);
|
||||
|
||||
if (config.n_entries == 0)
|
||||
r = boot_config_select_special_entries(&config);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (!FLAGS_SET(arg_json_format_flags, JSON_FORMAT_OFF)) {
|
||||
|
||||
pager_open(arg_pager_flags);
|
||||
|
||||
for (size_t i = 0; i < config.n_entries; i++) {
|
||||
_cleanup_free_ char *opts = NULL;
|
||||
BootEntry *e = config.entries + i;
|
||||
_cleanup_(json_variant_unrefp) JsonVariant *v = NULL;
|
||||
|
||||
if (!strv_isempty(e->options)) {
|
||||
opts = strv_join(e->options, " ");
|
||||
if (!opts)
|
||||
return log_oom();
|
||||
}
|
||||
|
||||
r = json_build(&v, JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR_CONDITION(e->id, "id", JSON_BUILD_STRING(e->id)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->path, "path", JSON_BUILD_STRING(e->path)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->root, "root", JSON_BUILD_STRING(e->root)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->title, "title", JSON_BUILD_STRING(e->title)),
|
||||
JSON_BUILD_PAIR_CONDITION(boot_entry_title(e), "showTitle", JSON_BUILD_STRING(boot_entry_title(e))),
|
||||
JSON_BUILD_PAIR_CONDITION(e->sort_key, "sortKey", JSON_BUILD_STRING(e->sort_key)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->version, "version", JSON_BUILD_STRING(e->version)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->machine_id, "machineId", JSON_BUILD_STRING(e->machine_id)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->architecture, "architecture", JSON_BUILD_STRING(e->architecture)),
|
||||
JSON_BUILD_PAIR_CONDITION(opts, "options", JSON_BUILD_STRING(opts)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->kernel, "linux", JSON_BUILD_STRING(e->kernel)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->efi, "efi", JSON_BUILD_STRING(e->efi)),
|
||||
JSON_BUILD_PAIR_CONDITION(!strv_isempty(e->initrd), "initrd", JSON_BUILD_STRV(e->initrd)),
|
||||
JSON_BUILD_PAIR_CONDITION(e->device_tree, "devicetree", JSON_BUILD_STRING(e->device_tree)),
|
||||
JSON_BUILD_PAIR_CONDITION(!strv_isempty(e->device_tree_overlay), "devicetreeOverlay", JSON_BUILD_STRV(e->device_tree_overlay))));
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
|
||||
json_variant_dump(v, arg_json_format_flags, stdout, NULL);
|
||||
}
|
||||
|
||||
} else if (config.n_entries == 0)
|
||||
log_info("No boot loader entries found.");
|
||||
else {
|
||||
pager_open(arg_pager_flags);
|
||||
|
||||
@ -736,7 +736,7 @@ int bus_unit_method_clean(sd_bus_message *message, void *userdata, sd_bus_error
|
||||
|
||||
r = unit_clean(u, mask);
|
||||
if (r == -EOPNOTSUPP)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Unit '%s' does not supporting cleaning.", u->id);
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Unit '%s' does not support cleaning.", u->id);
|
||||
if (r == -EUNATCH)
|
||||
return sd_bus_error_set(error, BUS_ERROR_NOTHING_TO_CLEAN, "No matching resources found.");
|
||||
if (r == -EBUSY)
|
||||
|
||||
@ -1414,7 +1414,7 @@ static int attach_luks_or_plain_or_bitlk_by_tpm2(
|
||||
|
||||
if (is_efi_boot() && !efi_has_tpm2())
|
||||
return log_notice_errno(SYNTHETIC_ERRNO(EAGAIN),
|
||||
"No TPM2 hardware discovered and EFI bios indicates no support for it either, assuming TPM2-less system, falling back to traditional unlocking.");
|
||||
"No TPM2 hardware discovered and EFI firmware does not see it either, falling back to traditional unlocking.");
|
||||
|
||||
r = make_tpm2_device_monitor(&event, &monitor);
|
||||
if (r < 0)
|
||||
|
||||
@ -3002,19 +3002,19 @@ static int property_get_reboot_to_boot_loader_entry(
|
||||
}
|
||||
|
||||
static int boot_loader_entry_exists(Manager *m, const char *id) {
|
||||
_cleanup_(boot_config_free) BootConfig config = {};
|
||||
_cleanup_(boot_config_free) BootConfig config = BOOT_CONFIG_NULL;
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
assert(id);
|
||||
|
||||
r = boot_entries_load_config_auto(NULL, NULL, &config);
|
||||
r = boot_config_load_auto(&config, NULL, NULL);
|
||||
if (r < 0 && r != -ENOKEY) /* don't complain if no GPT is found, hence skip ENOKEY */
|
||||
return r;
|
||||
|
||||
r = manager_read_efi_boot_loader_entries(m);
|
||||
if (r >= 0)
|
||||
(void) boot_entries_augment_from_loader(&config, m->efi_boot_loader_entries, /* auto_only= */ true);
|
||||
(void) boot_config_augment_from_loader(&config, m->efi_boot_loader_entries, /* auto_only= */ true);
|
||||
|
||||
return !!boot_config_find_entry(&config, id);
|
||||
}
|
||||
@ -3157,7 +3157,7 @@ static int property_get_boot_loader_entries(
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
|
||||
_cleanup_(boot_config_free) BootConfig config = {};
|
||||
_cleanup_(boot_config_free) BootConfig config = BOOT_CONFIG_NULL;
|
||||
Manager *m = userdata;
|
||||
size_t i;
|
||||
int r;
|
||||
@ -3166,13 +3166,13 @@ static int property_get_boot_loader_entries(
|
||||
assert(reply);
|
||||
assert(m);
|
||||
|
||||
r = boot_entries_load_config_auto(NULL, NULL, &config);
|
||||
r = boot_config_load_auto(&config, NULL, NULL);
|
||||
if (r < 0 && r != -ENOKEY) /* don't complain if there's no GPT found */
|
||||
return r;
|
||||
|
||||
r = manager_read_efi_boot_loader_entries(m);
|
||||
if (r >= 0)
|
||||
(void) boot_entries_augment_from_loader(&config, m->efi_boot_loader_entries, /* auto_only= */ true);
|
||||
(void) boot_config_augment_from_loader(&config, m->efi_boot_loader_entries, /* auto_only= */ true);
|
||||
|
||||
r = sd_bus_message_open_container(reply, 'a', "s");
|
||||
if (r < 0)
|
||||
|
||||
@ -1429,17 +1429,28 @@ static bool marker_matches_images(const char *marker, const char *name_or_path,
|
||||
size_t l;
|
||||
|
||||
/* We shall match against a path. Let's ignore any prefix here though, as often there are many ways to
|
||||
* reach the same file. However, in this mode, let's validate any file suffix. */
|
||||
* reach the same file. However, in this mode, let's validate any file suffix.
|
||||
* But also ensure that we don't fail if both components don't have a '/' at all
|
||||
* (strcspn returns the full length of the string in that case, which might not
|
||||
* match as the versions might differ). */
|
||||
|
||||
l = strcspn(a, "/");
|
||||
b = last_path_component(*image_name_or_path);
|
||||
|
||||
if (strcspn(b, "/") != l)
|
||||
if ((a[l] != '/') != !strchr(b, '/')) /* One is a directory, the other is not */
|
||||
return false;
|
||||
|
||||
if (a[l] != 0 && strcspn(b, "/") != l)
|
||||
return false;
|
||||
|
||||
underscore = strchr(b, '_');
|
||||
if (underscore)
|
||||
l = underscore - b;
|
||||
else { /* Either component could be versioned */
|
||||
underscore = strchr(a, '_');
|
||||
if (underscore)
|
||||
l = underscore - a;
|
||||
}
|
||||
|
||||
if (!strneq(a, b, l))
|
||||
return false;
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
#include "find-esp.h"
|
||||
#include "path-util.h"
|
||||
#include "pe-header.h"
|
||||
#include "recurse-dir.h"
|
||||
#include "sort-util.h"
|
||||
#include "stat-util.h"
|
||||
#include "strv.h"
|
||||
@ -39,40 +40,45 @@ static void boot_entry_free(BootEntry *entry) {
|
||||
strv_free(entry->device_tree_overlay);
|
||||
}
|
||||
|
||||
static int boot_entry_load(
|
||||
static int boot_entry_load_type1(
|
||||
FILE *f,
|
||||
const char *root,
|
||||
const char *path,
|
||||
const char *dir,
|
||||
const char *id,
|
||||
BootEntry *entry) {
|
||||
|
||||
_cleanup_(boot_entry_free) BootEntry tmp = {
|
||||
.type = BOOT_ENTRY_CONF,
|
||||
};
|
||||
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
unsigned line = 1;
|
||||
char *c;
|
||||
int r;
|
||||
|
||||
assert(f);
|
||||
assert(root);
|
||||
assert(path);
|
||||
assert(dir);
|
||||
assert(id);
|
||||
assert(entry);
|
||||
|
||||
r = path_extract_filename(path, &tmp.id);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to extract file name from path '%s': %m", path);
|
||||
/* Loads a Type #1 boot menu entry from the specified FILE* object */
|
||||
|
||||
c = endswith_no_case(tmp.id, ".conf");
|
||||
if (!efi_loader_entry_name_valid(id))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid loader entry name: %s", id);
|
||||
|
||||
c = endswith_no_case(id, ".conf");
|
||||
if (!c)
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid loader entry file suffix: %s", tmp.id);
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid loader entry file suffix: %s", id);
|
||||
|
||||
if (!efi_loader_entry_name_valid(tmp.id))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid loader entry name: %s", tmp.id);
|
||||
tmp.id = strdup(id);
|
||||
if (!tmp.id)
|
||||
return log_oom();
|
||||
|
||||
tmp.id_old = strndup(tmp.id, c - tmp.id);
|
||||
tmp.id_old = strndup(id, c - id); /* Without .conf suffix */
|
||||
if (!tmp.id_old)
|
||||
return log_oom();
|
||||
|
||||
tmp.path = strdup(path);
|
||||
tmp.path = path_join(dir, id);
|
||||
if (!tmp.path)
|
||||
return log_oom();
|
||||
|
||||
@ -80,10 +86,6 @@ static int boot_entry_load(
|
||||
if (!tmp.root)
|
||||
return log_oom();
|
||||
|
||||
f = fopen(path, "re");
|
||||
if (!f)
|
||||
return log_error_errno(errno, "Failed to open \"%s\": %m", path);
|
||||
|
||||
for (;;) {
|
||||
_cleanup_free_ char *buf = NULL, *field = NULL;
|
||||
const char *p;
|
||||
@ -92,9 +94,9 @@ static int boot_entry_load(
|
||||
if (r == 0)
|
||||
break;
|
||||
if (r == -ENOBUFS)
|
||||
return log_error_errno(r, "%s:%u: Line too long", path, line);
|
||||
return log_error_errno(r, "%s:%u: Line too long", tmp.path, line);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "%s:%u: Error while reading: %m", path, line);
|
||||
return log_error_errno(r, "%s:%u: Error while reading: %m", tmp.path, line);
|
||||
|
||||
line++;
|
||||
|
||||
@ -104,11 +106,11 @@ static int boot_entry_load(
|
||||
p = buf;
|
||||
r = extract_first_word(&p, &field, " \t", 0);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to parse config file %s line %u: %m", path, line);
|
||||
log_error_errno(r, "Failed to parse config file %s line %u: %m", tmp.path, line);
|
||||
continue;
|
||||
}
|
||||
if (r == 0) {
|
||||
log_warning("%s:%u: Bad syntax", path, line);
|
||||
log_warning("%s:%u: Bad syntax", tmp.path, line);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -141,11 +143,11 @@ static int boot_entry_load(
|
||||
|
||||
r = strv_extend_strv(&tmp.device_tree_overlay, l, false);
|
||||
} else {
|
||||
log_notice("%s:%u: Unknown line \"%s\", ignoring.", path, line, field);
|
||||
log_notice("%s:%u: Unknown line \"%s\", ignoring.", tmp.path, line, field);
|
||||
continue;
|
||||
}
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "%s:%u: Error while reading: %m", path, line);
|
||||
return log_error_errno(r, "%s:%u: Error while reading: %m", tmp.path, line);
|
||||
}
|
||||
|
||||
*entry = tmp;
|
||||
@ -172,6 +174,8 @@ void boot_config_free(BootConfig *config) {
|
||||
for (size_t i = 0; i < config->n_entries; i++)
|
||||
boot_entry_free(config->entries + i);
|
||||
free(config->entries);
|
||||
|
||||
set_free(config->inodes_seen);
|
||||
}
|
||||
|
||||
static int boot_loader_read_conf(const char *path, BootConfig *config) {
|
||||
@ -272,33 +276,113 @@ static int boot_entry_compare(const BootEntry *a, const BootEntry *b) {
|
||||
return -strverscmp_improved(a->id, b->id);
|
||||
}
|
||||
|
||||
static int boot_entries_find(
|
||||
const char *root,
|
||||
const char *dir,
|
||||
BootEntry **entries,
|
||||
size_t *n_entries) {
|
||||
static void inode_hash_func(const struct stat *q, struct siphash *state) {
|
||||
siphash24_compress(&q->st_dev, sizeof(q->st_dev), state);
|
||||
siphash24_compress(&q->st_ino, sizeof(q->st_ino), state);
|
||||
}
|
||||
|
||||
_cleanup_strv_free_ char **files = NULL;
|
||||
static int inode_compare_func(const struct stat *a, const struct stat *b) {
|
||||
int r;
|
||||
|
||||
r = CMP(a->st_dev, b->st_dev);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
return CMP(a->st_ino, b->st_ino);
|
||||
}
|
||||
|
||||
DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR(inode_hash_ops, struct stat, inode_hash_func, inode_compare_func, free);
|
||||
|
||||
static int config_check_inode_relevant_and_unseen(BootConfig *config, int fd, const char *fname) {
|
||||
_cleanup_free_ char *d = NULL;
|
||||
struct stat st;
|
||||
|
||||
assert(config);
|
||||
assert(fd >= 0);
|
||||
assert(fname);
|
||||
|
||||
/* So, here's the thing: because of the mess around /efi/ vs. /boot/ vs. /boot/efi/ it might be that
|
||||
* people have these dirs, or subdirs of them symlinked or bind mounted, and we might end up
|
||||
* iterating though some dirs multiple times. Let's thus rather be safe than sorry, and track the
|
||||
* inodes we already processed: let's ignore inodes we have seen already. This should be robust
|
||||
* against any form of symlinking or bind mounting, and effectively suppress any such duplicates. */
|
||||
|
||||
if (fstat(fd, &st) < 0)
|
||||
return log_error_errno(errno, "Failed to stat('%s'): %m", fname);
|
||||
if (!S_ISREG(st.st_mode)) {
|
||||
log_debug("File '%s' is not a reguar file, ignoring.", fname);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (set_contains(config->inodes_seen, &st)) {
|
||||
log_debug("Inode '%s' already seen before, ignoring.", fname);
|
||||
return false;
|
||||
}
|
||||
d = memdup(&st, sizeof(st));
|
||||
if (!d)
|
||||
return log_oom();
|
||||
if (set_ensure_put(&config->inodes_seen, &inode_hash_ops, d) < 0)
|
||||
return log_oom();
|
||||
|
||||
TAKE_PTR(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
static int boot_entries_find_type1(
|
||||
BootConfig *config,
|
||||
const char *root,
|
||||
const char *dir) {
|
||||
|
||||
_cleanup_free_ DirectoryEntries *dentries = NULL;
|
||||
_cleanup_close_ int dir_fd = -1;
|
||||
int r;
|
||||
|
||||
assert(config);
|
||||
assert(root);
|
||||
assert(dir);
|
||||
assert(entries);
|
||||
assert(n_entries);
|
||||
|
||||
r = conf_files_list(&files, ".conf", NULL, 0, dir);
|
||||
dir_fd = open(dir, O_DIRECTORY|O_CLOEXEC);
|
||||
if (dir_fd < 0) {
|
||||
if (errno == ENOENT)
|
||||
return 0;
|
||||
|
||||
return log_error_errno(errno, "Failed to open '%s': %m", dir);
|
||||
}
|
||||
|
||||
r = readdir_all(dir_fd, RECURSE_DIR_IGNORE_DOT, &dentries);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to list files in \"%s\": %m", dir);
|
||||
return log_error_errno(r, "Failed to read directory '%s': %m", dir);
|
||||
|
||||
STRV_FOREACH(f, files) {
|
||||
if (!GREEDY_REALLOC0(*entries, *n_entries + 1))
|
||||
for (size_t i = 0; i < dentries->n_entries; i++) {
|
||||
const struct dirent *de = dentries->entries[i];
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
|
||||
if (!dirent_is_file(de))
|
||||
continue;
|
||||
|
||||
if (!endswith_no_case(de->d_name, ".conf"))
|
||||
continue;
|
||||
|
||||
r = xfopenat(dir_fd, de->d_name, "re", 0, &f);
|
||||
if (r < 0) {
|
||||
log_warning_errno(r, "Failed to open %s/%s, ignoring: %m", dir, de->d_name);
|
||||
continue;
|
||||
}
|
||||
|
||||
r = config_check_inode_relevant_and_unseen(config, fileno(f), de->d_name);
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (r == 0) /* inode already seen or otherwise not relevant */
|
||||
continue;
|
||||
|
||||
if (!GREEDY_REALLOC0(config->entries, config->n_entries + 1))
|
||||
return log_oom();
|
||||
|
||||
r = boot_entry_load(root, *f, *entries + *n_entries);
|
||||
r = boot_entry_load_type1(f, root, dir, de->d_name, config->entries + config->n_entries);
|
||||
if (r < 0)
|
||||
continue;
|
||||
|
||||
(*n_entries) ++;
|
||||
config->n_entries++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -508,18 +592,15 @@ static int find_sections(
|
||||
}
|
||||
|
||||
static int boot_entries_find_unified(
|
||||
BootConfig *config,
|
||||
const char *root,
|
||||
const char *dir,
|
||||
BootEntry **entries,
|
||||
size_t *n_entries) {
|
||||
const char *dir) {
|
||||
|
||||
_cleanup_(closedirp) DIR *d = NULL;
|
||||
int r;
|
||||
|
||||
assert(root);
|
||||
assert(config);
|
||||
assert(dir);
|
||||
assert(entries);
|
||||
assert(n_entries);
|
||||
|
||||
d = opendir(dir);
|
||||
if (!d) {
|
||||
@ -539,7 +620,7 @@ static int boot_entries_find_unified(
|
||||
if (!endswith_no_case(de->d_name, ".efi"))
|
||||
continue;
|
||||
|
||||
if (!GREEDY_REALLOC0(*entries, *n_entries + 1))
|
||||
if (!GREEDY_REALLOC0(config->entries, config->n_entries + 1))
|
||||
return log_oom();
|
||||
|
||||
fd = openat(dirfd(d), de->d_name, O_RDONLY|O_CLOEXEC|O_NONBLOCK);
|
||||
@ -548,25 +629,24 @@ static int boot_entries_find_unified(
|
||||
continue;
|
||||
}
|
||||
|
||||
r = fd_verify_regular(fd);
|
||||
if (r < 0) {
|
||||
log_warning_errno(r, "File %s/%s is not regular, ignoring: %m", dir, de->d_name);
|
||||
continue;
|
||||
}
|
||||
|
||||
r = find_sections(fd, &osrelease, &cmdline);
|
||||
r = config_check_inode_relevant_and_unseen(config, fd, de->d_name);
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (r == 0) /* inode already seen or otherwise not relevant */
|
||||
continue;
|
||||
|
||||
if (find_sections(fd, &osrelease, &cmdline) < 0)
|
||||
continue;
|
||||
|
||||
j = path_join(dir, de->d_name);
|
||||
if (!j)
|
||||
return log_oom();
|
||||
|
||||
r = boot_entry_load_unified(root, j, osrelease, cmdline, *entries + *n_entries);
|
||||
r = boot_entry_load_unified(root, j, osrelease, cmdline, config->entries + config->n_entries);
|
||||
if (r < 0)
|
||||
continue;
|
||||
|
||||
(*n_entries) ++;
|
||||
config->n_entries++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -719,33 +799,45 @@ static int boot_load_efi_entry_pointers(BootConfig *config) {
|
||||
/* Loads the three "pointers" to boot loader entries from their EFI variables */
|
||||
|
||||
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryOneShot), &config->entry_oneshot);
|
||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
|
||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryOneShot\": %m");
|
||||
if (r == -ENOMEM)
|
||||
return r;
|
||||
}
|
||||
if (r == -ENOMEM)
|
||||
return log_oom();
|
||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA))
|
||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryOneShot\", ignoring: %m");
|
||||
|
||||
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryDefault), &config->entry_default);
|
||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
|
||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryDefault\": %m");
|
||||
if (r == -ENOMEM)
|
||||
return r;
|
||||
}
|
||||
if (r == -ENOMEM)
|
||||
return log_oom();
|
||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA))
|
||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryDefault\", ignoring: %m");
|
||||
|
||||
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntrySelected), &config->entry_selected);
|
||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
|
||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntrySelected\": %m");
|
||||
if (r == -ENOMEM)
|
||||
return r;
|
||||
}
|
||||
if (r == -ENOMEM)
|
||||
return log_oom();
|
||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA))
|
||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntrySelected\", ignoring: %m");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int boot_entries_load_config(
|
||||
int boot_config_select_special_entries(BootConfig *config) {
|
||||
int r;
|
||||
|
||||
assert(config);
|
||||
|
||||
r = boot_load_efi_entry_pointers(config);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
config->default_entry = boot_entries_select_default(config);
|
||||
config->selected_entry = boot_entries_select_selected(config);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int boot_config_load(
|
||||
BootConfig *config,
|
||||
const char *esp_path,
|
||||
const char *xbootldr_path,
|
||||
BootConfig *config) {
|
||||
const char *xbootldr_path) {
|
||||
|
||||
const char *p;
|
||||
int r;
|
||||
@ -759,24 +851,24 @@ int boot_entries_load_config(
|
||||
return r;
|
||||
|
||||
p = strjoina(esp_path, "/loader/entries");
|
||||
r = boot_entries_find(esp_path, p, &config->entries, &config->n_entries);
|
||||
r = boot_entries_find_type1(config, esp_path, p);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
p = strjoina(esp_path, "/EFI/Linux/");
|
||||
r = boot_entries_find_unified(esp_path, p, &config->entries, &config->n_entries);
|
||||
r = boot_entries_find_unified(config, esp_path, p);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
if (xbootldr_path) {
|
||||
p = strjoina(xbootldr_path, "/loader/entries");
|
||||
r = boot_entries_find(xbootldr_path, p, &config->entries, &config->n_entries);
|
||||
r = boot_entries_find_type1(config, xbootldr_path, p);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
p = strjoina(xbootldr_path, "/EFI/Linux/");
|
||||
r = boot_entries_find_unified(xbootldr_path, p, &config->entries, &config->n_entries);
|
||||
r = boot_entries_find_unified(config, xbootldr_path, p);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
@ -787,20 +879,13 @@ int boot_entries_load_config(
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to uniquify boot entries: %m");
|
||||
|
||||
r = boot_load_efi_entry_pointers(config);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
config->default_entry = boot_entries_select_default(config);
|
||||
config->selected_entry = boot_entries_select_selected(config);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int boot_entries_load_config_auto(
|
||||
int boot_config_load_auto(
|
||||
BootConfig *config,
|
||||
const char *override_esp_path,
|
||||
const char *override_xbootldr_path,
|
||||
BootConfig *config) {
|
||||
const char *override_xbootldr_path) {
|
||||
|
||||
_cleanup_free_ char *esp_where = NULL, *xbootldr_where = NULL;
|
||||
dev_t esp_devid = 0, xbootldr_devid = 0;
|
||||
@ -817,7 +902,7 @@ int boot_entries_load_config_auto(
|
||||
|
||||
if (!override_esp_path && !override_xbootldr_path) {
|
||||
if (access("/run/boot-loader-entries/", F_OK) >= 0)
|
||||
return boot_entries_load_config("/run/boot-loader-entries/", NULL, config);
|
||||
return boot_config_load(config, "/run/boot-loader-entries/", NULL);
|
||||
|
||||
if (errno != ENOENT)
|
||||
return log_error_errno(errno,
|
||||
@ -836,10 +921,10 @@ int boot_entries_load_config_auto(
|
||||
if (esp_where && xbootldr_where && devid_set_and_equal(esp_devid, xbootldr_devid))
|
||||
xbootldr_where = mfree(xbootldr_where);
|
||||
|
||||
return boot_entries_load_config(esp_where, xbootldr_where, config);
|
||||
return boot_config_load(config, esp_where, xbootldr_where);
|
||||
}
|
||||
|
||||
int boot_entries_augment_from_loader(
|
||||
int boot_config_augment_from_loader(
|
||||
BootConfig *config,
|
||||
char **found_by_loader,
|
||||
bool only_auto) {
|
||||
@ -901,3 +986,15 @@ int boot_entries_augment_from_loader(
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BootEntry* boot_config_find_entry(BootConfig *config, const char *id) {
|
||||
assert(config);
|
||||
assert(id);
|
||||
|
||||
for (size_t j = 0; j < config->n_entries; j++)
|
||||
if (streq_ptr(config->entries[j].id, id) ||
|
||||
streq_ptr(config->entries[j].id_old, id))
|
||||
return config->entries + j;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
#include <stdbool.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "set.h"
|
||||
#include "string-util.h"
|
||||
|
||||
typedef enum BootEntryType {
|
||||
@ -55,21 +56,20 @@ typedef struct BootConfig {
|
||||
|
||||
BootEntry *entries;
|
||||
size_t n_entries;
|
||||
|
||||
ssize_t default_entry;
|
||||
ssize_t selected_entry;
|
||||
|
||||
Set *inodes_seen;
|
||||
} BootConfig;
|
||||
|
||||
static inline BootEntry* boot_config_find_entry(BootConfig *config, const char *id) {
|
||||
assert(config);
|
||||
assert(id);
|
||||
#define BOOT_CONFIG_NULL \
|
||||
{ \
|
||||
.default_entry = -1, \
|
||||
.selected_entry = -1, \
|
||||
}
|
||||
|
||||
for (size_t j = 0; j < config->n_entries; j++)
|
||||
if (streq_ptr(config->entries[j].id, id) ||
|
||||
streq_ptr(config->entries[j].id_old, id))
|
||||
return config->entries + j;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
BootEntry* boot_config_find_entry(BootConfig *config, const char *id);
|
||||
|
||||
static inline BootEntry* boot_config_default_entry(BootConfig *config) {
|
||||
assert(config);
|
||||
@ -77,13 +77,17 @@ static inline BootEntry* boot_config_default_entry(BootConfig *config) {
|
||||
if (config->default_entry < 0)
|
||||
return NULL;
|
||||
|
||||
assert((size_t) config->default_entry < config->n_entries);
|
||||
return config->entries + config->default_entry;
|
||||
}
|
||||
|
||||
void boot_config_free(BootConfig *config);
|
||||
int boot_entries_load_config(const char *esp_path, const char *xbootldr_path, BootConfig *config);
|
||||
int boot_entries_load_config_auto(const char *override_esp_path, const char *override_xbootldr_path, BootConfig *config);
|
||||
int boot_entries_augment_from_loader(BootConfig *config, char **list, bool only_auto);
|
||||
|
||||
int boot_config_load(BootConfig *config, const char *esp_path, const char *xbootldr_path);
|
||||
int boot_config_load_auto(BootConfig *config, const char *override_esp_path, const char *override_xbootldr_path);
|
||||
int boot_config_augment_from_loader(BootConfig *config, char **list, bool only_auto);
|
||||
|
||||
int boot_config_select_special_entries(BootConfig *config);
|
||||
|
||||
static inline const char* boot_entry_title(const BootEntry *entry) {
|
||||
assert(entry);
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
#include "systemctl.h"
|
||||
|
||||
static int load_kexec_kernel(void) {
|
||||
_cleanup_(boot_config_free) BootConfig config = {};
|
||||
_cleanup_(boot_config_free) BootConfig config = BOOT_CONFIG_NULL;
|
||||
_cleanup_free_ char *kernel = NULL, *initrd = NULL, *options = NULL;
|
||||
const BootEntry *e;
|
||||
pid_t pid;
|
||||
@ -32,7 +32,7 @@ static int load_kexec_kernel(void) {
|
||||
if (access(KEXEC, X_OK) < 0)
|
||||
return log_error_errno(errno, KEXEC" is not available: %m");
|
||||
|
||||
r = boot_entries_load_config_auto(NULL, NULL, &config);
|
||||
r = boot_config_load_auto(&config, NULL, NULL);
|
||||
if (r == -ENOKEY)
|
||||
/* The call doesn't log about ENOKEY, let's do so here. */
|
||||
return log_error_errno(r,
|
||||
@ -43,6 +43,10 @@ static int load_kexec_kernel(void) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = boot_config_select_special_entries(&config);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
e = boot_config_default_entry(&config);
|
||||
if (!e)
|
||||
return log_error_errno(SYNTHETIC_ERRNO(ENOENT),
|
||||
|
||||
@ -61,7 +61,7 @@ TEST_RET(bootspec_sort) {
|
||||
};
|
||||
|
||||
_cleanup_(rm_rf_physical_and_freep) char *d = NULL;
|
||||
_cleanup_(boot_config_free) BootConfig config = {};
|
||||
_cleanup_(boot_config_free) BootConfig config = BOOT_CONFIG_NULL;
|
||||
|
||||
assert_se(mkdtemp_malloc("/tmp/bootspec-testXXXXXX", &d) >= 0);
|
||||
|
||||
@ -74,7 +74,7 @@ TEST_RET(bootspec_sort) {
|
||||
assert_se(write_string_file(j, entries[i].contents, WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
|
||||
}
|
||||
|
||||
assert_se(boot_entries_load_config(d, NULL, &config) >= 0);
|
||||
assert_se(boot_config_load(&config, d, NULL) >= 0);
|
||||
|
||||
assert_se(config.n_entries == 6);
|
||||
|
||||
|
||||
@ -88,6 +88,14 @@ systemctl is-active app1.service
|
||||
status="$(portablectl is-attached --extension app1 minimal_0)"
|
||||
[[ "${status}" == "running-runtime" ]]
|
||||
|
||||
# Ensure that adding or removing a version to the image doesn't break reattaching
|
||||
cp /usr/share/app1.raw /tmp/app1_2.raw
|
||||
portablectl "${ARGS[@]}" reattach --now --runtime --extension /tmp/app1_2.raw /usr/share/minimal_1.raw app1
|
||||
|
||||
systemctl is-active app1.service
|
||||
status="$(portablectl is-attached --extension app1_2 minimal_1)"
|
||||
[[ "${status}" == "running-runtime" ]]
|
||||
|
||||
portablectl "${ARGS[@]}" reattach --now --runtime --extension /usr/share/app1.raw /usr/share/minimal_1.raw app1
|
||||
|
||||
systemctl is-active app1.service
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user