[systemd-commits] 5 commits - .gitignore hwdb/20-OUI.hwdb hwdb/20-pci-vendor-model.hwdb Makefile.am src/boot src/core src/efi-boot-generator src/shared src/test TODO
Kay Sievers
kay at kemper.freedesktop.org
Tue Sep 24 06:52:22 PDT 2013
.gitignore | 2
Makefile.am | 15 -
TODO | 2
hwdb/20-OUI.hwdb | 201 ++++++++++++++++-
hwdb/20-pci-vendor-model.hwdb | 322 +++++++++++++++++-----------
src/boot/boot-efi.c | 2
src/core/manager.c | 4
src/efi-boot-generator/efi-boot-generator.c | 2
src/shared/acpi-fpdt.c | 155 +++++++++++++
src/shared/acpi-fpdt.h | 26 ++
src/shared/boot-timestamps.c | 65 +++++
src/shared/boot-timestamps.h | 27 ++
src/shared/device-nodes.c | 2
src/shared/device-nodes.h | 2
src/shared/efivars.c | 41 ---
src/shared/efivars.h | 5
src/shared/utf8.c | 3
src/test/test-boot-timestamps.c | 98 ++++++++
src/test/test-efivars.c | 47 ----
19 files changed, 786 insertions(+), 235 deletions(-)
New commits:
commit ee9c9500ab13c1093fc3feaf2aa5a0d330d0bfad
Author: Kay Sievers <kay at vrfy.org>
Date: Tue Sep 24 15:47:42 2013 +0200
TODO: add header back
diff --git a/TODO b/TODO
index b79e265..0f2398a 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,5 @@
+Bugfixes:
+
* enabling an instance unit creates pointless link, and
the unit will be started with getty at getty.service:
$ systemctl enable getty at .service
commit 540fd137af627bb002a016637bf87e517e62f86c
Author: Kay Sievers <kay at vrfy.org>
Date: Tue Sep 24 15:47:12 2013 +0200
hwdb: update
diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb
index 4633977..e913b28 100644
--- a/hwdb/20-OUI.hwdb
+++ b/hwdb/20-OUI.hwdb
@@ -2519,7 +2519,7 @@ OUI:0050C2351*
ID_OUI_FROM_DATABASE=Finesystem Co., Ltd
OUI:0050C2352*
- ID_OUI_FROM_DATABASE=edixia
+ ID_OUI_FROM_DATABASE=LUCEO
OUI:0050C2353*
ID_OUI_FROM_DATABASE=Crossing Informationssysteme GmbH
@@ -10565,7 +10565,7 @@ OUI:0050C2DDA*
ID_OUI_FROM_DATABASE=rbz robot design s.l.
OUI:0050C2DDB*
- ID_OUI_FROM_DATABASE=EDIXIA
+ ID_OUI_FROM_DATABASE=LUCEO
OUI:0050C2DDC*
ID_OUI_FROM_DATABASE=Vision & Control GmbH
@@ -13291,6 +13291,39 @@ OUI:40D855170*
OUI:40D855171*
ID_OUI_FROM_DATABASE=Sicon srl
+OUI:40D855172*
+ ID_OUI_FROM_DATABASE=YAWATA ELECTRIC INDUSTRIAL CO.,LTD.
+
+OUI:40D855173*
+ ID_OUI_FROM_DATABASE=Contec Steuerungstechnik & Automation GmbH
+
+OUI:40D855174*
+ ID_OUI_FROM_DATABASE=EcoGuard AB
+
+OUI:40D855175*
+ ID_OUI_FROM_DATABASE=AHB Systeme GmbH
+
+OUI:40D855176*
+ ID_OUI_FROM_DATABASE=Schneider Electric Motion, Inc. USA
+
+OUI:40D855177*
+ ID_OUI_FROM_DATABASE=TRI Engineering co.,ltd.
+
+OUI:40D855178*
+ ID_OUI_FROM_DATABASE=REDER Domotic GmbH
+
+OUI:40D855179*
+ ID_OUI_FROM_DATABASE=Servo-Robot Inc.
+
+OUI:40D85517A*
+ ID_OUI_FROM_DATABASE=ARGUS-SPECTRUM
+
+OUI:40D85517B*
+ ID_OUI_FROM_DATABASE=LUCEO
+
+OUI:40D85517C*
+ ID_OUI_FROM_DATABASE=Critical Link
+
OUI:000000*
ID_OUI_FROM_DATABASE=XEROX CORPORATION
@@ -32510,7 +32543,7 @@ OUI:001934*
ID_OUI_FROM_DATABASE=TRENDON TOUCH TECHNOLOGY CORP.
OUI:001935*
- ID_OUI_FROM_DATABASE=DÃRR DENTAL AG
+ ID_OUI_FROM_DATABASE=DUERR DENTAL AG
OUI:001936*
ID_OUI_FROM_DATABASE=STERLITE OPTICAL TECHNOLOGIES LIMITED
@@ -36530,7 +36563,7 @@ OUI:001E70*
ID_OUI_FROM_DATABASE=Cobham Defence Communications Ltd
OUI:001E71*
- ID_OUI_FROM_DATABASE=Igeacare Solutions Inc.
+ ID_OUI_FROM_DATABASE=MIrcom Group of Companies
OUI:001E72*
ID_OUI_FROM_DATABASE=PCS
@@ -46598,7 +46631,7 @@ OUI:008063*
ID_OUI_FROM_DATABASE=Hirschmann Automation and Control GmbH
OUI:008064*
- ID_OUI_FROM_DATABASE=Tattile SRL
+ ID_OUI_FROM_DATABASE=WYSE TECHNOLOGY LLC
OUI:008065*
ID_OUI_FROM_DATABASE=CYBERGRAPHIC SYSTEMS PTY LTD.
@@ -51346,6 +51379,9 @@ OUI:043604*
OUI:043D98*
ID_OUI_FROM_DATABASE=ChongQing QingJia Electronics CO.,LTD
+OUI:0444A1*
+ ID_OUI_FROM_DATABASE=TELECON GALICIA,S.A.
+
OUI:044665*
ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd.
@@ -52078,6 +52114,9 @@ OUI:083E0C*
OUI:083E8E*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd
+OUI:084027*
+ ID_OUI_FROM_DATABASE=Gridstore Inc.
+
OUI:08482C*
ID_OUI_FROM_DATABASE=Raycore Taiwan Co., LTD.
@@ -52444,6 +52483,9 @@ OUI:0CAF5A*
OUI:0CB4EF*
ID_OUI_FROM_DATABASE=Digience Co.,Ltd.
+OUI:0CBD51*
+ ID_OUI_FROM_DATABASE=TCT Mobile Limited
+
OUI:0CBF15*
ID_OUI_FROM_DATABASE=Genetec
@@ -52750,6 +52792,9 @@ OUI:109FA9*
OUI:10A13B*
ID_OUI_FROM_DATABASE=FUJIKURA RUBBER LTD.
+OUI:10A5D0*
+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co.,Ltd.
+
OUI:10A743*
ID_OUI_FROM_DATABASE=SK Mtek Limited
@@ -53041,6 +53086,9 @@ OUI:14E6E4*
OUI:14EB33*
ID_OUI_FROM_DATABASE=BSMediasoft Co., Ltd.
+OUI:14EDA5*
+ ID_OUI_FROM_DATABASE=Wächter GmbH Sicherheitssysteme
+
OUI:14EE9D*
ID_OUI_FROM_DATABASE=AirNav Systems LLC
@@ -53110,6 +53158,9 @@ OUI:181BEB*
OUI:181EB0*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:182012*
+ ID_OUI_FROM_DATABASE=Aztech Associates Inc.
+
OUI:182032*
ID_OUI_FROM_DATABASE=Apple
@@ -53248,6 +53299,9 @@ OUI:1897FF*
OUI:189A67*
ID_OUI_FROM_DATABASE=CSE-Servelec Limited
+OUI:189C5D*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:189EFC*
ID_OUI_FROM_DATABASE=Apple
@@ -53258,7 +53312,7 @@ OUI:18A99B*
ID_OUI_FROM_DATABASE=Dell Inc PCBA Test
OUI:18AA45*
- ID_OUI_FROM_DATABASE=Fon Japan K. K.
+ ID_OUI_FROM_DATABASE=Fon Technology
OUI:18ABF5*
ID_OUI_FROM_DATABASE=Ultra Electronics - Electrics
@@ -53479,6 +53533,9 @@ OUI:1C7508*
OUI:1C76CA*
ID_OUI_FROM_DATABASE=Terasic Technologies Inc.
+OUI:1C7839*
+ ID_OUI_FROM_DATABASE=Shenzhen Tencent Computer System Co., Ltd.
+
OUI:1C7B21*
ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
@@ -53788,6 +53845,9 @@ OUI:20BFDB*
OUI:20C1AF*
ID_OUI_FROM_DATABASE=i Wit Digital Co., Limited
+OUI:20C60D*
+ ID_OUI_FROM_DATABASE=Shanghai annijie Information technology Co.,LTD
+
OUI:20C6EB*
ID_OUI_FROM_DATABASE=Panasonic Corporation AVC Networks Company
@@ -54910,6 +54970,9 @@ OUI:3429EA*
OUI:342F6E*
ID_OUI_FROM_DATABASE=Anywire corporation
+OUI:343111*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:3440B5*
ID_OUI_FROM_DATABASE=IBM
@@ -54979,6 +55042,9 @@ OUI:34862A*
OUI:34885D*
ID_OUI_FROM_DATABASE=Logitech Far East
+OUI:348AAE*
+ ID_OUI_FROM_DATABASE=SAGEMCOM SAS
+
OUI:3495DB*
ID_OUI_FROM_DATABASE=Logitec Corporation
@@ -55066,6 +55132,9 @@ OUI:34BDF9*
OUI:34BDFA*
ID_OUI_FROM_DATABASE=Cisco SPVTG
+OUI:34BE00*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:34BF90*
ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd.
@@ -55150,6 +55219,9 @@ OUI:380A0A*
OUI:380A94*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:380B40*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:380DD4*
ID_OUI_FROM_DATABASE=Primax Electronics LTD.
@@ -55303,6 +55375,9 @@ OUI:38BB23*
OUI:38BC1A*
ID_OUI_FROM_DATABASE=Meizu technology co.,ltd
+OUI:38BF2F*
+ ID_OUI_FROM_DATABASE=Espec Corp.
+
OUI:38BF33*
ID_OUI_FROM_DATABASE=NEC CASIO Mobile Communications
@@ -55315,6 +55390,9 @@ OUI:38C7BA*
OUI:38C85C*
ID_OUI_FROM_DATABASE=Cisco SPVTG
+OUI:38CA97*
+ ID_OUI_FROM_DATABASE=Contour Design LLC
+
OUI:38D135*
ID_OUI_FROM_DATABASE=EasyIO Corporation Sdn. Bhd.
@@ -55423,6 +55501,9 @@ OUI:3C2DB7*
OUI:3C2F3A*
ID_OUI_FROM_DATABASE=SFORZATO Corp.
+OUI:3C300C*
+ ID_OUI_FROM_DATABASE=Dewar Electronics Pty Ltd
+
OUI:3C363D*
ID_OUI_FROM_DATABASE=Nokia Corporation
@@ -55975,6 +56056,9 @@ OUI:443839*
OUI:4439C4*
ID_OUI_FROM_DATABASE=Universal Global Scientific Industrial Co.,Ltd
+OUI:443C9C*
+ ID_OUI_FROM_DATABASE=Pintsch Tiefenbach GmbH
+
OUI:443D21*
ID_OUI_FROM_DATABASE=Nuvolt
@@ -56263,6 +56347,9 @@ OUI:489D24*
OUI:48A22D*
ID_OUI_FROM_DATABASE=Shenzhen Huaxuchang Telecom Technology Co.,Ltd
+OUI:48A2B7*
+ ID_OUI_FROM_DATABASE=Kodofon JSC
+
OUI:48A6D2*
ID_OUI_FROM_DATABASE=GJsun Optical Science and Tech Co.,Ltd.
@@ -56845,6 +56932,9 @@ OUI:50FAAB*
OUI:50FC30*
ID_OUI_FROM_DATABASE=Treehouse Labs
+OUI:50FC9F*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:5403F5*
ID_OUI_FROM_DATABASE=EBN Technology Corp.
@@ -57559,6 +57649,9 @@ OUI:5CFFFF*
OUI:6002B4*
ID_OUI_FROM_DATABASE=Wistron NeWeb Corp.
+OUI:600347*
+ ID_OUI_FROM_DATABASE=Billion Electric Co. Ltd.
+
OUI:600F77*
ID_OUI_FROM_DATABASE=SilverPlus, Inc
@@ -57742,6 +57835,9 @@ OUI:60BC4C*
OUI:60BD91*
ID_OUI_FROM_DATABASE=Move Innovation
+OUI:60BEB5*
+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC
+
OUI:60C397*
ID_OUI_FROM_DATABASE=2Wire Inc
@@ -59446,9 +59542,15 @@ OUI:78ABBB*
OUI:78ACC0*
ID_OUI_FROM_DATABASE=Hewlett-Packard Company
+OUI:78AE0C*
+ ID_OUI_FROM_DATABASE=Far South Networks
+
OUI:78B3CE*
ID_OUI_FROM_DATABASE=Elo touch solutions
+OUI:78B5D2*
+ ID_OUI_FROM_DATABASE=Ever Treasure Industrial Limited
+
OUI:78B6C1*
ID_OUI_FROM_DATABASE=AOBO Telecom Co.,Ltd
@@ -59482,6 +59584,9 @@ OUI:78CA04*
OUI:78CA39*
ID_OUI_FROM_DATABASE=Apple
+OUI:78CA5E*
+ ID_OUI_FROM_DATABASE=ELNO
+
OUI:78CB33*
ID_OUI_FROM_DATABASE=DHC Software Co.,Ltd
@@ -59611,6 +59716,9 @@ OUI:7C1E52*
OUI:7C1EB3*
ID_OUI_FROM_DATABASE=2N TELEKOMUNIKACE a.s.
+OUI:7C2048*
+ ID_OUI_FROM_DATABASE=KoamTac
+
OUI:7C2064*
ID_OUI_FROM_DATABASE=Alcatel Lucent IPD
@@ -59704,6 +59812,9 @@ OUI:7C6F06*
OUI:7C6FF8*
ID_OUI_FROM_DATABASE=ShenZhen ACTO Digital Video Technology Co.,Ltd.
+OUI:7C72E4*
+ ID_OUI_FROM_DATABASE=Unikey Technologies
+
OUI:7C7673*
ID_OUI_FROM_DATABASE=ENMAS GmbH
@@ -59731,6 +59842,9 @@ OUI:7C94B2*
OUI:7C95F3*
ID_OUI_FROM_DATABASE=Cisco
+OUI:7C9763*
+ ID_OUI_FROM_DATABASE=Openmatics s.r.o.
+
OUI:7C9A9B*
ID_OUI_FROM_DATABASE=VSE valencia smart energy
@@ -60217,6 +60331,9 @@ OUI:844F03*
OUI:845181*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:84569C*
+ ID_OUI_FROM_DATABASE=Coho Data, Inc.,
+
OUI:845787*
ID_OUI_FROM_DATABASE=DVR C&C Co., Ltd.
@@ -60286,6 +60403,9 @@ OUI:849DC5*
OUI:84A6C8*
ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:84A783*
+ ID_OUI_FROM_DATABASE=Alcatel Lucent
+
OUI:84A8E4*
ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd
@@ -60589,6 +60709,9 @@ OUI:88F490*
OUI:88FD15*
ID_OUI_FROM_DATABASE=LINEEYE CO., LTD
+OUI:88FED6*
+ ID_OUI_FROM_DATABASE=ShangHai WangYong Software Co., Ltd.
+
OUI:8C006D*
ID_OUI_FROM_DATABASE=Apple
@@ -61159,6 +61282,9 @@ OUI:940070*
OUI:940149*
ID_OUI_FROM_DATABASE=AutoHotBox
+OUI:9401C2*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
OUI:940B2D*
ID_OUI_FROM_DATABASE=NetView Technologies(Shenzhen) Co., Ltd
@@ -61654,6 +61780,9 @@ OUI:98FE03*
OUI:98FE94*
ID_OUI_FROM_DATABASE=Apple
+OUI:98FFD0*
+ ID_OUI_FROM_DATABASE=Lenovo Mobile Communication Technology Ltd.
+
OUI:9C0111*
ID_OUI_FROM_DATABASE=Shenzhen Newabel Electronic Co., Ltd.
@@ -62167,6 +62296,9 @@ OUI:A0CEC8*
OUI:A0CF5B*
ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
+OUI:A0D3C1*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
OUI:A0DC04*
ID_OUI_FROM_DATABASE=Becker-Antriebe GmbH
@@ -62233,6 +62365,9 @@ OUI:A40130*
OUI:A4059E*
ID_OUI_FROM_DATABASE=STA Infinity LLP
+OUI:A409CB*
+ ID_OUI_FROM_DATABASE=Alfred Kaercher GmbH & Co KG
+
OUI:A40BED*
ID_OUI_FROM_DATABASE=Carry Technology Co.,Ltd
@@ -62326,6 +62461,9 @@ OUI:A46706*
OUI:A46E79*
ID_OUI_FROM_DATABASE=DFT System Co.Ltd
+OUI:A47760*
+ ID_OUI_FROM_DATABASE=Nokia Corporation
+
OUI:A479E4*
ID_OUI_FROM_DATABASE=KLINFO Corp
@@ -62599,6 +62737,9 @@ OUI:A870A5*
OUI:A875D6*
ID_OUI_FROM_DATABASE=FreeTek International Co., Ltd.
+OUI:A875E2*
+ ID_OUI_FROM_DATABASE=Aventura Technologies, Inc.
+
OUI:A8776F*
ID_OUI_FROM_DATABASE=Zonoff
@@ -63541,6 +63682,9 @@ OUI:B82410*
OUI:B8241A*
ID_OUI_FROM_DATABASE=SWEDA INFORMATICA LTDA
+OUI:B8266C*
+ ID_OUI_FROM_DATABASE=ANOV France
+
OUI:B826D4*
ID_OUI_FROM_DATABASE=Furukawa Industrial S.A. Produtos Elétricos
@@ -63871,6 +64015,9 @@ OUI:BC2BD7*
OUI:BC2C55*
ID_OUI_FROM_DATABASE=Bear Flag Design, Inc.
+OUI:BC2D98*
+ ID_OUI_FROM_DATABASE=ThinGlobal LLC
+
OUI:BC305B*
ID_OUI_FROM_DATABASE=Dell Inc.
@@ -64063,6 +64210,9 @@ OUI:BCEA2B*
OUI:BCF2AF*
ID_OUI_FROM_DATABASE=devolo AG
+OUI:BCF5AC*
+ ID_OUI_FROM_DATABASE=LG Electronics
+
OUI:BCF685*
ID_OUI_FROM_DATABASE=D-Link International
@@ -64135,6 +64285,9 @@ OUI:C03F0E*
OUI:C03F2A*
ID_OUI_FROM_DATABASE=Biscotti, Inc.
+OUI:C03FD5*
+ ID_OUI_FROM_DATABASE=Elitegroup Computer Systems Co., LTD
+
OUI:C041F6*
ID_OUI_FROM_DATABASE=LG Electronics Inc
@@ -64183,6 +64336,9 @@ OUI:C06C0F*
OUI:C06C6D*
ID_OUI_FROM_DATABASE=MagneMotion, Inc.
+OUI:C07BBC*
+ ID_OUI_FROM_DATABASE=Cisco
+
OUI:C07E40*
ID_OUI_FROM_DATABASE=SHENZHEN XDK COMMUNICATION EQUIPMENT CO.,LTD
@@ -64309,6 +64465,9 @@ OUI:C0EAE4*
OUI:C0F8DA*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+OUI:C0F991*
+ ID_OUI_FROM_DATABASE=GME Standard Communications P/L
+
OUI:C40142*
ID_OUI_FROM_DATABASE=MaxMedia Technology Limited
@@ -64390,6 +64549,9 @@ OUI:C4438F*
OUI:C44567*
ID_OUI_FROM_DATABASE=SAMBON PRECISON and ELECTRONICS
+OUI:C445EC*
+ ID_OUI_FROM_DATABASE=Shanghai Yali Electron Co.,LTD
+
OUI:C44619*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -64654,6 +64816,9 @@ OUI:C84C75*
OUI:C85645*
ID_OUI_FROM_DATABASE=Intermas France
+OUI:C85663*
+ ID_OUI_FROM_DATABASE=Sunflex Europe GmbH
+
OUI:C86000*
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
@@ -66277,6 +66442,9 @@ OUI:E0469A*
OUI:E05597*
ID_OUI_FROM_DATABASE=Emergent Vision Technologies Inc.
+OUI:E056F4*
+ ID_OUI_FROM_DATABASE=AxesNetwork Solutions inc.
+
OUI:E0589E*
ID_OUI_FROM_DATABASE=Laerdal Medical
@@ -66451,6 +66619,9 @@ OUI:E0DB55*
OUI:E0DCA0*
ID_OUI_FROM_DATABASE=Siemens Electrical Apparatus Ltd., Suzhou Chengdu Branch
+OUI:E0E631*
+ ID_OUI_FROM_DATABASE=SNB TECHNOLOGIES LIMITED
+
OUI:E0E751*
ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
@@ -66970,6 +67141,9 @@ OUI:E8E5D6*
OUI:E8E732*
ID_OUI_FROM_DATABASE=Alcatel-Lucent
+OUI:E8E770*
+ ID_OUI_FROM_DATABASE=Warp9 Tech Design, Inc.
+
OUI:E8E776*
ID_OUI_FROM_DATABASE=Shenzhen Kootion Technology Co., Ltd
@@ -67087,6 +67261,9 @@ OUI:EC66D1*
OUI:EC6C9F*
ID_OUI_FROM_DATABASE=Chengdu Volans Technology CO.,LTD
+OUI:EC71DB*
+ ID_OUI_FROM_DATABASE=Shenzhen Baichuan Digital Technology Co., Ltd.
+
OUI:EC7C74*
ID_OUI_FROM_DATABASE=Justone Technologies Co., Ltd.
@@ -67456,6 +67633,9 @@ OUI:F0E5C3*
OUI:F0E77E*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:F0EBD0*
+ ID_OUI_FROM_DATABASE=Shanghai Feixun Communication Co.,Ltd.
+
OUI:F0EC39*
ID_OUI_FROM_DATABASE=Essec
@@ -67765,6 +67945,9 @@ OUI:F81654*
OUI:F81A67*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO., LTD.
+OUI:F81CE5*
+ ID_OUI_FROM_DATABASE=Telefonbau Behnke GmbH
+
OUI:F81D93*
ID_OUI_FROM_DATABASE=Longdhua(Beijing) Controls Technology Co.,Ltd
@@ -67846,6 +68029,9 @@ OUI:F852DF*
OUI:F854AF*
ID_OUI_FROM_DATABASE=ECI Telecom Ltd.
+OUI:F8572E*
+ ID_OUI_FROM_DATABASE=Core Brands, LLC
+
OUI:F85BC9*
ID_OUI_FROM_DATABASE=M-Cube Spa
@@ -67924,6 +68110,9 @@ OUI:F8A03D*
OUI:F8A45F*
ID_OUI_FROM_DATABASE=Beijing Xiaomi communications co.,ltd
+OUI:F8A963*
+ ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD.
+
OUI:F8A9DE*
ID_OUI_FROM_DATABASE=PUISSANCE PLUS
diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb
index f94f54a..fdb534d 100644
--- a/hwdb/20-pci-vendor-model.hwdb
+++ b/hwdb/20-pci-vendor-model.hwdb
@@ -4212,7 +4212,7 @@ pci:v00001002d00006651*
ID_MODEL_FROM_DATABASE=Bonaire
pci:v00001002d00006658*
- ID_MODEL_FROM_DATABASE=Bonaire
+ ID_MODEL_FROM_DATABASE=Bonaire XTX [Radeon R7 260X]
pci:v00001002d0000665C*
ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770]
@@ -4245,13 +4245,13 @@ pci:v00001002d00006663*
ID_MODEL_FROM_DATABASE=Sun PRO [Radeon HD 8500M Series]
pci:v00001002d00006664*
- ID_MODEL_FROM_DATABASE=Sun [Radeon R5 M200 Series]
+ ID_MODEL_FROM_DATABASE=Jet XT [Radeon R5 M200 Series]
pci:v00001002d00006665*
- ID_MODEL_FROM_DATABASE=Sun [Radeon R5 M200 Series]
+ ID_MODEL_FROM_DATABASE=Jet PRO [Radeon R5 M200 Series]
pci:v00001002d00006667*
- ID_MODEL_FROM_DATABASE=Sun [Radeon R5 M200 Series]
+ ID_MODEL_FROM_DATABASE=Jet ULT [Radeon R5 M200 Series]
pci:v00001002d0000666F*
ID_MODEL_FROM_DATABASE=Sun [Radeon HD 8500M]
@@ -5787,10 +5787,10 @@ pci:v00001002d000067A2*
ID_MODEL_FROM_DATABASE=Hawaii GL
pci:v00001002d000067B0*
- ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon HD 8970]
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X]
pci:v00001002d000067B1*
- ID_MODEL_FROM_DATABASE=Hawaii PRO
+ ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290]
pci:v00001002d000067B9*
ID_MODEL_FROM_DATABASE=Vesuvius
@@ -5838,10 +5838,10 @@ pci:v00001002d00006809*
ID_MODEL_FROM_DATABASE=Pitcairn LE GL [FirePro W5000]
pci:v00001002d00006810*
- ID_MODEL_FROM_DATABASE=Pitcairn
+ ID_MODEL_FROM_DATABASE=Curacao XT [Radeon R9 270X]
pci:v00001002d00006811*
- ID_MODEL_FROM_DATABASE=Pitcairn [Radeon R9 200 Series]
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R9 270]
pci:v00001002d00006816*
ID_MODEL_FROM_DATABASE=Pitcairn
@@ -25658,6 +25658,9 @@ pci:v000010DEd00001026*
pci:v000010DEd00001028*
ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20m]
+pci:v000010DEd0000103A*
+ ID_MODEL_FROM_DATABASE=GK110GL [Quadro K6000]
+
pci:v000010DEd00001040*
ID_MODEL_FROM_DATABASE=GF119 [GeForce GT 520]
@@ -26189,6 +26192,9 @@ pci:v000010DEd00001140sv0000152Dsd00000983*
pci:v000010DEd00001140sv0000152Dsd00001030*
ID_MODEL_FROM_DATABASE=GeForce GT 630M
+pci:v000010DEd00001140sv0000152Dsd00001055*
+ ID_MODEL_FROM_DATABASE=GeForce 710M
+
pci:v000010DEd00001140sv000017AAsd00002200*
ID_MODEL_FROM_DATABASE=NVS 5200M
@@ -26384,6 +26390,9 @@ pci:v000010DEd000011B0sv000010DEsd0000101B*
pci:v000010DEd000011B1*
ID_MODEL_FROM_DATABASE=GK104GL [Tesla K2 USM]
+pci:v000010DEd000011B6*
+ ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K3100M]
+
pci:v000010DEd000011B7*
ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K4100M]
@@ -26645,6 +26654,9 @@ pci:v000010DEd00001294*
pci:v000010DEd00001295*
ID_MODEL_FROM_DATABASE=GK208M [GeForce 710M]
+pci:v000010DEd00001298*
+ ID_MODEL_FROM_DATABASE=GK208M [GeForce GT 720M]
+
pci:v000010DEd000012A0*
ID_MODEL_FROM_DATABASE=GK208
@@ -46280,6 +46292,12 @@ pci:v000015B3d00001015*
pci:v000015B3d00001016*
ID_MODEL_FROM_DATABASE=MT27631 Family
+pci:v000015B3d00001017*
+ ID_MODEL_FROM_DATABASE=MT27640 Family
+
+pci:v000015B3d00001018*
+ ID_MODEL_FROM_DATABASE=MT27641 Family
+
pci:v000015B3d00005274*
ID_MODEL_FROM_DATABASE=MT21108 InfiniBridge
@@ -48155,6 +48173,12 @@ pci:v0000175E*
pci:v00001760*
ID_VENDOR_FROM_DATABASE=TEDIA spol. s r. o.
+pci:v00001760d00000101*
+ ID_MODEL_FROM_DATABASE=PCD-7004 Digital Bi-Directional Ports PCI Card
+
+pci:v00001760d00000102*
+ ID_MODEL_FROM_DATABASE=PCD-7104 Digital Input & Output PCI Card
+
pci:v00001771*
ID_VENDOR_FROM_DATABASE=InnoVISION Multimedia Ltd.
@@ -51138,7 +51162,7 @@ pci:v00001B4Bd00009192*
ID_MODEL_FROM_DATABASE=88SE9172 SATA III 6Gb/s RAID Controller
pci:v00001B4Bd000091A0*
- ID_MODEL_FROM_DATABASE=88SE91A0 SATA 6Gb/s Controller
+ ID_MODEL_FROM_DATABASE=88SE912x SATA 6Gb/s Controller [IDE mode]
pci:v00001B4Bd000091A4*
ID_MODEL_FROM_DATABASE=88SE912x IDE Controller
@@ -51149,6 +51173,9 @@ pci:v00001B4Bd00009230*
pci:v00001B4Bd00009480*
ID_MODEL_FROM_DATABASE=88SE9480 SAS/SATA 6Gb/s RAID controller
+pci:v00001B4Bd00009485*
+ ID_MODEL_FROM_DATABASE=88SE9485 SAS/SATA 6Gb/s controller
+
pci:v00001B55*
ID_VENDOR_FROM_DATABASE=NetUP Inc.
@@ -54354,352 +54381,397 @@ pci:v00008086d00000D36*
ID_MODEL_FROM_DATABASE=Crystal Well Integrated Graphics Controller
pci:v00008086d00000E00*
- ID_MODEL_FROM_DATABASE=Ivytown DMI2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DMI2
pci:v00008086d00000E01*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port in DMI2 Mode
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode
pci:v00008086d00000E02*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 1a
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1a
pci:v00008086d00000E03*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 1b
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 1b
pci:v00008086d00000E04*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2a
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2a
pci:v00008086d00000E05*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2b
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2b
pci:v00008086d00000E06*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2c
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2c
pci:v00008086d00000E07*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 2d
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 2d
pci:v00008086d00000E08*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3a
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3a
pci:v00008086d00000E09*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3b
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3b
pci:v00008086d00000E0A*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3c
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3c
pci:v00008086d00000E0B*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Root Port 3d
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 PCI Express Root Port 3d
+
+pci:v00008086d00000E10*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers
+
+pci:v00008086d00000E13*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers
+
+pci:v00008086d00000E17*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers
+
+pci:v00008086d00000E18*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers
pci:v00008086d00000E1C*
- ID_MODEL_FROM_DATABASE=Ivytown Debug and Error Injection Related Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO Configuration Registers
pci:v00008086d00000E1D*
- ID_MODEL_FROM_DATABASE=Ivytown R2PCIe
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe
pci:v00008086d00000E1E*
- ID_MODEL_FROM_DATABASE=Ivytown Semaphore and Scratchpad Configuration Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers
pci:v00008086d00000E1F*
- ID_MODEL_FROM_DATABASE=Ivytown Semaphore and Scratchpad Configuration Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers
pci:v00008086d00000E20*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0
pci:v00008086d00000E21*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1
pci:v00008086d00000E22*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2
pci:v00008086d00000E23*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 3
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3
pci:v00008086d00000E24*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 4
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4
pci:v00008086d00000E25*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 5
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5
pci:v00008086d00000E26*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 6
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6
pci:v00008086d00000E27*
- ID_MODEL_FROM_DATABASE=Ivytown Crystal Beach DMA Channel 7
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7
pci:v00008086d00000E28*
- ID_MODEL_FROM_DATABASE=Ivytown VTd/Memory Map/Misc
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 VTd/Memory Map/Misc
pci:v00008086d00000E29*
- ID_MODEL_FROM_DATABASE=Ivytown Memory Hotplug
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Memory Hotplug
pci:v00008086d00000E2A*
- ID_MODEL_FROM_DATABASE=Ivytown IIO RAS
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IIO RAS
pci:v00008086d00000E2C*
- ID_MODEL_FROM_DATABASE=Ivytown IOAPIC
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 IOAPIC
pci:v00008086d00000E2E*
- ID_MODEL_FROM_DATABASE=Ivytown CBDMA
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA
pci:v00008086d00000E2F*
- ID_MODEL_FROM_DATABASE=Ivytown CBDMA
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 CBDMA
pci:v00008086d00000E30*
- ID_MODEL_FROM_DATABASE=Ivytown Home Agent 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0
pci:v00008086d00000E32*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0
pci:v00008086d00000E33*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1
pci:v00008086d00000E34*
- ID_MODEL_FROM_DATABASE=Ivytown PCI Express Ring Performance Monitoring
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe
pci:v00008086d00000E36*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring
pci:v00008086d00000E37*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring
pci:v00008086d00000E38*
- ID_MODEL_FROM_DATABASE=Ivytown Home Agent 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1
pci:v00008086d00000E3A*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2
pci:v00008086d00000E3E*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring
pci:v00008086d00000E3F*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Performance Ring Monitoring
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring
pci:v00008086d00000E40*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 2
pci:v00008086d00000E41*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers
pci:v00008086d00000E43*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2
pci:v00008086d00000E44*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 2
pci:v00008086d00000E60*
- ID_MODEL_FROM_DATABASE=Ivytown Home Agent 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 1
pci:v00008086d00000E68*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Target Address/Thermal Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers
pci:v00008086d00000E6A*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers
pci:v00008086d00000E6B*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers
pci:v00008086d00000E6C*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers
pci:v00008086d00000E6D*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers
pci:v00008086d00000E71*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 RAS Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers
+
+pci:v00008086d00000E74*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe
+
+pci:v00008086d00000E75*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 R2PCIe
+
+pci:v00008086d00000E77*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers
pci:v00008086d00000E79*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 RAS Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers
+
+pci:v00008086d00000E7D*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 UBOX Registers
+
+pci:v00008086d00000E7F*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers
pci:v00008086d00000E80*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 0
pci:v00008086d00000E81*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Ring Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Ring Registers
pci:v00008086d00000E83*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0
pci:v00008086d00000E84*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 0
+
+pci:v00008086d00000E87*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Registers
pci:v00008086d00000E90*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1
pci:v00008086d00000E93*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link 1
pci:v00008086d00000E94*
- ID_MODEL_FROM_DATABASE=Ivytown QPI Link Reut 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 QPI Link Reut 1
pci:v00008086d00000EA0*
- ID_MODEL_FROM_DATABASE=Ivytown Home Agent 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Home Agent 0
pci:v00008086d00000EA8*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Target Address/Thermal Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers
pci:v00008086d00000EAA*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers
pci:v00008086d00000EAB*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers
pci:v00008086d00000EAC*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers
pci:v00008086d00000EAD*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel Target Address Decoder Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers
+
+pci:v00008086d00000EAE*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers
+
+pci:v00008086d00000EAF*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers
pci:v00008086d00000EB0*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0
pci:v00008086d00000EB1*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1
pci:v00008086d00000EB2*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0
pci:v00008086d00000EB3*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1
pci:v00008086d00000EB4*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2
pci:v00008086d00000EB5*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 Thermal Control 3
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3
pci:v00008086d00000EB6*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2
pci:v00008086d00000EB7*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3
+
+pci:v00008086d00000EBC*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers
+
+pci:v00008086d00000EBE*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers
+
+pci:v00008086d00000EBF*
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO Registers
pci:v00008086d00000EC0*
- ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 0
pci:v00008086d00000EC1*
- ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 1
pci:v00008086d00000EC2*
- ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 2
pci:v00008086d00000EC3*
- ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 3
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 3
pci:v00008086d00000EC4*
- ID_MODEL_FROM_DATABASE=Ivytown Power Control Unit 4
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Power Control Unit 4
pci:v00008086d00000EC8*
- ID_MODEL_FROM_DATABASE=Ivytown System Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 System Address Decoder
pci:v00008086d00000EC9*
- ID_MODEL_FROM_DATABASE=Ivytown Broadcast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers
pci:v00008086d00000ECA*
- ID_MODEL_FROM_DATABASE=Ivytown Broadcast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Broadcast Registers
pci:v00008086d00000ED8*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000ED9*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EDC*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EDD*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EDE*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EDF*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EE0*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE1*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE2*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE3*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE4*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE5*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE6*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE7*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE8*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EE9*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EEA*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EEB*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EEC*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EED*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EEE*
- ID_MODEL_FROM_DATABASE=Ivytown Unicast Registers
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Unicast Registers
pci:v00008086d00000EF0*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0
pci:v00008086d00000EF1*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1
pci:v00008086d00000EF2*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0
pci:v00008086d00000EF3*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1
pci:v00008086d00000EF4*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2
pci:v00008086d00000EF5*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 Thermal Control 3
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3
pci:v00008086d00000EF6*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2
pci:v00008086d00000EF7*
- ID_MODEL_FROM_DATABASE=Ivytown Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3
pci:v00008086d00000EF8*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EF9*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EFA*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EFB*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EFC*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000EFD*
- ID_MODEL_FROM_DATABASE=Ivytown DDRIO
+ ID_MODEL_FROM_DATABASE=Xeon E5 v2/Core i7 DDRIO
pci:v00008086d00000F00*
ID_MODEL_FROM_DATABASE=ValleyView SSA-CUnit
commit c51d84dc09476d9c06b8aac726220bf3c7d62e8d
Author: Kay Sievers <kay at vrfy.org>
Date: Mon Sep 23 17:23:35 2013 -0500
support acpi firmware performance data (FPDT)
Prefer firmware-provided performance data over loader-exported ones; if
ACPI data is available, always use it, otherwise try to read the loader
data.
The firmware-provided variables start at the time the first EFI image
is executed and end when the operating system exits the boot services;
the (loader) time calculated in systemd-analyze increases.
diff --git a/.gitignore b/.gitignore
index 8115d4d..5b38c0b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -85,6 +85,7 @@
/systemd-user-sessions
/systemd-vconsole-setup
/tags
+/test-boot-timestamp
/test-bus-chat
/test-bus-kernel
/test-bus-kernel-bloom
@@ -102,7 +103,6 @@
/test-daemon
/test-date
/test-device-nodes
-/test-efivars
/test-engine
/test-env-replace
/test-fileio
diff --git a/Makefile.am b/Makefile.am
index 89a5c86..0eee1d9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -717,6 +717,10 @@ libsystemd_shared_la_SOURCES = \
src/shared/output-mode.h \
src/shared/MurmurHash3.c \
src/shared/MurmurHash3.h \
+ src/shared/acpi-fpdt.h \
+ src/shared/acpi-fpdt.c \
+ src/shared/boot-timestamps.h \
+ src/shared/boot-timestamps.c \
src/shared/refcnt.h
#-------------------------------------------------------------------------------
@@ -1155,9 +1159,6 @@ EXTRA_DIST += \
test_device_nodes_SOURCES = \
src/test/test-device-nodes.c
-test_device_nodes_CFLAGS = \
- $(AM_CFLAGS)
-
test_device_nodes_LDADD = \
libsystemd-shared.la
@@ -1209,12 +1210,12 @@ test_hostname_LDADD = \
if ENABLE_EFI
manual_tests += \
- test-efivars
+ test-boot-timestamp
-test_efivars_SOURCES = \
- src/test/test-efivars.c
+test_boot_timestamp_SOURCES = \
+ src/test/test-boot-timestamps.c
-test_efivars_LDADD = \
+test_boot_timestamp_LDADD = \
libsystemd-shared.la
endif
diff --git a/src/boot/boot-efi.c b/src/boot/boot-efi.c
index 9960c4d..33840b6 100644
--- a/src/boot/boot-efi.c
+++ b/src/boot/boot-efi.c
@@ -174,7 +174,7 @@ int boot_info_query(struct boot_info *info) {
efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderFirmwareInfo", &info->fw_info);
efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderImageIdentifier", &info->loader_image_path);
tilt_slashes(info->loader_image_path);
- efi_get_loader_device_part_uuid(&info->loader_part_uuid);
+ efi_loader_get_device_part_uuid(&info->loader_part_uuid);
boot_loader_read_entries(info);
efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntrySelected", &loader_active);
diff --git a/src/core/manager.c b/src/core/manager.c
index 079db41..f70ff03 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -70,7 +70,7 @@
#include "cgroup-util.h"
#include "path-util.h"
#include "audit-fd.h"
-#include "efivars.h"
+#include "boot-timestamps.h"
#include "env-util.h"
/* As soon as 5s passed since a unit was added to our GC queue, make sure to run a gc sweep */
@@ -496,7 +496,7 @@ int manager_new(SystemdRunningAs running_as, bool reexecuting, Manager **_m) {
#ifdef ENABLE_EFI
if (detect_container(NULL) <= 0)
- efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
+ boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
#endif
m->running_as = running_as;
diff --git a/src/efi-boot-generator/efi-boot-generator.c b/src/efi-boot-generator/efi-boot-generator.c
index 4367c53..05b95ed 100644
--- a/src/efi-boot-generator/efi-boot-generator.c
+++ b/src/efi-boot-generator/efi-boot-generator.c
@@ -55,7 +55,7 @@ int main(int argc, char *argv[]) {
if (dir_is_empty("/boot") <= 0)
return EXIT_SUCCESS;
- r = efi_get_loader_device_part_uuid(&id);
+ r = efi_loader_get_device_part_uuid(&id);
if (r == -ENOENT)
return EXIT_SUCCESS;
if (r < 0) {
diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c
new file mode 100644
index 0000000..b094f34
--- /dev/null
+++ b/src/shared/acpi-fpdt.c
@@ -0,0 +1,155 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+
+#include <util.h>
+#include <fileio.h>
+#include <time-util.h>
+#include <acpi-fpdt.h>
+
+struct acpi_table_header {
+ char signature[4];
+ uint32_t length;
+ uint8_t revision;
+ uint8_t checksum;
+ char oem_id[6];
+ char oem_table_id[8];
+ uint32_t oem_revision;
+ char asl_compiler_id[4];
+ uint32_t asl_compiler_revision;
+};
+
+enum {
+ ACPI_FPDT_TYPE_BOOT = 0,
+ ACPI_FPDT_TYPE_S3PERF = 1,
+};
+
+struct acpi_fpdt_header {
+ uint16_t type;
+ uint8_t length;
+ uint8_t revision;
+ uint8_t reserved[4];
+ uint64_t ptr;
+};
+
+struct acpi_fpdt_boot_header {
+ char signature[4];
+ uint32_t length;
+};
+
+enum {
+ ACPI_FPDT_S3PERF_RESUME_REC = 0,
+ ACPI_FPDT_S3PERF_SUSPEND_REC = 1,
+ ACPI_FPDT_BOOT_REC = 2,
+};
+
+struct acpi_fpdt_boot {
+ uint16_t type;
+ uint8_t length;
+ uint8_t revision;
+ uint8_t reserved[4];
+ uint64_t reset_end;
+ uint64_t load_start;
+ uint64_t startup_start;
+ uint64_t exit_services_entry;
+ uint64_t exit_services_exit;
+};
+
+int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) {
+ char *buf;
+ struct acpi_table_header *tbl;
+ size_t l;
+ struct acpi_fpdt_header *rec;
+ int r;
+ uint64_t ptr = 0;
+ _cleanup_close_ int fd = -1;
+ struct acpi_fpdt_boot_header hbrec;
+ struct acpi_fpdt_boot brec;
+
+ r = read_full_file("/sys/firmware/acpi/tables/FPDT", &buf, &l);
+ if (r < 0)
+ return r;
+
+ if (l < sizeof(struct acpi_table_header) + sizeof(struct acpi_fpdt_header))
+ return -EINVAL;
+
+ tbl = (struct acpi_table_header *)buf;
+ if (l != tbl->length)
+ return -EINVAL;
+
+ if (memcmp(tbl->signature, "FPDT", 4) != 0)
+ return -EINVAL;
+
+ /* find Firmware Basic Boot Performance Pointer Record */
+ for (rec = (struct acpi_fpdt_header *)(buf + sizeof(struct acpi_table_header));
+ (char *)rec < buf + l;
+ rec = (struct acpi_fpdt_header *)((char *)rec + rec->length)) {
+ if (rec->type != ACPI_FPDT_TYPE_BOOT)
+ continue;
+ if (rec->length != sizeof(struct acpi_fpdt_header))
+ continue;
+
+ ptr = rec->ptr;
+ break;
+ }
+
+ if (ptr == 0)
+ return -EINVAL;
+
+ /* read Firmware Basic Boot Performance Data Record */
+ fd = open("/dev/mem", O_CLOEXEC|O_RDONLY);
+ if (fd < 0)
+ return -errno;
+
+ l = pread(fd, &hbrec, sizeof(struct acpi_fpdt_boot_header), ptr);
+ if (l != sizeof(struct acpi_fpdt_boot_header))
+ return -EINVAL;
+
+ if (memcmp(hbrec.signature, "FBPT", 4) != 0)
+ return -EINVAL;
+
+ if (hbrec.length < sizeof(struct acpi_fpdt_boot_header) + sizeof(struct acpi_fpdt_boot))
+ return -EINVAL;
+
+ l = pread(fd, &brec, sizeof(struct acpi_fpdt_boot), ptr + sizeof(struct acpi_fpdt_boot_header));
+ if (l != sizeof(struct acpi_fpdt_boot))
+ return -EINVAL;
+
+ if (brec.length != sizeof(struct acpi_fpdt_boot))
+ return -EINVAL;
+
+ if (brec.type != ACPI_FPDT_BOOT_REC)
+ return -EINVAL;
+
+ if (loader_start)
+ *loader_start = brec.startup_start / 1000;
+ if (loader_exit)
+ *loader_exit = brec.exit_services_exit / 1000;
+
+ return 0;
+}
diff --git a/src/shared/acpi-fpdt.h b/src/shared/acpi-fpdt.h
new file mode 100644
index 0000000..fc4fe6f
--- /dev/null
+++ b/src/shared/acpi-fpdt.h
@@ -0,0 +1,26 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <time-util.h>
+
+int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit);
diff --git a/src/shared/boot-timestamps.c b/src/shared/boot-timestamps.c
new file mode 100644
index 0000000..9449965
--- /dev/null
+++ b/src/shared/boot-timestamps.c
@@ -0,0 +1,65 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2012 Lennart Poettering
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+#include <unistd.h>
+
+#include "boot-timestamps.h"
+#include "acpi-fpdt.h"
+#include "efivars.h"
+
+int boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_timestamp *loader) {
+ usec_t x, y, a;
+ int r;
+ dual_timestamp _n;
+
+ assert(firmware);
+ assert(loader);
+
+ if (!n) {
+ dual_timestamp_get(&_n);
+ n = &_n;
+ }
+
+ r = acpi_get_boot_usec(&x, &y);
+ if (r < 0) {
+ r = efi_loader_get_boot_usec(&x, &y);
+ if (r < 0)
+ return r;
+ }
+
+ /* Let's convert this to timestamps where the firmware
+ * began/loader began working. To make this more confusing:
+ * since usec_t is unsigned and the kernel's monotonic clock
+ * begins at kernel initialization we'll actually initialize
+ * the monotonic timestamps here as negative of the actual
+ * value. */
+
+ firmware->monotonic = y;
+ loader->monotonic = y - x;
+
+ a = n->monotonic + firmware->monotonic;
+ firmware->realtime = n->realtime > a ? n->realtime - a : 0;
+
+ a = n->monotonic + loader->monotonic;
+ loader->realtime = n->realtime > a ? n->realtime - a : 0;
+
+ return 0;
+}
diff --git a/src/shared/boot-timestamps.h b/src/shared/boot-timestamps.h
new file mode 100644
index 0000000..a3d2405
--- /dev/null
+++ b/src/shared/boot-timestamps.h
@@ -0,0 +1,27 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+#pragma once
+
+/***
+ This file is part of systemd.
+
+ Copyright 2012 Lennart Poettering
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <time-util.h>
+
+int boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_timestamp *loader);
diff --git a/src/shared/efivars.c b/src/shared/efivars.c
index 8d004ba..1d5b6f9 100644
--- a/src/shared/efivars.c
+++ b/src/shared/efivars.c
@@ -24,6 +24,7 @@
#include <fcntl.h>
#include <ctype.h>
+#include "acpi-fpdt.h"
#include "util.h"
#include "utf8.h"
#include "efivars.h"
@@ -413,7 +414,7 @@ static int read_usec(sd_id128_t vendor, const char *name, usec_t *u) {
return 0;
}
-static int get_boot_usec(usec_t *firmware, usec_t *loader) {
+int efi_loader_get_boot_usec(usec_t *firmware, usec_t *loader) {
uint64_t x, y;
int r;
@@ -440,43 +441,7 @@ static int get_boot_usec(usec_t *firmware, usec_t *loader) {
return 0;
}
-int efi_get_boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_timestamp *loader) {
- usec_t x, y, a;
- int r;
- dual_timestamp _n;
-
- assert(firmware);
- assert(loader);
-
- if (!n) {
- dual_timestamp_get(&_n);
- n = &_n;
- }
-
- r = get_boot_usec(&x, &y);
- if (r < 0)
- return r;
-
- /* Let's convert this to timestamps where the firmware
- * began/loader began working. To make this more confusing:
- * since usec_t is unsigned and the kernel's monotonic clock
- * begins at kernel initialization we'll actually initialize
- * the monotonic timestamps here as negative of the actual
- * value. */
-
- firmware->monotonic = y;
- loader->monotonic = y - x;
-
- a = n->monotonic + firmware->monotonic;
- firmware->realtime = n->realtime > a ? n->realtime - a : 0;
-
- a = n->monotonic + loader->monotonic;
- loader->realtime = n->realtime > a ? n->realtime - a : 0;
-
- return 0;
-}
-
-int efi_get_loader_device_part_uuid(sd_id128_t *u) {
+int efi_loader_get_device_part_uuid(sd_id128_t *u) {
_cleanup_free_ char *p = NULL;
int r, parsed[16];
unsigned i;
diff --git a/src/shared/efivars.h b/src/shared/efivars.h
index 2b88c60..7921bed 100644
--- a/src/shared/efivars.h
+++ b/src/shared/efivars.h
@@ -42,6 +42,5 @@ int efi_get_boot_option(uint16_t nr, char **title, sd_id128_t *partuuid, char **
int efi_get_boot_order(uint16_t **order);
int efi_get_boot_options(uint16_t **options);
-int efi_get_boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_timestamp *loader);
-
-int efi_get_loader_device_part_uuid(sd_id128_t *u);
+int efi_loader_get_device_part_uuid(sd_id128_t *u);
+int efi_loader_get_boot_usec(usec_t *firmware, usec_t *loader);
diff --git a/src/test/test-boot-timestamps.c b/src/test/test-boot-timestamps.c
new file mode 100644
index 0000000..4ede318
--- /dev/null
+++ b/src/test/test-boot-timestamps.c
@@ -0,0 +1,98 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
+/***
+ This file is part of systemd.
+
+ Copyright 2013 Lennart Poettering
+ Copyright 2013 Kay Sievers
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "util.h"
+#include "log.h"
+#include "boot-timestamps.h"
+#include "efivars.h"
+#include "acpi-fpdt.h"
+
+static int test_acpi_fpdt(void) {
+ usec_t loader_start;
+ usec_t loader_exit;
+ char ts_start[FORMAT_TIMESPAN_MAX];
+ char ts_exit[FORMAT_TIMESPAN_MAX];
+ char ts_span[FORMAT_TIMESPAN_MAX];
+ int r;
+
+ r = acpi_get_boot_usec(&loader_start, &loader_exit);
+ if (r < 0) {
+ if (r != -ENOENT)
+ log_error("Failed to read ACPI FPDT: %s", strerror(-r));
+ return r;
+ }
+
+ log_info("ACPI FPDT: loader start=%s exit=%s duration=%s",
+ format_timespan(ts_start, sizeof(ts_start), loader_start, USEC_PER_MSEC),
+ format_timespan(ts_exit, sizeof(ts_exit), loader_exit, USEC_PER_MSEC),
+ format_timespan(ts_span, sizeof(ts_span), loader_exit - loader_start, USEC_PER_MSEC));
+
+ return 0;
+}
+
+static int test_efi_loader(void) {
+ usec_t loader_start;
+ usec_t loader_exit;
+ char ts_start[FORMAT_TIMESPAN_MAX];
+ char ts_exit[FORMAT_TIMESPAN_MAX];
+ char ts_span[FORMAT_TIMESPAN_MAX];
+ int r;
+
+ r = efi_loader_get_boot_usec(&loader_start, &loader_exit);
+ if (r < 0) {
+ if (r != -ENOENT)
+ log_error("Failed to read EFI loader data: %s", strerror(-r));
+ return r;
+ }
+
+ log_info("EFI Loader: start=%s exit=%s duration=%s",
+ format_timespan(ts_start, sizeof(ts_start), loader_start, USEC_PER_MSEC),
+ format_timespan(ts_exit, sizeof(ts_exit), loader_exit, USEC_PER_MSEC),
+ format_timespan(ts_span, sizeof(ts_span), loader_exit - loader_start, USEC_PER_MSEC));
+
+ return 0;
+}
+
+int main(int argc, char* argv[]) {
+ char s[MAX(FORMAT_TIMESPAN_MAX, FORMAT_TIMESTAMP_MAX)];
+ int r;
+ dual_timestamp fw, l, k;
+
+ test_acpi_fpdt();
+ test_efi_loader();
+
+ dual_timestamp_from_monotonic(&k, 0);
+
+ r = boot_timestamps(NULL, &fw, &l);
+ if (r < 0) {
+ log_error("Failed to read variables: %s", strerror(-r));
+ return 1;
+ }
+
+ log_info("Firmware began %s before kernel.", format_timespan(s, sizeof(s), fw.monotonic, 0));
+ log_info("Loader began %s before kernel.", format_timespan(s, sizeof(s), l.monotonic, 0));
+ log_info("Firmware began %s.", format_timestamp(s, sizeof(s), fw.realtime));
+ log_info("Loader began %s.", format_timestamp(s, sizeof(s), l.realtime));
+ log_info("Kernel began %s.", format_timestamp(s, sizeof(s), k.realtime));
+
+ return 0;
+}
diff --git a/src/test/test-efivars.c b/src/test/test-efivars.c
deleted file mode 100644
index 43ea591..0000000
--- a/src/test/test-efivars.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-/***
- This file is part of systemd.
-
- Copyright 2013 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
-#include "util.h"
-#include "log.h"
-#include "efivars.h"
-
-int main(int argc, char* argv[]) {
- char s[MAX(FORMAT_TIMESPAN_MAX, FORMAT_TIMESTAMP_MAX)];
- int r;
- dual_timestamp fw, l, k;
-
- dual_timestamp_from_monotonic(&k, 0);
-
- r = efi_get_boot_timestamps(NULL, &fw, &l);
- if (r < 0) {
- log_error("Failed to read variables: %s", strerror(-r));
- return 1;
- }
-
- log_info("Firmware began %s before kernel.", format_timespan(s, sizeof(s), fw.monotonic, 0));
- log_info("Loader began %s before kernel.", format_timespan(s, sizeof(s), l.monotonic, 0));
-
- log_info("Firmware began %s.", format_timestamp(s, sizeof(s), fw.realtime));
- log_info("Loader began %s.", format_timestamp(s, sizeof(s), l.realtime));
- log_info("Kernel began %s.", format_timestamp(s, sizeof(s), k.realtime));
-
- return 0;
-}
commit 036ae95ac4a425475b58e1a8e53d5c52b2c8a218
Author: Kay Sievers <kay at vrfy.org>
Date: Mon Sep 23 16:53:19 2013 -0500
shared: device-nodes - add include guard
diff --git a/src/shared/device-nodes.c b/src/shared/device-nodes.c
index 986553e..9837375 100644
--- a/src/shared/device-nodes.c
+++ b/src/shared/device-nodes.c
@@ -3,7 +3,7 @@
/***
This file is part of systemd.
- Copyright 2012 Lennart Poettering
+ Copyright 2008-2011 Kay Sievers
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
diff --git a/src/shared/device-nodes.h b/src/shared/device-nodes.h
index a98195a..04ba489 100644
--- a/src/shared/device-nodes.h
+++ b/src/shared/device-nodes.h
@@ -1,5 +1,7 @@
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+#pragma once
+
/***
This file is part of systemd.
diff --git a/src/shared/utf8.c b/src/shared/utf8.c
index c3d97cc..a8e28ac 100644
--- a/src/shared/utf8.c
+++ b/src/shared/utf8.c
@@ -3,6 +3,7 @@
/***
This file is part of systemd.
+ Copyright 2008-2011 Kay Sievers
Copyright 2012 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
@@ -19,7 +20,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-/* This file is based on the GLIB utf8 validation functions. The
+/* Parts of this file are based on the GLIB utf8 validation functions. The
* original license text follows. */
/* gutf8.c - Operations on UTF-8 strings.
commit fb8f3f986991e2ee249ee0d0b303f6123b709f43
Author: Kay Sievers <kay at vrfy.org>
Date: Mon Sep 23 16:52:58 2013 -0500
TODO: update
diff --git a/TODO b/TODO
index 01bc993..b79e265 100644
--- a/TODO
+++ b/TODO
@@ -1,7 +1,3 @@
-Bugfixes:
-* the running hwdb seems not to pick up updated database files without
- an explicit: udevadm control --reload
-
* enabling an instance unit creates pointless link, and
the unit will be started with getty at getty.service:
$ systemctl enable getty at .service
More information about the systemd-commits
mailing list