Hello community,
here is the log from the commit of package microcode_ctl.1443 for
openSUSE:12.2:Update checked in at 2013-03-20 12:52:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/microcode_ctl.1443 (Old)
and /work/SRC/openSUSE:12.2:Update/.microcode_ctl.1443.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "microcode_ctl.1443", Maintainer is ""
Changes:
--------
New Changes file:
--- /dev/null 2013-02-26 18:15:11.936010755 +0100
+++
/work/SRC/openSUSE:12.2:Update/.microcode_ctl.1443.new/microcode_ctl.changes
2013-03-20 12:52:56.000000000 +0100
@@ -0,0 +1,350 @@
+-------------------------------------------------------------------
+Wed Mar 13 18:00:22 UTC 2013 - [email protected]
+- bnc#809348
+- Update intel microcode to version 20130222
+- Update amd microcode to version 2012-09-10
+- No changelog is public.
+
+-------------------------------------------------------------------
+Wed Jun 20 00:29:22 UTC 2012 - [email protected]
+
+- Update to microcode 20120606, as usual, there is no information
+ about the problems that has been fixed.
+
+-------------------------------------------------------------------
+Sat Jun 9 00:04:53 UTC 2012 - [email protected]
+
+- Microcode autoload available in recent kernels is not
+ very useful without this package, use proper Supplements
+ to ensure it gets installed in the supported machines
+
+-------------------------------------------------------------------
+Tue Jun 5 10:04:36 UTC 2012 - [email protected]
+
+- license update: GPL-2.0+ and SUSE-Firmware
+ SPDX format
+
+-------------------------------------------------------------------
+Tue Apr 24 19:49:09 UTC 2012 - [email protected]
+
+- Update AMD microcode to 2012-01-17.
+ - Autoloading on fam15 and newer have a _famXX suffix, which is
+ causing warnings during boot on new systems (bnc#758499).
+
+-------------------------------------------------------------------
+Tue Dec 13 00:31:02 UTC 2011 - [email protected]
+
+- Update to microcode 20111110
+- First steps for autoloading, currently only working with systemd
+ * add script that generates microcode in a form understanable
+ by the kernel.
+ * add microcode.conf to modules-load.d so the module is
+ loaded at boot with systemd which in turn will load
+ updated microcode automatically.
+ The kernel will in the near future autoload the module when
+ a supported CPU is detected (WIP)
+ * Axe all init scripts and systemd service files. this has
+ to be handled in udev/kernel. (WIP)
+
+-------------------------------------------------------------------
+Tue Nov 22 18:53:50 UTC 2011 - [email protected]
+
+- Add a systemd.service in the meanwhile we sort out
+ if this has to be automatically handled by the kernel
+
+-------------------------------------------------------------------
+Tue Oct 11 15:14:21 UTC 2011 - [email protected]
+
+- Update microcode to 20110915, Intel does not disclose
+ what this fixes.
+
+-------------------------------------------------------------------
+Sun Jun 26 20:46:37 UTC 2011 - [email protected]
+
+- Update microcode to 20110428, Intel does not disclose
+ what this fixes.
+
+-------------------------------------------------------------------
+Sun May 22 02:07:20 UTC 2011 - [email protected]
+
+- Open all FD with O_CLOEXEC
+
+-------------------------------------------------------------------
+Tue May 10 02:04:01 UTC 2011 - [email protected]
+
+- microcode.init, do not load microcode on Virtual Machines
+ ugly error messages shown in syslog otherwise.
+
+-------------------------------------------------------------------
+Tue Jan 18 14:17:54 UTC 2011 - [email protected]
+
+- Revive microcode.ctl service as 2.6.37 does not throw cpu add
+ uevents. This is a workaround for 11.4 and will get reverted
+ as soon as we go for 2.6.38 where cpu driver autoloading patches
+ are included.
+- Service will be forced to be enabled on all Intel and all
+ AMD new than fam 10h.
+- Add AMD microcode patch and logic to get it loaded
+
+-------------------------------------------------------------------
+Sun Dec 19 03:34:19 UTC 2010 - [email protected]
+
+- Update microcode to 20101123, Intel does not disclose
+ what this fixes.
+
+-------------------------------------------------------------------
+Tue Sep 21 15:25:49 UTC 2010 - [email protected]
+
+- Update Intel microcode to version 20100914, vendor
+ does not provide information regarding what it fixes.
+
+-------------------------------------------------------------------
+Mon May 31 19:25:24 UTC 2010 - [email protected]
+
+- udev rules back into /lib/udev ,as suggested by Kay
+
+-------------------------------------------------------------------
+Mon May 31 16:00:04 UTC 2010 - [email protected]
+
+- udev rules must live in %{_sysconfdir} otherwise it wont work.
+
+-------------------------------------------------------------------
+Sat May 29 19:54:49 UTC 2010 - [email protected]
+
+- merge both Fedora and Debian improvements, most notably:
+ * microcode.dat is now considered firmware, and installed in /lib/firmware
+ * package no longer includes an init script microcode is loaded
+ using udev rules.
+
+-------------------------------------------------------------------
+Mon May 17 18:08:23 UTC 2010 - [email protected]
+
+- the microcode.dat file is a %config file
+
+-------------------------------------------------------------------
+Fri Feb 12 13:38:10 UTC 2010 - [email protected]
+
+- Updated microcode file to: 20100209
+
+-------------------------------------------------------------------
+Tue Feb 2 14:40:48 CET 2010 - [email protected]
+
+- Updated microcode file to: 20090927
+ Fate#306807 (again)
+
+-------------------------------------------------------------------
+Wed Sep 2 17:12:33 CEST 2009 - [email protected]
+
+- Updated microcode file to: 20090330
+ Fate: 306807
+
+-------------------------------------------------------------------
+Wed Oct 15 09:51:57 CEST 2008 - [email protected]
+
+- Fix syntax error in microcode.init (bnc#435518).
+- Add rpmlintrc.
+- Fix %install-no-mkdir-buildroot warning of rpmlint.
+
+-------------------------------------------------------------------
+Wed Sep 17 18:51:17 CEST 2008 - [email protected]
+
+- Updated microcode file to: 20080910
+ Fate: 303949
+
+-------------------------------------------------------------------
+Wed Aug 13 09:22:16 CEST 2008 - [email protected]
+
+- exit with "skipped" status when the microcode module does not
+ exist for a given kernel like the (old) VMI flavour (bnc#415117)
+
+-------------------------------------------------------------------
+Thu Jul 24 00:17:55 CEST 2008 - [email protected]
+
+- remove dependency on kernel since that's no real functional
+ dependency
+
+-------------------------------------------------------------------
+Mon May 5 17:20:50 CEST 2008 - [email protected]
+
+- return '4' for status, which is not implemented (bnc#383794)
+
+-------------------------------------------------------------------
+Sun Apr 6 17:27:51 CEST 2008 - [email protected]
+
+- update microcode version to 20080401 (bnc#374261)
+
+-------------------------------------------------------------------
+Thu Feb 21 10:18:58 CET 2008 - [email protected]
+
+- update microcode version to 20080220 (bnc#363537)
+
+-------------------------------------------------------------------
+Tue Feb 5 10:37:48 CET 2008 - [email protected]
+
+- update microcode version to 20080131 (fate#302618)
+
+-------------------------------------------------------------------
+Fri Jan 11 10:02:23 CET 2008 - [email protected]
+
+- update microcode version to 20080108 (#302618)
+
+-------------------------------------------------------------------
+Tue Oct 9 12:49:06 CEST 2007 - [email protected]
+
+- updated microcode version to 20070907 (#302618)
+
+-------------------------------------------------------------------
+Thu Aug 16 08:38:30 CEST 2007 - [email protected]
++++ 153 more lines (skipped)
++++ between /dev/null
++++ and
/work/SRC/openSUSE:12.2:Update/.microcode_ctl.1443.new/microcode_ctl.changes
New:
----
amd-ucode-2012-09-10.tar.bz2
intel-microcode2ucode.c
microcode-20130222.tgz
microcode-ctl-cloexec.patch
microcode.ctl_1.17-13.diff.gz
microcode_ctl-1.17-suse_rh_paths.patch
microcode_ctl-1.17.tar.bz2
microcode_ctl.changes
microcode_ctl.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ microcode_ctl.spec ++++++
#
# spec file for package microcode_ctl
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: microcode_ctl
%define intel_version 20130222
%define amd_version 2012-09-10
ExclusiveArch: %ix86 x86_64
Url: http://www.urbanmyth.org/microcode/
Summary: Microcode Updates for Intel and AMD64 x86/x86_64 CPUs
License: GPL-2.0+ and SUSE-Firmware
Group: Hardware/Other
Version: 1.17
Release: 0
Source0: microcode_ctl-%{version}.tar.bz2
Source2: microcode-%{intel_version}.tgz
Source3: amd-ucode-%{amd_version}.tar.bz2
Source5: intel-microcode2ucode.c
Patch0: microcode.ctl_1.17-13.diff.gz
Patch1: microcode_ctl-1.17-suse_rh_paths.patch
Patch2: microcode-ctl-cloexec.patch
Supplements: modalias(devname:cpu/microcode)
Supplements: modalias(char-major-10-184)
Supplements: modalias(x86cpu:vendor:0002:family:*:model:*:feature:*)
Supplements: modalias(x86cpu:vendor:0000:family:*:model:*:feature:*)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: systemd
%{?systemd_requires}
%description
This utility allows updating the microcode of Intel and AMD x86 and x86-64
CPUs.
%prep
%setup -q -a 3 -a 2
%patch0 -p1
%patch1
%patch2
%build
make CFLAGS="$RPM_OPT_FLAGS -I."
cc -fwhole-program %{optflags} %{S:5} -o generate_microcode
./generate_microcode microcode.dat
%install
%makeinstall
# AMD
install -D -m 0644 amd-ucode-%{amd_version}/microcode_amd.bin
$RPM_BUILD_ROOT/lib/firmware/amd-ucode/microcode_amd.bin
install -m 0644 amd-ucode-%{amd_version}/microcode_amd_fam*.bin
$RPM_BUILD_ROOT/lib/firmware/amd-ucode/
install -D -m 0644 amd-ucode-%{amd_version}/README
$RPM_BUILD_ROOT/%{_defaultdocdir}/microcode_ctl/amd/README
install -D -m 0644 amd-ucode-%{amd_version}/LICENSE
$RPM_BUILD_ROOT/%{_defaultdocdir}/microcode_ctl/amd/LICENSE
install -D -m 0644 amd-ucode-%{amd_version}/INSTALL
$RPM_BUILD_ROOT/%{_defaultdocdir}/microcode_ctl/amd/INSTALL
install -D -m 0755 generate_microcode %{buildroot}%{_bindir}/generate_microcode
for file in intel-ucode/*; do
install -D -m 0644 $file %{buildroot}/lib/firmware/$file
done
mkdir -p %{buildroot}/usr/lib/modules-load.d
echo 'microcode' > %{buildroot}/usr/lib/modules-load.d/microcode.conf
%clean
rm -rf $RPM_BUILD_ROOT;
%files
%defattr(-,root,root)
%{_bindir}/generate_microcode
/sbin/microcode_ctl
%dir /lib/firmware/amd-ucode
%dir /lib/firmware/intel-ucode
/lib/firmware/intel-ucode/*
/lib/firmware/amd-ucode/microcode_amd.bin
/lib/firmware/amd-ucode/microcode_amd_fam*.bin
%{_mandir}/man8/microcode_ctl.8.gz
%{_defaultdocdir}/microcode_ctl
/usr/lib/modules-load.d/microcode.conf
%changelog
++++++ intel-microcode2ucode.c ++++++
/*
* Convert Intel microcode.dat into individual ucode files
* named: intel-ucode/$family-$model-$stepping
*
* The subdir intel-ucode/ is created in the current working
* directory. We get multiple ucodes in the same file, so they
* are appended to an existing file. Make sure the directory
* is empty before every run of the converter.
*
* Kay Sievers <[email protected]>
*/
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <limits.h>
#include <stdbool.h>
#include <inttypes.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/stat.h>
struct microcode_header_intel {
unsigned int hdrver;
unsigned int rev;
unsigned int date;
unsigned int sig;
unsigned int cksum;
unsigned int ldrver;
unsigned int pf;
unsigned int datasize;
unsigned int totalsize;
unsigned int reserved[3];
};
union mcbuf {
struct microcode_header_intel hdr;
unsigned int i[0];
char c[0];
};
int main(int argc, char *argv[])
{
char *filename = "/lib/firmware/microcode.dat";
FILE *f;
char line[LINE_MAX];
char buf[4000000];
union mcbuf *mc;
size_t bufsize, count, start;
int rc = EXIT_SUCCESS;
if (argv[1] != NULL)
filename = argv[1];
count = 0;
mc = (union mcbuf *) buf;
f = fopen(filename, "re");
if (f == NULL) {
printf("open %s: %m\n", filename);
rc = EXIT_FAILURE;
goto out;
}
while (fgets(line, sizeof(line), f) != NULL) {
if (sscanf(line, "%x, %x, %x, %x",
&mc->i[count],
&mc->i[count + 1],
&mc->i[count + 2],
&mc->i[count + 3]) != 4)
continue;
count += 4;
}
fclose(f);
bufsize = count * sizeof(int);
printf("%s: %lu(%luk) bytes, %zu integers\n",
filename,
bufsize,
bufsize / 1024,
count);
if (bufsize < sizeof(struct microcode_header_intel))
goto out;
mkdir("intel-ucode", 0750);
start = 0;
for (;;) {
size_t size;
unsigned int family, model, stepping;
unsigned int year, month, day;
mc = (union mcbuf *) &buf[start];
if (mc->hdr.totalsize)
size = mc->hdr.totalsize;
else
size = 2000 + sizeof(struct microcode_header_intel);
if (mc->hdr.ldrver != 1 || mc->hdr.hdrver != 1) {
printf("unknown version/format:\n");
rc = EXIT_FAILURE;
break;
}
/*
* 0- 3 stepping
* 4- 7 model
* 8-11 family
* 12-13 type
* 16-19 extended model
* 20-27 extended family
*/
family = (mc->hdr.sig >> 8) & 0xf;
if (family == 0xf)
family += (mc->hdr.sig >> 20) & 0xff;
model = (mc->hdr.sig >> 4) & 0x0f;
if (family == 0x06)
model += ((mc->hdr.sig >> 16) & 0x0f) << 4;
stepping = mc->hdr.sig & 0x0f;
year = mc->hdr.date & 0xffff;
month = mc->hdr.date >> 24;
day = (mc->hdr.date >> 16) & 0xff;
asprintf(&filename, "intel-ucode/%02x-%02x-%02x", family,
model, stepping);
printf("\n");
printf("%s\n", filename);
printf("signature: 0x%02x\n", mc->hdr.sig);
printf("flags: 0x%02x\n", mc->hdr.pf);
printf("revision: 0x%02x\n", mc->hdr.rev);
printf("date: %04x-%02x-%02x\n", year, month, day);
printf("size: %zu\n", size);
f = fopen(filename, "ae");
if (f == NULL) {
printf("open %s: %m\n", filename);
rc = EXIT_FAILURE;
goto out;
}
if (fwrite(mc, size, 1, f) != 1) {
printf("write %s: %m\n", filename);
rc = EXIT_FAILURE;
goto out;
}
fclose(f);
free(filename);
start += size;
if (start >= bufsize)
break;
}
printf("\n");
out:
return rc;
}
++++++ microcode-ctl-cloexec.patch ++++++
--- microcode_ctl.c.orig
+++ microcode_ctl.c
@@ -10,6 +10,7 @@
*
*/
+#define _GNU_SOURCE
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
@@ -66,7 +67,7 @@ static int do_update(char *device, char
return ENOMEM;
}
- if( (fp=fopen(filename, "r")) == NULL){
+ if( (fp=fopen(filename, "re")) == NULL){
if(print_error_messages)
fprintf(stderr,
"%s: cannot open source file '%s' errno=%d
(%s)\n",
@@ -117,7 +118,7 @@ static int do_update(char *device, char
if(print_normal_messages)
fprintf(stderr, "%s: writing microcode (length: %d)\n",
progname, length);
- if((outfd = open(device, O_WRONLY)) == -1){
+ if((outfd = open(device, O_WRONLY|O_CLOEXEC)) == -1){
if(print_error_messages)
fprintf(stderr, "%s: cannot open %s for writing
errno=%d (%s)\n",
progname, device, errno, strerror(errno));
++++++ microcode.ctl_1.17-13.diff.gz ++++++
++++ 1927 lines (skipped)
++++++ microcode_ctl-1.17-suse_rh_paths.patch ++++++
Index: Makefile
===================================================================
--- Makefile.orig 2010-05-29 17:38:49.000000000 +0200
+++ Makefile 2010-05-29 21:42:56.932967000 +0200
@@ -24,34 +24,22 @@ endif
DESTDIR =
PREFIX = /usr
-INSDIR = $(PREFIX)/sbin
+INSDIR = /sbin
MANDIR = $(PREFIX)/share/man/man8
-MICDIR = /usr/share/misc
-
-RCFILE = microcode_ctl.start
-RCFILEFINAL = microcode_ctl
-# this is a bit nasty...
-RCDIR = $(shell if [ -d /etc/init.d ]; then echo "/etc"; else echo
"/etc/rc.d"; fi)
-RCHOMEDIR = init.d
-RCFILETO = $(RCDIR)/$(RCHOMEDIR)
+MICDIR = /lib/firmware
all: microcode_ctl
microcode_ctl: microcode_ctl.c
$(CC) $(CFLAGS) -o $(PROGRAM) microcode_ctl.c
- echo "$(RCDIR)/$(RCHOMEDIR)/microcode_ctl" > microcode-filelist
clean:
rm -f $(PROGRAM) microcode_ctl.o microcode-filelist
install:
- $(INS) -s -m 755 $(PROGRAM) $(DESTDIR)$(INSDIR)
-
-ifndef DESTDIR
- chkconfig --add $(RCFILEFINAL)
-else
- echo "MAKE: Skipping chkconfig operation (rpm build?)"
-endif
+ mkdir -p $(DESTDIR){$(MICDIR),$(INSDIR),$(MANDIR)}
+ $(INS) -m 644 microcode_ctl.8 $(DESTDIR)$(MANDIR)
+ $(INS) -m 755 $(PROGRAM) $(DESTDIR)$(INSDIR)
device:
mkdir -p $(DESTDIR)/dev/cpu
Index: microcode_ctl.c
===================================================================
--- microcode_ctl.c.orig 2010-05-29 17:38:49.000000000 +0200
+++ microcode_ctl.c 2010-05-29 17:44:47.376445000 +0200
@@ -26,7 +26,7 @@ static int print_error_messages=1;
#define FILENAME_MAXLEN 2048
#define MICROCODE_DEVICE_DEFAULT "/dev/cpu/microcode"
-#define MICROCODE_FILE_DEFAULT "/usr/share/misc/intel-microcode.dat"
+#define MICROCODE_FILE_DEFAULT "/lib/firmware/microcode.dat"
static void usage(FILE *file)
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]