Sophie

Sophie

distrib > Mageia > 6 > i586 > media > nonfree-updates-src > by-pkgid > 4de1ee9fd9129e16de92a96897b7255e > files > 5

microcode-0.20190918-1.mga6.nonfree.src.rpm

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

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
rm -f %{buildroot}/lib/firmware/releasenote
rm -f %{buildroot}/lib/firmware/license

# 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
    /usr/bin/dracut -f
fi

%clean

%files
%defattr(-,root,root,-)
/lib/firmware/amd/
/lib/firmware/amd-ucode/
/lib/firmware/intel-ucode/


%changelog
* Thu Sep 19 2019 tmb <tmb> 0.20190918-1.mga6
+ Revision: 1443885
- update Intel microcode to 20190918
- update Intel microcode to 20190618
- update Amd SEV Firmware to 0.17b22 (CVE-2019-9836)
- 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
- recreate initrd of running kernel to get the new microcode available for early loading
- 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
- update Intel microcode to 20180807
- update Intel microcode to 2018-07-03
- update Amd Fam15h microcode to 2018-05-24
- update Intel microcode to 20180425
- update Amd fam15 and fam17 microcode to 2018-05-15
- update to Intel microcode release 20180312
- update intel microcode to 20180108
- add Amd microcode for fam17h (Zen)
- update Intel microcode to 20171215

* 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