Sophie

Sophie

distrib > Mageia > 7 > i586 > media > nonfree-updates-src > by-pkgid > 50e375e2d3ffec731ca71f19f31abd44 > files > 5

microcode-0.20201118-1.mga7.nonfree.src.rpm

# define intel date once for reuse
%define    debian_date 20180312
%define    intel_date 20201118

Summary:   Intel / AMD CPU Microcode
Name:      microcode
Version:   0.%{intel_date}
Release:   %mkrel 1
Group:     System/Kernel and hardware
License:   Distributable
# use the debian way to get microcodes for older CPUs as Intel removes old firmwares from recent releases
Source0:   http://http.debian.net/debian/pool/non-free/i/intel-microcode/intel-microcode_3.%{debian_date}.1.tar.xz
# from https://downloadcenter.intel.com/download/27431/Linux-Processor-Microcode-Data-File
# that points to: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/
Source1:   https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-%{intel_date}.tar.gz
# AMD now pushes their microcode to upstream linux-firmware git
# so this is a tarball of: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/amd-ucode
Source2:   amd-ucode-latest.tar.xz
# AMD SEV Firmware
Source3:   https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/amd/amd_sev_fam17h_model0xh.sbin

Buildarch: noarch
BuildRequires: iucode-tool
BuildRequires: microcode_ctl
# (tmb) conflict lock elision enabled glibc as it will crash
Conflicts: glibc < 6:2.20-11

%description
Since PentiumPro, Intel CPU are made of a RISC chip and of a microcode whose
purpose is to decompose "old" ia32 instruction into new risc ones.
P6 familly is concerned: PPro, PII, Celeron, PIII, Celeron2.
Recent kernels have the ability to update this microcode.

The microcode update is volatile and needs to be uploaded on each system
boot. I.e. it doesn't reflash your cpu permanently.
Reboot and it reverts back to the old microcode.

This package contains microcode for Intel and Amd CPUs.

%prep
%setup -q -T -c

%build

# build the microcode file from several old ones
tar xvf %{SOURCE0}
pushd intel-microcode-3.%{debian_date}.1
  make
  mkdir intel-ucode
  /sbin/iucode_tool -Kintel-ucode intel-microcode.bin
popd

%install
rm -rf %{buildroot}

