mirror of
https://github.com/speed47/spectre-meltdown-checker.git
synced 2026-06-06 06:33:04 +02:00
Compare commits
5 Commits
test
...
autoupdate-fwdb
| Author | SHA1 | Date | |
|---|---|---|---|
| 0313f64561 | |||
| 7d9345a32f | |||
| 645a79846b | |||
| 0045d237fa | |||
| 3e2b6cc734 |
+28
-25
@@ -8,7 +8,7 @@
|
|||||||
# with X being either I for Intel, or A for AMD
|
# with X being either I for Intel, or A for AMD
|
||||||
# When the date is unknown it defaults to 20000101
|
# When the date is unknown it defaults to 20000101
|
||||||
|
|
||||||
# %%% MCEDB v349+i20260227+615b
|
# %%% MCEDB v350+i20260512+1cce
|
||||||
# I,0x00000611,0xFF,0x00000B27,19961218
|
# I,0x00000611,0xFF,0x00000B27,19961218
|
||||||
# I,0x00000612,0xFF,0x000000C6,19961210
|
# I,0x00000612,0xFF,0x000000C6,19961210
|
||||||
# I,0x00000616,0xFF,0x000000C6,19961210
|
# I,0x00000616,0xFF,0x000000C6,19961210
|
||||||
@@ -381,14 +381,14 @@
|
|||||||
# I,0x000806F2,0xFF,0x8C0004E0,20211112
|
# I,0x000806F2,0xFF,0x8C0004E0,20211112
|
||||||
# I,0x000806F3,0xFF,0x8D000520,20220812
|
# I,0x000806F3,0xFF,0x8D000520,20220812
|
||||||
# I,0x000806F4,0x10,0x2C000421,20250825
|
# I,0x000806F4,0x10,0x2C000421,20250825
|
||||||
# I,0x000806F4,0x87,0x2B000661,20250825
|
# I,0x000806F4,0x87,0x2B000670,20251217
|
||||||
# I,0x000806F5,0x10,0x2C000421,20250825
|
# I,0x000806F5,0x10,0x2C000421,20250825
|
||||||
# I,0x000806F5,0x87,0x2B000661,20250825
|
# I,0x000806F5,0x87,0x2B000670,20251217
|
||||||
# I,0x000806F6,0x10,0x2C000421,20250825
|
# I,0x000806F6,0x10,0x2C000421,20250825
|
||||||
# I,0x000806F6,0x87,0x2B000661,20250825
|
# I,0x000806F6,0x87,0x2B000670,20251217
|
||||||
# I,0x000806F7,0x87,0x2B000661,20250825
|
# I,0x000806F7,0x87,0x2B000670,20251217
|
||||||
# I,0x000806F8,0x10,0x2C000421,20250825
|
# I,0x000806F8,0x10,0x2C000421,20250825
|
||||||
# I,0x000806F8,0x87,0x2B000661,20250825
|
# I,0x000806F8,0x87,0x2B000670,20251217
|
||||||
# I,0x00090660,0xFF,0x00000009,20200617
|
# I,0x00090660,0xFF,0x00000009,20200617
|
||||||
# I,0x00090661,0x01,0x0000001A,20240405
|
# I,0x00090661,0x01,0x0000001A,20240405
|
||||||
# I,0x00090670,0xFF,0x00000019,20201111
|
# I,0x00090670,0xFF,0x00000019,20201111
|
||||||
@@ -425,11 +425,12 @@
|
|||||||
# I,0x000A06C0,0xFF,0x00000013,20230901
|
# I,0x000A06C0,0xFF,0x00000013,20230901
|
||||||
# I,0x000A06C1,0xFF,0x00000005,20231201
|
# I,0x000A06C1,0xFF,0x00000005,20231201
|
||||||
# I,0x000A06D0,0xFF,0x10000680,20240818
|
# I,0x000A06D0,0xFF,0x10000680,20240818
|
||||||
# I,0x000A06D1,0x20,0x0A000133,20251009
|
# I,0x000A06D1,0x20,0x0A000142,20260129
|
||||||
# I,0x000A06D1,0x95,0x01000405,20251031
|
# I,0x000A06D1,0x95,0x01000423,20260129
|
||||||
# I,0x000A06E1,0x97,0x01000303,20251202
|
# I,0x000A06E0,0xFF,0x80000953,20240902
|
||||||
|
# I,0x000A06E1,0x97,0x01000307,20260226
|
||||||
# I,0x000A06F0,0xFF,0x80000360,20240130
|
# I,0x000A06F0,0xFF,0x80000360,20240130
|
||||||
# I,0x000A06F3,0x01,0x03000382,20250730
|
# I,0x000A06F3,0x01,0x030003A3,20260130
|
||||||
# I,0x000B0650,0x80,0x0000000D,20250925
|
# I,0x000B0650,0x80,0x0000000D,20250925
|
||||||
# I,0x000B0664,0xFF,0x00000030,20250529
|
# I,0x000B0664,0xFF,0x00000030,20250529
|
||||||
# I,0x000B0670,0xFF,0x0000000E,20220220
|
# I,0x000B0670,0xFF,0x0000000E,20220220
|
||||||
@@ -439,25 +440,27 @@
|
|||||||
# I,0x000B06A3,0xE0,0x00006134,20251008
|
# I,0x000B06A3,0xE0,0x00006134,20251008
|
||||||
# I,0x000B06A8,0xE0,0x00006134,20251008
|
# I,0x000B06A8,0xE0,0x00006134,20251008
|
||||||
# I,0x000B06D0,0xFF,0x0000001A,20240610
|
# I,0x000B06D0,0xFF,0x0000001A,20240610
|
||||||
# I,0x000B06D1,0x80,0x00000125,20250828
|
# I,0x000B06D1,0x80,0x00000126,20251210
|
||||||
# I,0x000B06E0,0x19,0x00000021,20250912
|
# I,0x000B06E0,0x19,0x00000021,20250912
|
||||||
# I,0x000B06F2,0x07,0x0000003E,20251012
|
# I,0x000B06F2,0x07,0x0000003E,20251012
|
||||||
# I,0x000B06F5,0x07,0x0000003E,20251012
|
# I,0x000B06F5,0x07,0x0000003E,20251012
|
||||||
# I,0x000B06F6,0x07,0x0000003E,20251012
|
# I,0x000B06F6,0x07,0x0000003E,20251012
|
||||||
# I,0x000B06F7,0x07,0x0000003E,20251012
|
# I,0x000B06F7,0x07,0x0000003E,20251012
|
||||||
# I,0x000C0652,0x82,0x0000011B,20250803
|
# I,0x000C0652,0x82,0x00000121,20251215
|
||||||
# I,0x000C0660,0xFF,0x00000018,20240516
|
# I,0x000C0660,0xFF,0x00000018,20240516
|
||||||
# I,0x000C0662,0x82,0x0000011B,20250803
|
# I,0x000C0662,0x82,0x00000121,20251215
|
||||||
# I,0x000C0664,0x82,0x0000011B,20250803
|
# I,0x000C0664,0x82,0x00000121,20251215
|
||||||
# I,0x000C06A2,0x82,0x0000011B,20250803
|
# I,0x000C06A2,0x82,0x00000121,20251215
|
||||||
# I,0x000C06C0,0xFF,0x00000012,20250325
|
# I,0x000C06C0,0xFF,0x00000012,20250325
|
||||||
# I,0x000C06C1,0xFF,0x00000115,20251203
|
# I,0x000C06C1,0x90,0x0000011B,20260324
|
||||||
# I,0x000C06C2,0xFF,0x00000115,20251203
|
# I,0x000C06C2,0x90,0x0000011B,20260324
|
||||||
# I,0x000C06C3,0xFF,0x00000115,20251203
|
# I,0x000C06C3,0x90,0x0000011B,20260324
|
||||||
# I,0x000C06F1,0x87,0x210002D3,20250825
|
# I,0x000C06F1,0x87,0x210002E0,20251217
|
||||||
# I,0x000C06F2,0x87,0x210002D3,20250825
|
# I,0x000C06F2,0x87,0x210002E0,20251217
|
||||||
# I,0x000D0670,0xFF,0x00000003,20250825
|
# I,0x000D0650,0xFF,0x00000008,20260208
|
||||||
# I,0x000D06D0,0xFF,0x00000340,20250807
|
# I,0x000D0651,0xFF,0x00000008,20260208
|
||||||
|
# I,0x000D0670,0xFF,0x00000137,20260218
|
||||||
|
# I,0x000D06D0,0xFF,0x80000370,20250917
|
||||||
# I,0x00FF0671,0xFF,0x0000010E,20220907
|
# I,0x00FF0671,0xFF,0x0000010E,20220907
|
||||||
# I,0x00FF0672,0xFF,0x0000000D,20210816
|
# I,0x00FF0672,0xFF,0x0000000D,20210816
|
||||||
# I,0x00FF0675,0xFF,0x0000000D,20210816
|
# I,0x00FF0675,0xFF,0x0000000D,20210816
|
||||||
@@ -554,7 +557,7 @@
|
|||||||
# A,0x00880F40,0xFF,0x08804005,20210312
|
# A,0x00880F40,0xFF,0x08804005,20210312
|
||||||
# A,0x00890F00,0xFF,0x08900007,20200921
|
# A,0x00890F00,0xFF,0x08900007,20200921
|
||||||
# A,0x00890F01,0xFF,0x08900103,20201105
|
# A,0x00890F01,0xFF,0x08900103,20201105
|
||||||
# A,0x00890F02,0xFF,0x08900203,20230915
|
# A,0x00890F02,0xFF,0x08900208,20241219
|
||||||
# A,0x00890F10,0xFF,0x08901003,20230919
|
# A,0x00890F10,0xFF,0x08901003,20230919
|
||||||
# A,0x008A0F00,0xFF,0x08A0000B,20241125
|
# A,0x008A0F00,0xFF,0x08A0000B,20241125
|
||||||
# A,0x00A00F00,0xFF,0x0A000033,20200413
|
# A,0x00A00F00,0xFF,0x0A000033,20200413
|
||||||
@@ -599,11 +602,11 @@
|
|||||||
# A,0x00B00F00,0xFF,0x0B00004D,20240318
|
# A,0x00B00F00,0xFF,0x0B00004D,20240318
|
||||||
# A,0x00B00F10,0xFF,0x0B001016,20240318
|
# A,0x00B00F10,0xFF,0x0B001016,20240318
|
||||||
# A,0x00B00F20,0xFF,0x0B002032,20241003
|
# A,0x00B00F20,0xFF,0x0B002032,20241003
|
||||||
# A,0x00B00F21,0xFF,0x0B002161,20251105
|
# A,0x00B00F21,0xFF,0x0B002162,20251105
|
||||||
# A,0x00B00F80,0xFF,0x0B008011,20241211
|
# A,0x00B00F80,0xFF,0x0B008011,20241211
|
||||||
# A,0x00B00F81,0xFF,0x0B008121,20251020
|
# A,0x00B00F81,0xFF,0x0B008121,20251020
|
||||||
# A,0x00B10F00,0xFF,0x0B10000F,20240320
|
# A,0x00B10F00,0xFF,0x0B10000F,20240320
|
||||||
# A,0x00B10F10,0xFF,0x0B101058,20251105
|
# A,0x00B10F10,0xFF,0x0B101059,20251105
|
||||||
# A,0x00B20F40,0xFF,0x0B204037,20251019
|
# A,0x00B20F40,0xFF,0x0B204037,20251019
|
||||||
# A,0x00B40F00,0xFF,0x0B400034,20240318
|
# A,0x00B40F00,0xFF,0x0B400034,20240318
|
||||||
# A,0x00B40F40,0xFF,0x0B404035,20251020
|
# A,0x00B40F40,0xFF,0x0B404035,20251020
|
||||||
|
|||||||
@@ -29,11 +29,18 @@ parse_cpu_details() {
|
|||||||
# cpu_variant_list and cpu_revision_list are consumed by ARM64 errata affection checks
|
# cpu_variant_list and cpu_revision_list are consumed by ARM64 errata affection checks
|
||||||
# that need to match a specific revision range.
|
# that need to match a specific revision range.
|
||||||
if grep -q 'CPU implementer' "$g_procfs/cpuinfo"; then
|
if grep -q 'CPU implementer' "$g_procfs/cpuinfo"; then
|
||||||
cpu_impl_list=$(awk '/CPU implementer/ {print $4}' "$g_procfs/cpuinfo")
|
# keep these single-line (space-separated) so consumers and outputs (JSON, prometheus)
|
||||||
cpu_part_list=$(awk '/CPU part/ {print $4}' "$g_procfs/cpuinfo")
|
# don't end up with embedded newlines; per-core order is preserved for the errata checks
|
||||||
cpu_arch_list=$(awk '/CPU architecture/ {print $3}' "$g_procfs/cpuinfo")
|
cpu_impl_list=$(awk '/CPU implementer/ {print $4}' "$g_procfs/cpuinfo" | tr '\n' ' ')
|
||||||
cpu_variant_list=$(awk '/CPU variant/ {print $4}' "$g_procfs/cpuinfo")
|
cpu_impl_list=${cpu_impl_list% }
|
||||||
cpu_revision_list=$(awk '/CPU revision/ {print $4}' "$g_procfs/cpuinfo")
|
cpu_part_list=$(awk '/CPU part/ {print $4}' "$g_procfs/cpuinfo" | tr '\n' ' ')
|
||||||
|
cpu_part_list=${cpu_part_list% }
|
||||||
|
cpu_arch_list=$(awk '/CPU architecture/ {print $3}' "$g_procfs/cpuinfo" | tr '\n' ' ')
|
||||||
|
cpu_arch_list=${cpu_arch_list% }
|
||||||
|
cpu_variant_list=$(awk '/CPU variant/ {print $4}' "$g_procfs/cpuinfo" | tr '\n' ' ')
|
||||||
|
cpu_variant_list=${cpu_variant_list% }
|
||||||
|
cpu_revision_list=$(awk '/CPU revision/ {print $4}' "$g_procfs/cpuinfo" | tr '\n' ' ')
|
||||||
|
cpu_revision_list=${cpu_revision_list% }
|
||||||
fi
|
fi
|
||||||
# Map first-seen implementer to cpu_vendor; note that heterogeneous systems
|
# Map first-seen implementer to cpu_vendor; note that heterogeneous systems
|
||||||
# (e.g. DynamIQ with ARM+Kryo cores) would all map to one vendor here, but
|
# (e.g. DynamIQ with ARM+Kryo cores) would all map to one vendor here, but
|
||||||
|
|||||||
@@ -384,6 +384,12 @@ check_kernel_info() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Collapse a whitespace-separated list to its unique values, preserving first-seen order.
|
||||||
|
# Used to prettify the per-core ARM lists for display (e.g. "0x41 0x41 0x41 0x41" -> "0x41").
|
||||||
|
_uniq_list() {
|
||||||
|
echo "$1" | awk '{ for (i = 1; i <= NF; i++) if (!seen[$i]++) printf "%s%s", (n++ ? " " : ""), $i }'
|
||||||
|
}
|
||||||
|
|
||||||
# Display hardware-level CPU mitigation support (microcode features, ARCH_CAPABILITIES, etc.)
|
# Display hardware-level CPU mitigation support (microcode features, ARCH_CAPABILITIES, etc.)
|
||||||
check_cpu() {
|
check_cpu() {
|
||||||
local capabilities ret spec_ctrl_msr codename ucode_str
|
local capabilities ret spec_ctrl_msr codename ucode_str
|
||||||
@@ -393,13 +399,13 @@ check_cpu() {
|
|||||||
pr_info " * Vendor: $cpu_vendor"
|
pr_info " * Vendor: $cpu_vendor"
|
||||||
pr_info " * Model name: $cpu_friendly_name"
|
pr_info " * Model name: $cpu_friendly_name"
|
||||||
if [ -n "${cpu_impl_list:-}" ]; then
|
if [ -n "${cpu_impl_list:-}" ]; then
|
||||||
pr_info " * Implementer(s): $cpu_impl_list"
|
pr_info " * Implementer(s): $(_uniq_list "$cpu_impl_list")"
|
||||||
fi
|
fi
|
||||||
if [ -n "${cpu_part_list:-}" ]; then
|
if [ -n "${cpu_part_list:-}" ]; then
|
||||||
pr_info " * Part(s): $cpu_part_list"
|
pr_info " * Part(s): $(_uniq_list "$cpu_part_list")"
|
||||||
fi
|
fi
|
||||||
if [ -n "${cpu_arch_list:-}" ]; then
|
if [ -n "${cpu_arch_list:-}" ]; then
|
||||||
pr_info " * Architecture(s): $cpu_arch_list"
|
pr_info " * Architecture(s): $(_uniq_list "$cpu_arch_list")"
|
||||||
fi
|
fi
|
||||||
if has_runtime; then
|
if has_runtime; then
|
||||||
pr_info_nol " * Running as VM guest: "
|
pr_info_nol " * Running as VM guest: "
|
||||||
|
|||||||
Reference in New Issue
Block a user