diff --git a/SOURCES/microcode.service b/SOURCES/microcode.service index 6a77865..7cf5bee 100644 --- a/SOURCES/microcode.service +++ b/SOURCES/microcode.service @@ -7,7 +7,7 @@ ConditionPathExists=/sys/devices/system/cpu/microcode/reload [Service] Type=oneshot RemainAfterExit=no -ExecStart=/usr/bin/bash -c "echo 1 > /sys/devices/system/cpu/microcode/reload" +ExecStart=/usr/bin/bash -c "grep -l GenuineIntel /proc/cpuinfo | xargs grep -l "model.*79" > /dev/null || echo 1 > /sys/devices/system/cpu/microcode/reload" [Install] WantedBy=basic.target diff --git a/SPECS/microcode_ctl.spec b/SPECS/microcode_ctl.spec index 68e6359..9a561f6 100644 --- a/SPECS/microcode_ctl.spec +++ b/SPECS/microcode_ctl.spec @@ -3,7 +3,7 @@ Summary: Tool to transform and deploy CPU microcode update for x86. Name: microcode_ctl Version: 2.1 -Release: 16%{?dist} +Release: 16.1%{?dist} Epoch: 2 Group: System Environment/Base License: GPLv2+ and Redistributable, no modification permitted @@ -17,6 +17,7 @@ BuildRequires: systemd-units Requires(post): systemd Requires(preun): systemd Requires(postun): systemd +Requires(posttrans): kernel %description The microcode_ctl utility is a companion to the microcode driver written @@ -45,8 +46,11 @@ install -m 644 %{SOURCE2} %{buildroot}/usr/lib/dracut/dracut.conf.d %systemd_post microcode.service # "reload" file is not presented on a certain virtualized hw if [ -f /sys/devices/system/cpu/microcode/reload ] ; then + grep -l GenuineIntel /proc/cpuinfo | xargs grep -l "model.*79" > /dev/null || \ echo 1 > /sys/devices/system/cpu/microcode/reload fi + +%posttrans dracut -f --regenerate-all %preun @@ -67,6 +71,11 @@ rm -rf %{buildroot} %changelog +* Mon Dec 19 2016 Petr Oros - 2.1-16.1 +- Fix issue with hot microcode cpu reload. +- Move dracut call into posttrans phase. +- Resolves: #1402512 + * Thu Jul 21 2016 Petr Oros - 2.1-16 - Update to upstream 2.1-10. Intel CPU microcode update to 20160714. - Resolves: #1358047