mkdir -p %{buildroot}/lib/firmware/intel-ucode
pushd intel-microcode-3.%{debian_date}.1
install -m 644 intel-ucode/* %{buildroot}/lib/firmware/intel-ucode

# Intel microcodes not in  debian
tar xf %{SOURCE1} -C %{buildroot}/lib/firmware --strip-components=1
# move the "caveat" firmware in place as we have all needed microcode
# patches and are using early firmware loading
mv %{buildroot}/lib/firmware/intel-ucode-with-caveats/06-4f-01 %{buildroot}/lib/firmware/intel-ucode/
# remove unwanted stuff
rm -rf %{buildroot}/lib/firmware/intel-ucode-with-caveats/
rm -rf %{buildroot}/lib/firmware/linux-kernel-patches/
rm -f %{buildroot}/lib/firmware/microcode.dat
# move doc and license files
mkdir -p %{buildroot}/usr/share/doc/%{name}
mv %{buildroot}/lib/firmware/README.md %{buildroot}/usr/share/doc/%{name}/
mv %{buildroot}/lib/firmware/releasenote.md %{buildroot}/usr/share/doc/%{name}/
mv %{buildroot}/lib/firmware/security.md %{buildroot}/usr/share/doc/%{name}/
mkdir -p %{buildroot}/usr/share/licenses/%{name}
mv %{buildroot}/lib/firmware/license %{buildroot}/usr/share/licenses/%{name}/

# Amd microcodes
tar xf %{SOURCE2} -C %{buildroot}/lib/firmware
# Amd SEV Firmware
mkdir -p %{buildroot}/lib/firmware/amd
install -m 644 %{SOURCE3} %{buildroot}/lib/firmware/amd
# add compat symlink for older kernels
pushd %{buildroot}/lib/firmware/amd
ln -s amd_sev_fam17h_model0xh.sbin sev.fw
popd

%post
if [ -z "$DURING_INSTALL" ] ; then
  kernel=$(uname -r)
  if [ -d /usr/lib/modules/$kernel ] ; then
    # rebuild initrd for currently running kernel
    /usr/bin/dracut -f
  else
    # rebuild initrd for most recently installed kernel
    kernel=$(ls -1t /usr/lib/modules | head -1)
    /usr/bin/dracut -f /boot/initrd-$kernel.img $kernel
  fi
fi

%clean

%files
%defattr(-,root,root,-)
%doc README.md
%doc releasenote.md
%doc security.md
%license license
/lib/firmware/amd/
/lib/firmware/amd-ucode/
/lib/firmware/intel-ucode/


%changelog
* Thu Nov 19 2020 ns80 <ns80> 0.20201118-1.mga7
+ Revision: 1647551
- fix Intel Microcode regression (mga#27633)
- update to Intel 20201110 release for CVE-2020-869[568] (mga#27597)
- update to Intel 20200616 release for CVE-2020-0543, CVE-2020-0548, CVE-2020-0549 (mga#26783)
- update to Intel 20200609 release for CVE-2020-0543, CVE-2020-0548, CVE-2020-0549 (mga#26783)
+ tmb <tmb>
- remove broken microcode for TGL-UP3 (mga#27597)
- update Intel microcode to 20201112 release
- update to Intel 20200520 release
- update ICL-U/Y microcode from 00000046 to 00000078
- update AMD family 17h cpu microcode to 2019-12-18
- update Intel Microcode to 20191115
- Update Intel Microcode to 20191112 (CVE-2019-11135)
- Update AMD cpu microcode for processor family 17h
- update Intel microcode to 20190918
- update Intel microcode to 20190618
- update Amd SEV Firmware to 0.17b22 (CVE-2019-9836)

* Tue May 14 2019 tmb <tmb> 0.20190514-1.mga7.nonfree
+ Revision: 1397750
- Intel Microcode updates:
- new platforms
  * VLV          C0       6-37-8/02           00000838 Atom Z series
  * VLV          C0       6-37-8/0C           00000838 Celeron N2xxx, Pentium N35xx
  * VLV          D0       6-37-9/0F           0000090c Atom E38xx
  * CHV          C0       6-4c-3/01           00000368 Atom X series
  * CHV          D0       6-4c-4/01           00000411 Atom X series
  * CLX-SP       B1       6-55-7/bf           05000021 Xeon Scalable Gen2
- updated platforms
  * SNB          D2/G1/Q0 6-2a-7/12 0000002e->0000002f Core Gen2
  * IVB          E1/L1    6-3a-9/12 00000020->00000021 Core Gen3
  * HSW          C0       6-3c-3/32 00000025->00000027 Core Gen4
  * BDW-U/Y      E0/F0    6-3d-4/c0 0000002b->0000002d Core Gen5
  * IVB-E/EP     C1/M1/S1 6-3e-4/ed 0000042e->0000042f Core Gen3 X Series; Xeon E5 v2
  * IVB-EX       D1       6-3e-7/ed 00000714->00000715 Xeon E7 v2
  * HSX-E/EP     Cx/M1    6-3f-2/6f 00000041->00000043 Core Gen4 X series; Xeon E5 v3
  * HSX-EX       E0       6-3f-4/80 00000013->00000014 Xeon E7 v3
  * HSW-U        C0/D0    6-45-1/72 00000024->00000025 Core Gen4
  * HSW-H        C0       6-46-1/32 0000001a->0000001b Core Gen4
  * BDW-H/E3     E0/G0    6-47-1/22 0000001e->00000020 Core Gen5
  * SKL-U/Y      D0/K1    6-4e-3/c0 000000c6->000000cc Core Gen6
  * BDX-ML       B0/M0/R0 6-4f-1/ef 0b00002e->00000036 Xeon E5/E7 v4; Core i7-69xx/68xx
  * SKX-SP       H0/M0/U0 6-55-4/b7 0200005a->0000005e Xeon Scalable
  * SKX-D        M1       6-55-4/b7 0200005a->0000005e Xeon D-21xx
  * BDX-DE       V1       6-56-2/10 00000019->0000001a Xeon D-1520/40
  * BDX-DE       V2/3     6-56-3/10 07000016->07000017 Xeon D-1518/19/21/27/28/31/33/37/41/48, Pentium D1507/08/09/17/19
  * BDX-DE       Y0       6-56-4/10 0f000014->0f000015 Xeon D-1557/59/67/71/77/81/87
  * BDX-NS       A0       6-56-5/10 0e00000c->0e00000d Xeon D-1513N/23/33/43/53
  * APL          D0       6-5c-9/03 00000036->00000038 Pentium N/J4xxx, Celeron N/J3xxx, Atom x5/7-E39xx
  * SKL-H/S      R0/N0    6-5e-3/36 000000c6->000000cc Core Gen6; Xeon E3 v5
  * DNV          B0       6-5f-1/01 00000024->0000002e Atom C Series
  * GLK          B0       6-7a-1/01 0000002c->0000002e Pentium Silver N/J5xxx, Celeron N/J4xxx
  * AML-Y22      H0       6-8e-9/10 0000009e->000000b4 Core Gen8 Mobile
  * KBL-U/Y      H0       6-8e-9/c0 0000009a->000000b4 Core Gen7 Mobile
  * CFL-U43e     D0       6-8e-a/c0 0000009e->000000b4 Core Gen8 Mobile
  * WHL-U        W0       6-8e-b/d0 000000a4->000000b8 Core Gen8 Mobile
  * WHL-U        V0       6-8e-d/94 000000b2->000000b8 Core Gen8 Mobile
  * KBL-G/H/S/E3 B0       6-9e-9/2a 0000009a->000000b4 Core Gen7; Xeon E3 v6
  * CFL-H/S/E3   U0       6-9e-a/22 000000aa->000000b4 Core Gen8 Desktop, Mobile, Xeon E
  * CFL-S        B0       6-9e-b/02 000000aa->000000b4 Core Gen8
  * CFL-H/S      P0       6-9e-c/22 000000a2->000000ae Core Gen9
  * CFL-H R0 6-9e-d/22 000000b0->000000b8 Core Gen9 Mobile

* Sun May 12 2019 tmb <tmb> 0.20190312-2.mga7.nonfree
+ Revision: 1397446
- recreate initrd of running kernel to get the new microcode available for early loading

* Sun May 12 2019 tmb <tmb> 0.20190312-1.mga7.nonfree
+ Revision: 1397438
- Intel Microcode update 20190312 release
- new platforms
  * AML-Y22      H0       6-8e-9/10           0000009e Core Gen8 Mobile
  * WHL-U        W0       6-8e-b/d0           000000a4 Core Gen8 Mobile
  * WHL-U        V0       6-8e-d/94           000000b2 Core Gen8 Mobile
  * CFL-S        P0       6-9e-c/22           000000a2 Core Gen9 Desktop
  * CFL-H        R0       6-9e-d/22           000000b0 Core Gen9 Mobile
- updated platforms
  * HSX-E/EP     Cx/M1    6-3f-2/6f 0000003d->00000041 Core Gen4 X series; Xeon E5 v3
  * HSX-EX       E0       6-3f-4/80 00000012->00000013 Xeon E7 v3
  * SKX-SP       H0/M0/U0 6-55-4/b7 0200004d->0000005a Xeon Scalable
  * SKX-D        M1       6-55-4/b7 0200004d->0000005a Xeon D-21xx
  * BDX-DE       V1       6-56-2/10 00000017->00000019 Xeon D-1520/40
  * BDX-DE       V2/3     6-56-3/10 07000013->07000016 Xeon D-1518/19/21/27/28/31/33/37/41/48, Pentium D1507/08/09/17/19
  * BDX-DE       Y0       6-56-4/10 0f000012->0f000014 Xeon D-1557/59/67/71/77/81/87
  * BDX-NS       A0       6-56-5/10 0e00000a->0e00000c Xeon D-1513N/23/33/43/53
  * APL          D0       6-5c-9/03 00000032->00000036 Pentium N/J4xxx, Celeron N/J3xxx, Atom x5/7-E39xx
  * APL          E0       6-5c-a/03 0000000c->00000010 Atom x5/7-E39xx
  * GLK          B0       6-7a-1/01 00000028->0000002c Pentium Silver N/J5xxx, Celeron N/J4xxx
  * KBL-U/Y      H0       6-8e-9/c0 0000008e->0000009a Core Gen7 Mobile
  * CFL-U43e     D0       6-8e-a/c0 00000096->0000009e Core Gen8 Mobile
  * KBL-H/S/E3   B0       6-9e-9/2a 0000008e->0000009a Core Gen7; Xeon E3 v6
  * CFL-H/S/E3   U0       6-9e-a/22 00000096->000000aa Core Gen8 Desktop, Mobile, Xeon E
  * CFL-S        B0       6-9e-b/02 0000008e->000000aa Core Gen8

* Tue Feb 26 2019 tmb <tmb> 0.20180807-4.mga7.nonfree
+ Revision: 1370272
- add Amd SEV microcode

* Sat Dec 15 2018 tmb <tmb> 0.20180807-3.mga7.nonfree
+ Revision: 1341528
- Update AMD cpu microcode for processor family 17h

* Thu Sep 20 2018 umeabot <umeabot> 0.20180807-2.mga7.nonfree
+ Revision: 1279517
- Mageia 7 Mass Rebuild

* Fri Aug 17 2018 tmb <tmb> 0.20180807-1.mga7.nonfree
+ Revision: 1252106
- update Intel microcode to 20180807

* Sun Jul 08 2018 tmb <tmb> 0.20180703-2.mga7.nonfree
+ Revision: 1242672
- update Amd Fam15h microcode to 2018-05-24

* Sun Jul 08 2018 tmb <tmb> 0.20180703-1.mga7.nonfree
+ Revision: 1242655
- update Intel microcode to 20180703

* Sat May 19 2018 tmb <tmb> 0.20180425-1.mga7.nonfree
+ Revision: 1230498
- update Intel microcode to 20180425
- update Amd fam15 and fam17 microcode to 2018-05-15
+ zezinho <zezinho>
- update debian microcodes

* Tue Mar 13 2018 tmb <tmb> 0.20180312-1.mga7.nonfree
+ Revision: 1209113
- update to Intel microcode release 20180312

* Wed Jan 10 2018 tmb <tmb> 0.20180108-1.mga7.nonfree
+ Revision: 1192071
- update intel microcode to 20180108

* Sun Jan 07 2018 tmb <tmb> 0.20171215-2.mga7.nonfree
+ Revision: 1191220
- add Amd microcode for fam17h (Zen)

* Fri Jan 05 2018 tmb <tmb> 0.20171215-1.mga7.nonfree
+ Revision: 1190554
- update to 20171215

* Fri Jan 05 2018 tmb <tmb> 0.20171117-1.mga7.nonfree
+ Revision: 1190267
- update Intel microcode to 20171117

* Sun Jul 16 2017 tmb <tmb> 0.20170707-2.mga7.nonfree
+ Revision: 1123583
- bump rel past mga6 updates_testing

* Wed Jul 12 2017 tmb <tmb> 0.20170707-1.mga6.nonfree
+ Revision: 1109672
- update to 2017-07-07 (SKL, KBL critical HT errata fixes)

* Sun Jun 25 2017 tmb <tmb> 0.20170511-1.mga6.nonfree
+ Revision: 1108463
- update Intel microcode to 2017-05-11

* Sun Feb 05 2017 zezinho <zezinho> 0.20161104-2.mga6.nonfree
+ Revision: 1084863
- use debian way to keep microcodes for old cpus that were removed by intel in recent dat files

* Wed Feb 01 2017 zezinho <zezinho> 0.20161104-1.mga6.nonfree
+ Revision: 1084457
- new intel microcode from 4 Nov 2016

* Fri May 13 2016 tv <tv> 0.20160513-1.mga6.nonfree
+ Revision: 1014907
- update Intel microcode (& adjust spec file to current update-intel-microcode)
- AMD microcode wasn't updated as the one downloaded by the script looks older
  than the one tmb uploaded last time (???)

* Sat Apr 09 2016 tmb <tmb> 0.20160409-1.mga6.nonfree
+ Revision: 999898
- update AMD Family 15h Processors microcode to fix bugs in prior microcode

* Thu Mar 03 2016 tmb <tmb> 0.20160303-1.mga6.nonfree
+ Revision: 984578
- update to 2016-03-03 snapshot

* Wed Oct 15 2014 tmb <tmb> 0.20140913-4.mga5.nonfree
+ Revision: 751292
- enable haswell microcode again as glibc lock elision is now disabled
+ umeabot <umeabot>
- Second Mageia 5 Mass Rebuild

* Fri Oct 10 2014 tmb <tmb> 0.20140913-2.mga5.nonfree
+ Revision: 737966
- nuke intel haswell firmwares that break glibc-2.20 lock elision

* Fri Oct 10 2014 tv <tv> 0.20140913-1.mga5.nonfree
+ Revision: 737841
- fix install
- update to latest AMD microcode
- update to latest Intel microcode

* Tue Sep 16 2014 umeabot <umeabot> 0.20131009-4.mga5.nonfree
+ Revision: 682384
- Mageia 5 Mass Rebuild

* Fri Dec 20 2013 tv <tv> 0.20131009-3.mga4.nonfree
+ Revision: 559054
- split intel ucode for microcode module (mga#11934)

* Thu Oct 31 2013 tmb <tmb> 0.20131009-2.mga4.nonfree
+ Revision: 548433
- Mageia 4 rebuild

* Wed Oct 09 2013 tv <tv> 0.20131009-1.mga4.nonfree
+ Revision: 493888
- new release

* Sat Jan 12 2013 umeabot <umeabot> 0.20121025-3.mga3.nonfree
+ Revision: 360023
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Thu Oct 25 2012 tv <tv> 0.20121025-2.mga3.nonfree
+ Revision: 310084
- force latest microcode (mgarepo sync sucks)
- fix path

* Thu Oct 25 2012 tv <tv> 0.20121025-1.mga3.nonfree
+ Revision: 310078
- latest microcode
- amd update command needs fakeroot
- fix command name

* Wed May 30 2012 zezinho <zezinho> 0.20120313-2.mga3.nonfree
+ Revision: 251615
- fix amducode path

* Tue Mar 13 2012 tv <tv> 0.20120313-1.mga2.nonfree
+ Revision: 223288
- update microcode

* Sat Jan 15 2011 tmb <tmb> 0.20110115-1.mga1
+ Revision: 19854
- imported package microcode


* Sat Jan 15 2011 Thomas Backlund <tmb@mageia.org> 0.20110115-1.mga1
- initial Mageia import
- update intel microcode to 2010-09-29
- update amd microcode to 2011-01-11
- install intel microcode under /lib/firmware too
- build as noarch

* Thu Feb 04 2010 Frederic Crozat <fcrozat@mandriva.com> 0.20100204-1mdv2010.1
+ Revision: 500860
- import microcode