- Add AMD x86/x86-64 microcode. (Dated: 2009-10-09) Doesn't need
microcode_ctl modifications as it's loaded by request_firmware() like any other sensible driver. - Eventually, this AMD firmware can probably live inside kernel-firmware once it is split out.
This commit is contained in:
parent
20dd27d870
commit
244bfe6ef2
@ -1,5 +1,5 @@
|
|||||||
clog
|
clog
|
||||||
microcode_ctl-1.17
|
microcode_ctl-1.17
|
||||||
microcode_ctl-1.17.tar.gz
|
microcode_ctl-1.17.tar.gz
|
||||||
microcode-20090330.dat
|
|
||||||
microcode-20090927.dat
|
microcode-20090927.dat
|
||||||
|
amd-ucode-2009-10-09.tar
|
||||||
|
@ -15,13 +15,20 @@ RETVAL=0
|
|||||||
function start ()
|
function start ()
|
||||||
{
|
{
|
||||||
RETVAL=1
|
RETVAL=1
|
||||||
# Make sure we are on an Intel machine
|
|
||||||
vendor=`grep "^vendor_id" /proc/cpuinfo | head -n1 | awk -F ": " '{ print $2 }'`
|
|
||||||
[ "$vendor" != "GenuineIntel" ] && return
|
|
||||||
|
|
||||||
# Microcode wasn't available until 686's.
|
# Intel 686 and above, AMD family 16 and above
|
||||||
|
vendor=`grep "^vendor_id" /proc/cpuinfo | head -n1 | awk -F ": " '{ print $2 }'`
|
||||||
family=`grep "^cpu family" /proc/cpuinfo | head -n1 | awk -F ": " '{ print $2 }'`
|
family=`grep "^cpu family" /proc/cpuinfo | head -n1 | awk -F ": " '{ print $2 }'`
|
||||||
[ $family -lt 6 ] && return
|
|
||||||
|
if [ "$vendor" = "GenuineIntel" ] && [ $family -ge 6 ]; then
|
||||||
|
echo -n $"Applying Intel CPU microcode update: "
|
||||||
|
elif [ "$vendor" = "AuthenticAMD" ] && [ $family -ge 16 ]; then
|
||||||
|
echo $"Loading AMD microcode update module"
|
||||||
|
/sbin/modprobe microcode
|
||||||
|
return
|
||||||
|
else
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
echo -n $"Applying Intel CPU microcode update: "
|
echo -n $"Applying Intel CPU microcode update: "
|
||||||
|
|
||||||
@ -49,6 +56,7 @@ function start ()
|
|||||||
|
|
||||||
stop()
|
stop()
|
||||||
{
|
{
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -11,6 +11,8 @@ Source1: microcode_ctl.init
|
|||||||
# Microcode now distributed directly by Intel, at
|
# Microcode now distributed directly by Intel, at
|
||||||
# http://downloadcenter.intel.com (just search for microcode)
|
# http://downloadcenter.intel.com (just search for microcode)
|
||||||
Source2: microcode-20090927.dat
|
Source2: microcode-20090927.dat
|
||||||
|
# http://www.amd64.org/support/microcode.html
|
||||||
|
Source3: amd-ucode-2009-10-09.tar
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
||||||
Requires(pre): /sbin/chkconfig /sbin/service
|
Requires(pre): /sbin/chkconfig /sbin/service
|
||||||
Requires(pre): grep gawk coreutils
|
Requires(pre): grep gawk coreutils
|
||||||
@ -20,11 +22,12 @@ ExclusiveArch: %{ix86} x86_64
|
|||||||
Patch1: microcode_ctl.patch
|
Patch1: microcode_ctl.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
microcode_ctl - updates the microcode on Intel x86/x86-64 CPU's
|
microcode_ctl - updates the microcode on Intel and AMD x86/x86-64 CPU's
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
tar xf %{SOURCE3}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
|
||||||
@ -34,6 +37,7 @@ rm -rf %{buildroot}
|
|||||||
|
|
||||||
mkdir -p %{buildroot}/usr/share/man/man{1,8}
|
mkdir -p %{buildroot}/usr/share/man/man{1,8}
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
||||||
|
mkdir -p %{buildroot}/lib/firmware/amd-ucode/
|
||||||
|
|
||||||
make DESTDIR=%{buildroot} PREFIX=%{_prefix} \
|
make DESTDIR=%{buildroot} PREFIX=%{_prefix} \
|
||||||
INSDIR=/sbin MANDIR=%{_mandir}/man8 RCDIR=%{_sysconfdir} install clean
|
INSDIR=/sbin MANDIR=%{_mandir}/man8 RCDIR=%{_sysconfdir} install clean
|
||||||
@ -41,6 +45,11 @@ make DESTDIR=%{buildroot} PREFIX=%{_prefix} \
|
|||||||
install %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/microcode_ctl
|
install %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/microcode_ctl
|
||||||
install -m 644 %{SOURCE2} %{buildroot}/lib/firmware/microcode.dat
|
install -m 644 %{SOURCE2} %{buildroot}/lib/firmware/microcode.dat
|
||||||
|
|
||||||
|
install -m 644 amd-ucode-2009-10-09/microcode_amd.bin %{buildroot}/lib/firmware/amd-ucode/microcode_amd.bin
|
||||||
|
install -m 644 amd-ucode-2009-10-09/LICENSE LICENSE.microcode_amd
|
||||||
|
install -m 644 amd-ucode-2009-10-09/README README.microcode_amd
|
||||||
|
install -m 644 amd-ucode-2009-10-09/INSTALL INSTALL.microcode_amd
|
||||||
|
|
||||||
chmod -R a-s %{buildroot}
|
chmod -R a-s %{buildroot}
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
@ -51,6 +60,7 @@ rm -rf %{buildroot}
|
|||||||
%{_sysconfdir}/init.d/microcode_ctl
|
%{_sysconfdir}/init.d/microcode_ctl
|
||||||
/lib/firmware/*
|
/lib/firmware/*
|
||||||
/sbin/microcode_ctl
|
/sbin/microcode_ctl
|
||||||
|
%doc LICENSE.microcode_amd README.microcode_amd INSTALL.microcode_amd
|
||||||
%attr(0644,root,root) %{_mandir}/*/*
|
%attr(0644,root,root) %{_mandir}/*/*
|
||||||
|
|
||||||
|
|
||||||
@ -61,23 +71,43 @@ if [ "$1" = "0" ] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%post
|
%post
|
||||||
# Only enable on Intel 686's and above.
|
# Only enable on Intel 686's and above or AMD family 0x10 and above
|
||||||
vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'`
|
vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'`
|
||||||
[ "$vendor" != "GenuineIntel" ] && exit 0
|
|
||||||
family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'`
|
family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'`
|
||||||
[ $family -lt 6 ] && exit 0
|
if [ "$vendor" = "GenuineIntel" ]; then
|
||||||
|
[ $family -lt 6 ] && exit 0
|
||||||
|
elif [ "$vendor" = "AuthenticAMD" ]; then
|
||||||
|
[ $family -lt 16 ] && exit 0
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
/sbin/chkconfig --add microcode_ctl
|
/sbin/chkconfig --add microcode_ctl
|
||||||
|
exit 0
|
||||||
|
|
||||||
%triggerpostun -- kernel-utils
|
%triggerpostun -- kernel-utils
|
||||||
# Only enable on Intel 686's and above.
|
# Only enable on Intel 686's and above or AMD family 0x10 and above
|
||||||
vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'`
|
vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'`
|
||||||
[ "$vendor" != "GenuineIntel" ] && exit 0
|
|
||||||
family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'`
|
family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'`
|
||||||
[ $family -lt 6 ] && exit 0
|
if [ "$vendor" = "GenuineIntel" ]; then
|
||||||
|
[ $family -lt 6 ] && exit 0
|
||||||
|
elif [ "$vendor" = "AuthenticAMD" ]; then
|
||||||
|
[ $family -lt 16 ] && exit 0
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
/sbin/chkconfig --add microcode_ctl
|
/sbin/chkconfig --add microcode_ctl
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Dec 02 2009 Kyle McMartin <kyle@redhat.com> 1.17-1.56
|
||||||
|
- Add AMD x86/x86-64 microcode. (Dated: 2009-10-09)
|
||||||
|
Doesn't need microcode_ctl modifications as it's loaded by
|
||||||
|
request_firmware() like any other sensible driver.
|
||||||
|
- Eventually, this AMD firmware can probably live inside
|
||||||
|
kernel-firmware once it is split out.
|
||||||
|
|
||||||
* Wed Sep 30 2009 Dave Jones <davej@redhat.com>
|
* Wed Sep 30 2009 Dave Jones <davej@redhat.com>
|
||||||
- Update to microcode-20090927.dat
|
- Update to microcode-20090927.dat
|
||||||
|
|
||||||
|
1
sources
1
sources
@ -1,2 +1,3 @@
|
|||||||
98a7f06acef8459c8ef2a1b0fb86a99e microcode_ctl-1.17.tar.gz
|
98a7f06acef8459c8ef2a1b0fb86a99e microcode_ctl-1.17.tar.gz
|
||||||
98427bffc4c803655785ca2093da0a92 microcode-20090927.dat
|
98427bffc4c803655785ca2093da0a92 microcode-20090927.dat
|
||||||
|
524c5680aae1de04da1bf3371fd07a2d amd-ucode-2009-10-09.tar
|
||||||
|
Loading…
Reference in New Issue
Block a user