Compare commits

..

3 Commits

7 changed files with 1517 additions and 66 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/linux-firmware-20240111.tar.xz SOURCES/linux-firmware-20230404.tar.xz

1
.linux-firmware.metadata Normal file
View File

@ -0,0 +1 @@
f584e174d59343652ceab6a8a4a2d929a8355efa SOURCES/linux-firmware-20230404.tar.xz

View File

@ -0,0 +1,167 @@
From 69143e8eca62a80b9791b8d358d1cc4c90e373c9 Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Fri, 14 Apr 2023 16:13:58 +0000
Subject: [PATCH] linux-firmware: Update AMD cpu microcode
* Update AMD cpu microcode for processor family 17h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 2 +-
amd-ucode/microcode_amd_fam17h.bin | Bin 9700 -> 9700 bytes
amd-ucode/microcode_amd_fam17h.bin.asc | 16 ++++++++--------
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/WHENCE b/WHENCE
index e7073606..68814918 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3917,7 +3917,7 @@ Version: 2018-05-24
File: amd-ucode/microcode_amd_fam16h.bin
Version: 2014-10-28
File: amd-ucode/microcode_amd_fam17h.bin
-Version: 2022-04-08
+Version: 2023-04-13
File: amd-ucode/microcode_amd_fam19h.bin
Version: 2023-01-31
File: amd-ucode/README
diff --git a/amd-ucode/README b/amd-ucode/README
index 0adfde27..0d97f910 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -33,7 +33,7 @@ Microcode patches in microcode_amd_fam16h.bin:
Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x08 Stepping=0x02: Patch=0x0800820d Length=3200 bytes
Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes
- Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301055 Length=3200 bytes
+ Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001078 Length=5568 bytes
diff --git a/amd-ucode/microcode_amd_fam17h.bin b/amd-ucode/microcode_amd_fam17h.bin
index dec3871929a36792a261578aa834e807b5bea77d..37d899cd534789e461a5cf3ad666fcd587b8ab93 100644
GIT binary patch
delta 2695
zcmV;23V8M8OXN$iXc+-=lW7?ne{D+xy)lv{@<h^#XFBIY;(FdFep!Qq8pNh>pCPp=
zf4DmrA@aOyqYx_<*&XHj9i=fiCQH3hH1g-vF{n$ya{i=ZNhauJB<&5Co{hc@qoFsZ
za7wkpBz!K^Qg%j&j&sh2=sS^ERMtE9(F-{utSF>}|76&$2qe#Jul9Jaf9d(oB%wy!
z2kWp59h&EmT`Aiq5$5gDwBGVq;IV=7lPk(J8TA=AD|!M>O6G5kvRV@dALWC2f>i`P
z71Qqr@GL9f0afM;Pk|nBJ8eIYrhUQqTwtCZjGT<&Q@@Yolq8<0i9k@NA>0$W6LSaY
zq;l?9<59CdPZco+?jGDg0{yt7{0#zs0RaF2au6^GR9|z-aL~$t&c$H>Xuq4Cqg^e(
z1+put-0zKoZLTCYk3D<y6%7yfOOz|N&|EoVNzY`e-Vp(-s9fiOU0F7m*`xUZ6QbZ+
zUh<FoS?8)vRDVXgFqzrYl9r3ApBWLG=>q1jmtx*dY&x?;{GP@)?C2~*)eaGV5ng`t
zT{Q1T`f)R^T2*(aBUMVfy%Elz6TR{?^4HgzgVnYKtGtXX1#C%HT8|s|EG@5?jVAC|
z2@fAo6cEMG5G|!iyWfOf9=Hz|EIdXFF3#Egqx`swNbOdqdXuFzK;4%`UIiAjuc5T~
zZG&2Uw=FNhm0oh=w4~eT9GbX)%;Y(*(C{11nS#r(f`eyk6e_xk>R?O6gi&_gnxcYM
zXbMCEW!YKoShbP-`_}rHo5~y=hv=wzS_CeOZy!7~{BMq=Yxb!;InB-04_#B>S72%?
zk7hAwDam+9zuRky;_3uMb~8)qx{`-^2n;cuL;wAk9=A2~AfdrqaO5O^{cS2&R2p}U
zT1$;=OI$s*h=I*y3PeGIbU-$A*rv-c8$y0s7v1eWDhZQhZt|GJrcGXHh*)!~>(JBg
z!bd~AoD$Dlj~SY1eUu?krG~qx^D{Z+p5FOpirA1%M*^2>`v$!xPoNo7eQd>|1$~TF
znc6J=8NK&Kql@nkT0c*JWluL8aU0CrKyJ=Z?QeVjm^e4{_J~^s(^gfAg^>rk(_PUD
z;#~?8lE#GK3v1drSMod)NW@S<lH2%A@)JsK`I-kgw8F&i<7wTprl#7TZq9m-=Rs@U
zLTkPi)aUbFcwi=gYS)J1=7f7qp><x^{7UMhnSm>TOQ_k$br-sSgWMuez8}9s7d5%8
zMlZUcO-a;uy!tM6-{H_OT}j@4T~t{veZlL+355H-hx2C-enc*;Rqzs0th>xZo8{;q
zO#8qPkoSXT`+h)G7(8u`8P9`Lon=d%Z-hI()EwOb#j~5iAo=>5{!EI03bDfjR-nz9
z9OY2vh8p2-N4OP#hy)(^GTywd`%7%PL%p~qJip36glB!1>q+ZVmLp6E5RE3}ld}Y%
zdZ_y9g`JF~J(wOL1n$FOl+SX#!__ws{!qyuj_!i^f)-m{XoD<J=+ntp{IB&9cg^v%
zu_&IbRdLa_a_gE~B_(I$lo!s5$=sgY69Cq)E>401FO9H&g0*Dul9PeJMrigz;KL>+
zwp6MmRrj`0UA`)P`{Z*bgW#ck7T0MrRh843A_nLA8g9L2POP;PpsDt5@<_vFfL%%(
zAJf?{==lsU<An5|0~nevr;V*{<~lmx9q8(Xs_VD!A6Xp(S#cAKBa#|ll1oM_dBvB~
zwGAhgv%r*piGIdzY_5>MI_hpR->EuWi)dmHsn;8FER98<pqN)?LI1zqVc+^w$h)8g
zpgH+%fkjGy6s?i*IE3|Xbr=<+?V#5hUL2Mz)ySgV<7HcM+M#kE%Nb6!qFKf9c5hoY
zV01!hD7P``deB%c2Wi)wHVAE7W7QDfVmPOh{h}^^<uglAB2xSqZC>z5_6q-OP#fyh
z6b}WsSg-^*mZR^SVU>gMA*}c!49nc{bw4WOvDF)HQc1o^!?EC9u|fjF`l8iB8RTe}
z1WI}t2oa0{9l`TqJqWIHi8!^%g36Ung|3$OpL}XY;mXs&?fUH$4a`Piw&|BQ9_14W
zSEXlvd$V$02tj64k8(V_zrMN&Emm3GTZ<E6qheb3>NE^`Sc!b)yw}4X(bsTW%~N|N
zP1N$Hh*F2#B!fJpbC?QJzKjmz=ZSYT#6+uZu>bX*aOWwzndlH;R9i1zipkY9%@~wj
z;UCa6#Yda>dDa(5KFWt5Lwx0nUX4VIxD{@H&5~fq5<ar5E+)}082v5$7@pbEE9Rys
zBH}y#i)A)>D|^uGU~E%L{eR6vMJ5Q^h$!>ROwD5(ktyUC$(JigC><GmD9r2x;6p}}
z_b4;)&$i-<NJ$FP{A5hGu$*MNM)&y=L}po<?F8FkH9m-MU8cD33JeTgwz_f__z&2B
z&YpRFNBF~yT;d9B>I@399B2Ks#`RR#tiH`LKpju%n1ocR!<qZ$_c%Gl8;YjpoMu~M
zG`LbtPz~O{fVT2Vb?1daSvv%O$+4@rlJdSRLdXzees7M|)dD1Wjn~d+m?Y^BC8FTb
z9nec+^3j~}honu}4^QTr%^xTttg`Zd73PK(6H@)%4S?+CGEv4%8F_O|)hNXP)WL@i
z<()aZpTFt`FTVBXo}A9&i@5=5XS+@fS>&2o?7l-iD1(y)X;o!c(vbEJXJB?;g4E0#
z2}tUDo+6v!r;g=F`HuJr-w-umfYR1$ZQG>EyO^?Smer$2aKL)p36ZnUjBuTQwK6}T
z;TVYdUuo)bXcwqys-<zl{^G@t!fDw@83OwXH(;<toM&0U;(<oQB6~FgG~y(RC78jN
zVROO($di}V=rPLEC3K3tF*o}fJ0JwsWAA4u9QtmY$tgqFS}n(Tsz;A-I2jj3?r3;c
zU#g)8x;fKtq|k4bwSRAfsY}m)$x8Q`le@35SbAk38=$pSb7e~3F8YkA=og~zTONh`
zuXo3;Q+Zi|iYFVnu)f!fPI;rMiD9g8Z=?uZT}Xy~Y_&B`4Yi``y%!R^FF^wFyBO3M
zv@e73jsV1N#{!}+X;SHIOc#KH)Ov84W(w~c{3aJ2&c9C(uBfX=sjMP@xU-PYy|h#F
z%!f;oLPSSPPZ&lqteRk7{3n?o@<qp`kNMV!|FUD^%2C-P_Gz{H#uY4ZozCDu;)T!1
zYD@Z7f*5{lXX4}~?LeAy_8ipGI4TF}k~Di8NBm)gncxPHZ)9I7BdyMe*iH|rdk8ua
zku=^>1AeDtk*t397Si~CUI(0Yq0h5OZHf=|9b(u3q8-*$c;7nA^$SQ{4a~Up(ydh*
z+AjzIy+W6*s6;#>M1v0MtSe@wwgfn;gvQTa@of;3!D>06t5u0tw*}d^8#7y#fPkzW
zxf$R4IXMLjIRFCtgnZ0^M))Pjbm=91LqP4$LLb>{Sj&olRv*1`+@(_F=u*|U<7$_$
z-A_aDU))V#f_#er$D?DBFF$JHy3JMWb-gS&B%Lv!FR!{U3la;+RD+7J$<n|cL@Maz
zjL7J_NsS}!ZbN>@$Hp#c=fn<%=_q7QG15f$sMk1EmVbg>APsKgXS9cI_J~Z)cEbE{
BMdttj
delta 2505
zcmZ8ie{dA_6@Rz4tb4Ghmt$|agbVjgIFdD{B*CC-2jrxg(S%U1O33k}O`M^&nbwJd
z4y(o9wK*Z+4Pz&frp`GY8fY58UbWMSh;5`gY86IladdFhRyxd388wcI@*{rU-Y%oP
zf8Krf`@ZkT=Y8ILCs&+YQTl16uWP8Ua&G3)#??=59{ys}?tOdPkCy&(eDmDCU!4B=
zk$JBV>{)ln{-p2fzt-MTTzv2D_m=Lw{~y-rx6jYovGe--p84m1^2&z|Yj577Ca-_>
z-LAEB{h!|2JAVAJKfJlVZqqY^>*U}3@%Gtsu6lXuz}e4tFVQzWaL<=b@l$=9eA}*i
zs{Qn9FaOLubn@V}dpBmLPV72tPgtqtCw}zUJ-<G8F4^#%LVADKb>=lUub6DhKWn|X
z;o$M^!h*gdD-UeG^62RJv$x;3as1fxEm~FbyRVP5*N9`r(a2uyr3$O+9sRjd^+&%e
zp6FgJUwGrymCGZ8w?235##hd5ZyV6B+&l90;ypdbHorSC@46?a2IhC4{rIk{rAPKX
zaXu(D`-rG3)T|!;$%>g5rv9d#-8deoYAFTdcXwzjpISOI+4qCM*?sMSzkE7hyZ_FE
z+R&f;bwiW>nVAdIH8SO!qP~j~>9Ld@B30-yVN+BTjmCcSROoS1No}QIon7l!DOvCp
z13tA?*EZNb*3GZA=ldnN?`<)(gheEjNGJt~Um@cNmLJ6>nJC#pkDAu>g3H%Ow6u+L
z=7)x6UQ*sNN207>-5-gWxD+BATWG<Fxj5fp)3$nfMrUf|tGGmOsiIL|(mzIOjUdq<
z`ut%b8#p7-W+T>vz>;t*Y7iW3CmktB{j(lRu-%$0`<%@|XOb;Oeo-?%HXHc{i=9Lo
z`^P+|4C|m@Z8Q)NoR-)LoVK!4TsaxCvsz$e06n%t+HJyn<LP`5594q4S3r1)L~8Du
zazZ&}&WGs<vJ|l@-)@g9h$y58UF)%jl1emlU~5?BdSrpsk+@2tAQk7ys6otE^ei{X
zVfykyxrQNA%0>_cU;u=up<c6}lBwvA{Tqo?7%l+w0VT_IMx>*yu};7Pm|{KFVMC&u
z2J0K;^{EkkSjd1kGnRHgc+MD(yGc!CgQhJ>Dn+!E{RRgXlZpeRjy{a<LPx6G>T}s*
z)5L=n<vY^U$q2HdVKFvieJZ;3iZCgpW_7$r011YSWRcSo{btA3`kdUB8aWlu)YAXr
zt`aWsF*?KVJwha46=ToQa@31RmG#(sy9zP_=@cHBbxT}m+Jo#lThSWpfW#ShzuyJB
zc&oBTQq2Jo4ydmhcN8XZ#`(jSaJDS4W@wpGIh0b=%+df#^FY0<gDhaYQ=;z$$|YiT
z*1sVj5p;5NKur8ASD$lr6I{;kL$|l!FEXM8D&-5^RfCt+$(^q$J7_l1WT9p`U$LEc
z=5PkWpD%P&;!8GPxG__y$aT5S7nB`4`4QxM5lMO|SMRg|luL$|wq_2CTm+2uL2|o1
zkM_b{8^eA0x1yErWG*KHs^&m<n-jBUI65fDZNithJZBUdY%UFTrlK4V2eic}Nj_$%
z1H~_E)}XVqH)Qi^YeUF|AevmD;>9vmZDX=<n!#D_9i|8qhoA#UOwVd?7Knq?-{;f;
zi72#kD2_)@s_2jD=>RctAelfJ=Z|C1RsJk~3&pu@g2MKL42$!f_TRxgLZLr!<;R#J
zV4&QEzMFKvz3<9u_pMVKmz^>g&Go}z80G$a8*s_V)X3@Z9f*2ZB!I7J@I0)pvmIHe
zWx6N8uIQ<r074U^dfv2d0=<*HwG&=Oo`f^GvD|lKB%xO^#+X>#v;3V|+E5`~B4AHM
zlDSokME@Au)J6YTS~t;};S#xBat2f9|8*|LzpdjW`HlEj#p-OfNB>Sta2~5-we}f+
z<>lh!p)Jf<il2#N+85paFQY|^3>B?ILZ<Ca7OFr7O0^7gd9~K=&;aAlsmKd1+9zEJ
zWSwfTofqA2|8*tX%LW%(N`=};u|QF&Xb%$)eP%GGof!dIe8zA=FXIf<&U4hfmA*OO
zFD->$XDRro*F`j#QAM+UXi>9@F%MY^K}I0G0)2)eM$0-S;p&*KPBZVFLX(ppFynWQ
z9e&SrWeku5mSuxAjiPMW<qX&{VBr*+&sT7TJ!cq@Zd_W1^HR!r!AaUqVsNs-JJ8kq
z{b?O}4%Qd3n@mp^dHb-BmU#A%Ct(4WH#<=amZXI@t#}{xaC-?0@gY>6F(nxr1PS5&
tnr}7Wx}9NJ!q9Y-G$^4L_{_k2&eFUA*hv|9&>oAGgm>N_!FdWOd=0i-fGhw2
diff --git a/amd-ucode/microcode_amd_fam17h.bin.asc b/amd-ucode/microcode_amd_fam17h.bin.asc
index f5b1e4d7..27da52c8 100644
--- a/amd-ucode/microcode_amd_fam17h.bin.asc
+++ b/amd-ucode/microcode_amd_fam17h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmJQi+QACgkQ5L5TOfMo
-rnOMKAf/T14Ixwan/IPPOEZHhsB5reCrEWLM89hey7z3vn/h8RWLAfJnAQwTuv1A
-B18gOWwUQMNARsoeDQZnnDvIQBB4w/DpzAaoWBoPnUR8Ko9jdl8ou7aUwdJzYC4T
-h6+LeSmHGhQ/h7AIJWABplXJg+weYfQiDr9u/ulFsZdCvfBx+8USNp75HddVTXWr
-+SunY5MrUZKmQvj147fCojByYVGzNCkWHJe3V6obd19kubTT357QwUX8A7/ZwgYO
-8DlxoVbYg9X224/7Cck6dECE9jKbmaVJkmdMg6ACVirjDH5U/HAACYNwwcO2olPn
-BOxF9sZMYY9cl14WCj2R7WS+gEjYWA==
-=pSDv
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmQeEvgACgkQ5L5TOfMo
+rnPOpAf/dYhPqq/ktg1muI/khV4EhDiguX6OXib3fmfSZdvPIAI0cRI77M3Lvf0b
+nlV8D67e5HOQ5foJbix5tunz0sZjqr2QU8U9dNk/ut0KC7UiCRc8VH40aSi/OQBG
+Y8c7tb6IJ+N+jyJ6Ii6koUuRO2Lk2MckcrWLRuLRV4bB+osyJrGjc/X54Z6UJ/Ma
+VDg13Yxy5WvC7sMmlmnY42JLeLBKDVUvg0zDvJ4aOLLxRE2l3eiAKE+TV122LmxN
+ca5WA/ESYQ9BjxHYIrpTd9nQaWa/TIZ+rOmJGLMtnQ1gGlW97zQuJR7zh+8vdLzC
+iwVlS1cu7kcV7KYDytTkWJ+2gwb3uQ==
+=lP2S
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -0,0 +1,588 @@
From b250b32ab1d044953af2dc5e790819a7703b7ee6 Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Tue, 18 Jul 2023 23:19:59 +0000
Subject: [PATCH] linux-firmware: Update AMD cpu microcode
* Update AMD cpu microcode for processor family 19h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 6 +++---
amd-ucode/microcode_amd_fam19h.bin | Bin 16804 -> 16804 bytes
amd-ucode/microcode_amd_fam19h.bin.asc | 16 ++++++++--------
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/WHENCE b/WHENCE
index de23a75e..b92e5299 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3912,6 +3912,6 @@ Raw: amd-ucode/microcode_amd_fam17h.bin
Version: 2023-04-13
File: amd-ucode/microcode_amd_fam19h.bin
-Version: 2023-01-31
+Version: 2023-07-18
File: amd-ucode/README
License: Redistributable. See LICENSE.amd-ucode for details
diff --git a/amd-ucode/README b/amd-ucode/README
index 0d97f910..4308fe2d 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -36,6 +36,6 @@ Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
- Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001078 Length=5568 bytes
- Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011ce Length=5568 bytes
- Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001231 Length=5568 bytes
+ Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes
+ Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001079 Length=5568 bytes
+ Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001234 Length=5568 bytes
diff --git a/amd-ucode/microcode_amd_fam19h.bin b/amd-ucode/microcode_amd_fam19h.bin
index 4bd623e14006b3a2eeb287e52708d3bea1c3a728..50470c3f461a068e832a1ebe33683a041d4515fe 100644
GIT binary patch
literal 16804
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
M|2*#hA0GFA0Rm`VAOHXW
delta 15290
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
ME5Vz0z(fSb57uLE4*&oF
diff --git a/amd-ucode/microcode_amd_fam19h.bin.asc b/amd-ucode/microcode_amd_fam19h.bin.asc
index 7c5193cf..a32b4d61 100644
--- a/amd-ucode/microcode_amd_fam19h.bin.asc
+++ b/amd-ucode/microcode_amd_fam19h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmPS0gkACgkQ5L5TOfMo
-rnMWewf/SNlPcRuJ/RPEKThbPJyToBi98e7QLqlGkuIQ7sZBjZ/zZIycQDkQgjVV
-MpO8E2yxn0Pp/2T6IzGBLPWpMVgvCabIn2gRe3qvRbJ5dYnxU3I5hfCITGHG0z2K
-OgH3Z51aKZGX0fCRHKdrtVf9RMdcYcVHD9NU48q8x8gArdRg+IZSCPzqD3dNw7nT
-TS2WHNiMzyqXkkqqkroofljUSZcuMIqDDEsfIB9LDQjFCMYEththlC0m0wz1QIRv
-HJCJZ8p/E8xMPLEp0JvhA1zxBePlyKmKtHLxhslyvEePJif5fHECEx95Q2xYRS+F
-rMXPlWVgxXzeM1NUxEBDM8vI6gaXtQ==
-=+Rqf
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS3F00ACgkQ5L5TOfMo
+rnNEhQgAizSV8IFpvaYNytaJKLA4uevrZneGPV4czjCXnnj1yHpfQmCTyZQnoLnx
+7gyzf7K5271zO51FBQ5z2Nm48a3XPUhMbQLNP4BZdekLiA3bRpMtSyHct6zD0ULm
+xaFaOQ7MR1tGADhlon1bDvtnOuixUhwrZhEIlR9MzQAzERKDMOAVTbxn9ZhMfYiT
+LhA791Blyyi+6Z9uh7BpaA8l8uvoxt+uuvlBTjQMR3ER/TEjgcsoy+XhhK4QKS0V
+wJCtcDle/3pF+N6SAFWiXbNZ+P8p19afhcYddDl97xtpzA6/8b20a2eHkrqnu/Ds
+jTozF9kmhiifYMYpXtXgSOwI3GRZbQ==
+=t+j1
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -0,0 +1,241 @@
From 0bc3126c9cfa0b8c761483215c25382f831a7c6f Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Wed, 19 Jul 2023 19:17:57 +0000
Subject: [PATCH] linux-firmware: Update AMD fam17h cpu microcode
* Update AMD cpu microcode for processor family 17h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 3 ++-
amd-ucode/microcode_amd_fam17h.bin | Bin 9700 -> 12924 bytes
amd-ucode/microcode_amd_fam17h.bin.asc | 16 ++++++++--------
4 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/WHENCE b/WHENCE
index b92e5299..dcb86fab 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3909,5 +3909,5 @@ Raw: amd-ucode/microcode_amd_fam16h.bin
Version: 2014-10-28
File: amd-ucode/microcode_amd_fam17h.bin
-Version: 2023-04-13
+Version: 2023-07-19
File: amd-ucode/microcode_amd_fam19h.bin
Version: 2023-07-18
diff --git a/amd-ucode/README b/amd-ucode/README
index 4308fe2d..1d39da3b 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -32,8 +32,9 @@ Microcode patches in microcode_amd_fam16h.bin:
Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x08 Stepping=0x02: Patch=0x0800820d Length=3200 bytes
+ Family=0x17 Model=0x31 Stepping=0x00: Patch=0x0830107a Length=3200 bytes
+ Family=0x17 Model=0xa0 Stepping=0x00: Patch=0x08a00008 Length=3200 bytes
Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes
- Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes
diff --git a/amd-ucode/microcode_amd_fam17h.bin b/amd-ucode/microcode_amd_fam17h.bin
index 37d899cd534789e461a5cf3ad666fcd587b8ab93..f9841b65b8d6ea156a402f45bba17f0e31eaf4ea 100644
GIT binary patch
delta 5515
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
F{{gHxepLVf
delta 2769
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
XI8~N^f?XgDZsTXPhi>+WOwD$}@;OgK
diff --git a/amd-ucode/microcode_amd_fam17h.bin.asc b/amd-ucode/microcode_amd_fam17h.bin.asc
index 27da52c8..34a40245 100644
--- a/amd-ucode/microcode_amd_fam17h.bin.asc
+++ b/amd-ucode/microcode_amd_fam17h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmQeEvgACgkQ5L5TOfMo
-rnPOpAf/dYhPqq/ktg1muI/khV4EhDiguX6OXib3fmfSZdvPIAI0cRI77M3Lvf0b
-nlV8D67e5HOQ5foJbix5tunz0sZjqr2QU8U9dNk/ut0KC7UiCRc8VH40aSi/OQBG
-Y8c7tb6IJ+N+jyJ6Ii6koUuRO2Lk2MckcrWLRuLRV4bB+osyJrGjc/X54Z6UJ/Ma
-VDg13Yxy5WvC7sMmlmnY42JLeLBKDVUvg0zDvJ4aOLLxRE2l3eiAKE+TV122LmxN
-ca5WA/ESYQ9BjxHYIrpTd9nQaWa/TIZ+rOmJGLMtnQ1gGlW97zQuJR7zh+8vdLzC
-iwVlS1cu7kcV7KYDytTkWJ+2gwb3uQ==
-=lP2S
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS4Mm4ACgkQ5L5TOfMo
+rnN35wgAkllCunxE6J5hQyLMx5o4WTHZkbNvXmu6nV1Y3vjiL1oeaK+pmx8BlkPt
+fGZJCe/068kqmp3N4EtOZLxXn55t3jNBYectPr0RmFqpjMsEJEcfXfuXROA4N9Ti
+Zd/o6X21eHEsm0kK0q4YfppfgTd5Ze7k1jTkUuuU6/yh6uRk1MiFreEzkPO3Aayh
+iEWlYx33vq3HccTPgdY3D64Zr8gmgKG+8mdEvqb1jK4SVZ1/9vy4OKIIpUZB/eqx
+46h9Ejwn9pktnYkHi/A/zCREEcIQ10HXFF5bjxJTFQkM5S46/QEO7uuvnpMb+6Yy
+4V1/QIWMG6ixqCRx9GqbBK7GHdYODw==
+=+IsI
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -0,0 +1,485 @@
From f2eb058afc57348cde66852272d6bf11da1eef8f Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Tue, 8 Aug 2023 19:02:39 +0000
Subject: [PATCH] linux-firmware: Update AMD cpu microcode
* Update AMD cpu microcode for processor family 19h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 13 +++++++++++++
amd-ucode/microcode_amd_fam19h.bin | Bin 16804 -> 39172 bytes
amd-ucode/microcode_amd_fam19h.bin.asc | 16 ++++++++--------
4 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/WHENCE b/WHENCE
index 99cee970..54aadb0c 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3924,6 +3924,6 @@ Raw: amd-ucode/microcode_amd_fam17h.bin
Version: 2023-07-19
File: amd-ucode/microcode_amd_fam19h.bin
-Version: 2023-07-18
+Version: 2023-08-08
File: amd-ucode/README
License: Redistributable. See LICENSE.amd-ucode for details
diff --git a/amd-ucode/README b/amd-ucode/README
index 1d39da3b..fac11524 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -37,6 +37,19 @@ Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
+ Family=0x19 Model=0x11 Stepping=0x01: Patch=0x0a10113e Length=5568 bytes
+ Family=0x19 Model=0x11 Stepping=0x02: Patch=0x0a10123e Length=5568 bytes
+ Family=0x19 Model=0xa0 Stepping=0x02: Patch=0x0aa00212 Length=5568 bytes
Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes
Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001079 Length=5568 bytes
Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001234 Length=5568 bytes
+ Family=0x19 Model=0xa0 Stepping=0x01: Patch=0x0aa00116 Length=5568 bytes
+
+NOTE: For Genoa (Family=0x19 Model=0x11) and Bergamo (Family=0x19 Model=0xa0),
+either AGESA version >= 1.0.0.8 OR a kernel with the following commit is
+required:
+a32b0f0db3f3 ("x86/microcode/AMD: Load late on both threads too")
+
+When late loading the patches for Genoa or Bergamo, there may be one spurious
+NMI observed per physical core. These NMIs are benign and don't cause any
+functional issue but will result in kernel messages being logged.
diff --git a/amd-ucode/microcode_amd_fam19h.bin b/amd-ucode/microcode_amd_fam19h.bin
index 50470c3f461a068e832a1ebe33683a041d4515fe..02a5d051d58b8028275ee6a0b091f11f8d1b6e27 100644
GIT binary patch
delta 20542
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
YVQu*TZ8nl?f%`zS*L1OeLEkX&JxSZWhyVZp
delta 28
hcmZqK#I&TDk;}!`kpTo87$#a7O{|gH{LazO5ddxw2oeAQ
diff --git a/amd-ucode/microcode_amd_fam19h.bin.asc b/amd-ucode/microcode_amd_fam19h.bin.asc
index a32b4d61..8cff9013 100644
--- a/amd-ucode/microcode_amd_fam19h.bin.asc
+++ b/amd-ucode/microcode_amd_fam19h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS3F00ACgkQ5L5TOfMo
-rnNEhQgAizSV8IFpvaYNytaJKLA4uevrZneGPV4czjCXnnj1yHpfQmCTyZQnoLnx
-7gyzf7K5271zO51FBQ5z2Nm48a3XPUhMbQLNP4BZdekLiA3bRpMtSyHct6zD0ULm
-xaFaOQ7MR1tGADhlon1bDvtnOuixUhwrZhEIlR9MzQAzERKDMOAVTbxn9ZhMfYiT
-LhA791Blyyi+6Z9uh7BpaA8l8uvoxt+uuvlBTjQMR3ER/TEjgcsoy+XhhK4QKS0V
-wJCtcDle/3pF+N6SAFWiXbNZ+P8p19afhcYddDl97xtpzA6/8b20a2eHkrqnu/Ds
-jTozF9kmhiifYMYpXtXgSOwI3GRZbQ==
-=t+j1
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmTEYrcACgkQ5L5TOfMo
+rnN4IQf/QKbOezXZ4OYzaPANvsZQEAzLNfuylC/aQMwrPaO7daz5/zmCN4HU5XkH
+dDT8DYfPg+fQHIgxAw0/L24xPOm5Op/QuLVDyDqVr4qvL8+65eeI+JqxD/wXMXYN
+V34kkLM2p8iuyY1Nc8IDLXu4X75KGNPbKZlMRKMU3Pr7ai5O4ihmiAM+N6qv1KEJ
+YToNN6vrg0qt1cv0SLM8sa4e7L1+oblUrg/o0FViYE8pxsU3ZRRVSJMUg+lKjvl/
+1ZPGKOdD80fcNJ+ItYGHNNs3eCc3WgW7Kc/E668eH75Yu9Zt7ewWZX8Sg/mygleY
+OzMwhbPJg4bF4zm7C/Pku7i1T2Omcg==
+=km2X
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -1,13 +1,13 @@
%global checkout b3132c18 %global checkout 2e92a49f
%global firmware_release 121 %global firmware_release 114
%global _firmwarepath /usr/lib/firmware %global _firmwarepath /usr/lib/firmware
%define _binaries_in_noarch_packages_terminate_build 0 %define _binaries_in_noarch_packages_terminate_build 0
Name: linux-firmware Name: linux-firmware
Version: 20240111 Version: 20230404
Release: %{firmware_release}.git%{checkout}%{?dist} Release: %{firmware_release}.git%{checkout}%{?dist}.alma.1
Summary: Firmware files used by the Linux kernel Summary: Firmware files used by the Linux kernel
License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted
URL: http://www.kernel.org/ URL: http://www.kernel.org/
@ -19,6 +19,12 @@ BuildArch: noarch
# 2) git archive --worktree-attributes --format=tar --prefix=linux-firmware-%%{checkout}/ %%{checkout} | xz > linux-firmware-%%{version}.tar.xz # 2) git archive --worktree-attributes --format=tar --prefix=linux-firmware-%%{checkout}/ %%{checkout} | xz > linux-firmware-%%{version}.tar.xz
Source0: %{name}-%{version}.tar.xz Source0: %{name}-%{version}.tar.xz
# AlmaLinux: AMD CPU ucode updates to fix CVE-2023-20593, CVE-2023-20569
Patch0: 0001-linux-firmware-Update-AMD-cpu-microcode.patch
Patch1: 0002-linux-firmware-Update-AMD-cpu-microcode.patch
Patch2: 0003-linux-firmware-Update-AMD-fam17h-cpu-microcode.patch
Patch3: 0004-linux-firmware-Update-AMD-cpu-microcode.patch
Provides: kernel-firmware = %{version} xorg-x11-drv-ati-firmware = 7.0 Provides: kernel-firmware = %{version} xorg-x11-drv-ati-firmware = 7.0
Obsoletes: kernel-firmware < %{version} xorg-x11-drv-ati-firmware < 6.13.0-0.22 Obsoletes: kernel-firmware < %{version} xorg-x11-drv-ati-firmware < 6.13.0-0.22
Obsoletes: ueagle-atm4-firmware < 1.0-5 Obsoletes: ueagle-atm4-firmware < 1.0-5
@ -50,7 +56,7 @@ operate.
Summary: Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters Summary: Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 39.31.5.1 Version: 39.31.5.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl100-firmware < 39.31.5.1-4 Obsoletes: iwl100-firmware < 39.31.5.1-4
%description -n iwl100-firmware %description -n iwl100-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
@ -62,7 +68,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 105 Series Adapters Summary: Firmware for Intel(R) Centrino Wireless-N 105 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 18.168.6.1 Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
%description -n iwl105-firmware %description -n iwl105-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl105 hardware. Usage of the firmware for Linux to support the iwl105 hardware. Usage of the firmware
@ -73,7 +79,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 135 Series Adapters Summary: Firmware for Intel(R) Centrino Wireless-N 135 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 18.168.6.1 Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
%description -n iwl135-firmware %description -n iwl135-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl135 hardware. Usage of the firmware for Linux to support the iwl135 hardware. Usage of the firmware
@ -85,7 +91,7 @@ Summary: Firmware for Intel® PRO/Wireless 1000 B/G/N network adaptors
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 39.31.5.1 Version: 39.31.5.1
Epoch: 1 Epoch: 1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl1000-firmware < 1:39.31.5.1-3 Obsoletes: iwl1000-firmware < 1:39.31.5.1-3
%description -n iwl1000-firmware %description -n iwl1000-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
@ -97,7 +103,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 2000 Series Adapters Summary: Firmware for Intel(R) Centrino Wireless-N 2000 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 18.168.6.1 Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
%description -n iwl2000-firmware %description -n iwl2000-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl2000 hardware. Usage of the firmware for Linux to support the iwl2000 hardware. Usage of the firmware
@ -108,7 +114,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 2030 Series Adapters Summary: Firmware for Intel(R) Centrino Wireless-N 2030 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 18.168.6.1 Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
%description -n iwl2030-firmware %description -n iwl2030-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl2030 hardware. Usage of the firmware for Linux to support the iwl2030 hardware. Usage of the firmware
@ -120,7 +126,7 @@ Summary: Firmware for Intel(R) Wireless WiFi Link 3160 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Epoch: 1 Epoch: 1
Version: 25.30.13.0 Version: 25.30.13.0
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
%description -n iwl3160-firmware %description -n iwl3160-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
for Linux. Usage of the firmware is subject to the terms and conditions for Linux. Usage of the firmware is subject to the terms and conditions
@ -130,7 +136,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 3945 A/B/G network adaptors Summary: Firmware for Intel® PRO/Wireless 3945 A/B/G network adaptors
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 15.32.2.9 Version: 15.32.2.9
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl3945-firmware < 15.32.2.9-7 Obsoletes: iwl3945-firmware < 15.32.2.9-7
%description -n iwl3945-firmware %description -n iwl3945-firmware
This package contains the firmware required by the iwl3945 driver This package contains the firmware required by the iwl3945 driver
@ -141,7 +147,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 4965 A/G/N network adaptors Summary: Firmware for Intel® PRO/Wireless 4965 A/G/N network adaptors
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 228.61.2.24 Version: 228.61.2.24
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl4965-firmware < 228.61.2.24-5 Obsoletes: iwl4965-firmware < 228.61.2.24-5
%description -n iwl4965-firmware %description -n iwl4965-firmware
This package contains the firmware required by the iwl4965 driver This package contains the firmware required by the iwl4965 driver
@ -152,7 +158,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 5000 A/G/N network adaptors Summary: Firmware for Intel® PRO/Wireless 5000 A/G/N network adaptors
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 8.83.5.1_1 Version: 8.83.5.1_1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl5000-firmware < 8.83.5.1_1-3 Obsoletes: iwl5000-firmware < 8.83.5.1_1-3
%description -n iwl5000-firmware %description -n iwl5000-firmware
This package contains the firmware required by the iwl5000 driver This package contains the firmware required by the iwl5000 driver
@ -163,7 +169,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 5150 A/G/N network adaptors Summary: Firmware for Intel® PRO/Wireless 5150 A/G/N network adaptors
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 8.24.2.2 Version: 8.24.2.2
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl5150-firmware < 8.24.2.2-4 Obsoletes: iwl5150-firmware < 8.24.2.2-4
%description -n iwl5150-firmware %description -n iwl5150-firmware
This package contains the firmware required by the iwl5150 driver This package contains the firmware required by the iwl5150 driver
@ -174,7 +180,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6000 AGN Adapter Summary: Firmware for Intel(R) Wireless WiFi Link 6000 AGN Adapter
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 9.221.4.1 Version: 9.221.4.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl6000-firmware < 9.221.4.1-4 Obsoletes: iwl6000-firmware < 9.221.4.1-4
%description -n iwl6000-firmware %description -n iwl6000-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
@ -185,7 +191,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6005 Series Adapters Summary: Firmware for Intel(R) Wireless WiFi Link 6005 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 18.168.6.1 Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl6000g2a-firmware < 17.168.5.3-3 Obsoletes: iwl6000g2a-firmware < 17.168.5.3-3
%description -n iwl6000g2a-firmware %description -n iwl6000g2a-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
@ -196,7 +202,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6030 Series Adapters Summary: Firmware for Intel(R) Wireless WiFi Link 6030 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 18.168.6.1 Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl6000g2b-firmware < 17.168.5.2-3 Obsoletes: iwl6000g2b-firmware < 17.168.5.2-3
%description -n iwl6000g2b-firmware %description -n iwl6000g2b-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
@ -207,7 +213,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6050 Series Adapters Summary: Firmware for Intel(R) Wireless WiFi Link 6050 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Version: 41.28.5.1 Version: 41.28.5.1
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
Obsoletes: iwl6050-firmware < 41.28.5.1-5 Obsoletes: iwl6050-firmware < 41.28.5.1-5
%description -n iwl6050-firmware %description -n iwl6050-firmware
This package contains the firmware required by the Intel wireless drivers This package contains the firmware required by the Intel wireless drivers
@ -219,7 +225,7 @@ Summary: Firmware for Intel(R) Wireless WiFi Link 726x/8000/9000 Series Adapters
License: Redistributable, no modification permitted License: Redistributable, no modification permitted
Epoch: 1 Epoch: 1
Version: 25.30.13.0 Version: 25.30.13.0
Release: %{firmware_release}%{?dist}.1 Release: %{firmware_release}%{?dist}.1.alma.1
# Obsolete iwl7265 sub-package which existed on RHEL 7, looking at git history # Obsolete iwl7265 sub-package which existed on RHEL 7, looking at git history
# Fedora never provided such sub-package (see bug 1589056) # Fedora never provided such sub-package (see bug 1589056)
Obsoletes: iwl7265-firmware Obsoletes: iwl7265-firmware
@ -258,7 +264,7 @@ Firmware for Marvell Libertas SD 8787 Network Adapter
%prep %prep
%setup -q -n linux-firmware-%{checkout} %setup -q -n linux-firmware-%{checkout}
%if 0 #if 0
git init . git init .
if [ -z "$GIT_COMMITTER_NAME" ]; then if [ -z "$GIT_COMMITTER_NAME" ]; then
git config user.email "nobody@fedoraproject.org" git config user.email "nobody@fedoraproject.org"
@ -269,15 +275,14 @@ git commit -m init .
git am %{patches} git am %{patches}
%endif #endif
%build %build
%install %install
mkdir -p $RPM_BUILD_ROOT/%{_firmwarepath} mkdir -p $RPM_BUILD_ROOT/%{_firmwarepath}
mkdir -p $RPM_BUILD_ROOT/%{_firmwarepath}/updates mkdir -p $RPM_BUILD_ROOT/%{_firmwarepath}/updates
# copy-firmware.sh requires rdfind unless we pass --ignore-duplicates. make DESTDIR=%{buildroot}/ FIRMWAREDIR=%{_firmwarepath} install
make DESTDIR=%{buildroot}/ FIRMWAREDIR=%{_firmwarepath} COPYOPTS="--ignore-duplicates" install
pushd $RPM_BUILD_ROOT/%{_firmwarepath} pushd $RPM_BUILD_ROOT/%{_firmwarepath}
# Remove firmware shipped in separate packages already # Remove firmware shipped in separate packages already
@ -402,10 +407,6 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
%{_firmwarepath}/iwlwifi-ty-a0-gf-a0*.pnvm %{_firmwarepath}/iwlwifi-ty-a0-gf-a0*.pnvm
%{_firmwarepath}/iwlwifi-so-a0-*.ucode %{_firmwarepath}/iwlwifi-so-a0-*.ucode
%{_firmwarepath}/iwlwifi-so-a0-*.pnvm %{_firmwarepath}/iwlwifi-so-a0-*.pnvm
%{_firmwarepath}/iwlwifi-gl-*.ucode
%{_firmwarepath}/iwlwifi-gl-*.pnvm
%{_firmwarepath}/iwlwifi-ma-*.ucode
%{_firmwarepath}/iwlwifi-ma-*.pnvm
%files -n libertas-usb8388-firmware %files -n libertas-usb8388-firmware
%license WHENCE LICENCE.Marvell %license WHENCE LICENCE.Marvell
@ -433,43 +434,11 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
%config(noreplace) %{_firmwarepath}/netronome/nic_AMDA* %config(noreplace) %{_firmwarepath}/netronome/nic_AMDA*
%changelog %changelog
* Thu Jan 11 2024 Denys Vlasenko <dvlasenk@redhat.com> - 20240111-121.gitb3132c18 * Wed Aug 09 2023 Andrew Lukoshko <alukoshko@almalinux.org> - 20230404-114.git2e92a49f.alma.1
- Pass --ignore-duplicates to copy-firmware.sh - Update AMD CPU ucode to fix CVE-2023-20569
- AMD Zen3 and Zen4: fix for INVD instruction causing loss of SEV-ES guest machine memory integrity
Resolves: RHEL-13982
* Wed Nov 22 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20231121-120.git9552083a * Mon Jul 24 2023 Andrew Lukoshko <alukoshko@almalinux.org> - 20230404-114.git2e92a49f.alma
- Work around absense of rdfind during build - Update AMD CPU ucode to fix CVE-2023-20593
- Add file directives for new iwlwifi files
Resolves: RHEL-16721, RHEL-14260
* Tue Nov 21 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20231121-119.git9552083a
- Update to latest upstream linux-firmware image for assorted updates
- Update AMD cpu microcode
- hw: intel: Fix protection mechanism failure for some Intel(R) PROSet/Wireless WiFi
Resolves: RHEL-16721, RHEL-14260
* Thu Aug 24 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230824-118.git0e048b06
- Update to latest upstream linux-firmware image for assorted updates
- AMD Zen3 and Zen4 firmware update for return address predictor velunerability
Resolves: rhbz#2230415
* Tue Aug 08 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230808-117.git0ab353f8
- Update to latest upstream linux-firmware image for assorted updates
- Navi32 dGPU firmware
- Update to fix multi monitor behind TBT3 dock & random flickers
- AMD Zen2 firmware update for cross-process information leak
Resolves: rhbz#2047482, rhbz#2227846, rhbz#2227153
* Tue Jul 11 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230711-116.gitd3f66064
- Update to latest upstream linux-firmware image for assorted updates
- AMD GPU firmware update: fix PSR-SU issues with kernel 6.2 or later
Resolves: rhbz#2218670
* Mon May 15 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230515-115.gitd1962891
- Update to latest upstream linux-firmware image for assorted updates
- [RHEL8] Add latest NVIDIA signed firmware for Turing GPUs and later
Resolves: rhbz#2183606
* Wed Apr 05 2023 Patrick Talbert <ptalbert@redhat.com> - 20230404-114.git2e92a49f * Wed Apr 05 2023 Patrick Talbert <ptalbert@redhat.com> - 20230404-114.git2e92a49f
- Update to latest upstream linux-firmware image for assorted updates - Update to latest upstream linux-firmware image for assorted updates