diff --git a/srcpkgs/intel-microcode/template b/srcpkgs/intel-microcode/template deleted file mode 100644 index c9687ff3b68..00000000000 --- a/srcpkgs/intel-microcode/template +++ /dev/null @@ -1,28 +0,0 @@ -# Template file for 'intel-microcode' -pkgname=intel-microcode -version=20101123 -distfiles="http://downloadmirror.intel.com/19611/eng/microcode-$version.tgz" -short_desc="Processor microcode data file for Intel CPUs" -maintainer="Juan RP " -checksum=d6fdce48483e38af4891206c5ebeb12f8881c1d5eb57214b1d8bab219e9f84f9 -long_desc=" - The microcode data file for Linux contains the latest microcode definitions - for all Intel processors. Intel releases microcode updates to correct - processor behavior as documented in the respective processor specification - updates. While the regular approach to getting this microcode update is via - a BIOS upgrade, Intel realizes that this is an administrative hassle; the - Linux Operating System has a mechanism to update the microcode after booting - the OS. - - This package contains only the microcode, so it needs the loader provided in - the package microcode_ctl" - -nostrip=yes -noextract=yes - -do_install() -{ - tar xfz ${XBPS_SRCDISTDIR}/microcode-${version}.tgz - install -D -m644 microcode-${version}.dat \ - ${DESTDIR}/lib/firmware/intel-microcode.dat -} diff --git a/srcpkgs/microcode_ctl/files/microcode_ctl.rc b/srcpkgs/microcode_ctl/files/microcode_ctl.rc deleted file mode 100644 index c0a0881f5b5..00000000000 --- a/srcpkgs/microcode_ctl/files/microcode_ctl.rc +++ /dev/null @@ -1,32 +0,0 @@ -#!/sbin/runscript - -: ${MICROCODE_DEVICE:=/dev/cpu/microcode} -: ${MICROCODE_FILE:=/lib/firmware/intel-microcode.dat} - -depend() -{ - need localmount - before * -} - -start() -{ - local modloaded - - einfo "Applying Intel CPU microcode update" - if [ ! -c ${MICROCODE_DEVICE} ]; then - modprobe -q microcode - if [ $? -ne 0 ]; then - eerror "failed to load microcode module" - fi - - fi - if [ ! -f ${MICROCODE_FILE} ]; then - eerror "cannot find microcode file" - fi - microcode_ctl -Q -f ${MICROCODE_FILE} - if [ $? -eq 0 ]; then - modprobe -q -r microcode - fi - eend $? -} diff --git a/srcpkgs/microcode_ctl/microcode_ctl.rshlibs b/srcpkgs/microcode_ctl/microcode_ctl.rshlibs deleted file mode 100644 index 631aa1dda40..00000000000 --- a/srcpkgs/microcode_ctl/microcode_ctl.rshlibs +++ /dev/null @@ -1 +0,0 @@ -libc.so.6 diff --git a/srcpkgs/microcode_ctl/patches/microcode.ctl_1.17-13.diff b/srcpkgs/microcode_ctl/patches/microcode.ctl_1.17-13.diff deleted file mode 100644 index f6ea9360705..00000000000 --- a/srcpkgs/microcode_ctl/patches/microcode.ctl_1.17-13.diff +++ /dev/null @@ -1,264 +0,0 @@ ---- microcode.ctl-1.17.orig/microcode_ctl.c -+++ microcode.ctl-1.17/microcode_ctl.c -@@ -18,28 +18,30 @@ - #include - - static char *progname; --int print_normal_messages=1; --int print_error_messages=1; -+static int print_normal_messages=1; -+static int print_error_messages=1; - - #define BUFFER_SIZE 4096 --#define MAX_MICROCODE 2000000 -+#define MICROCODE_SIZE (128*1024) /* initial size, expanded as needed */ -+#define FILENAME_MAXLEN 2048 - - #define MICROCODE_DEVICE_DEFAULT "/dev/cpu/microcode" --#define MICROCODE_FILE_DEFAULT "/etc/microcode.dat" -+#define MICROCODE_FILE_DEFAULT "/lib/firmware/intel-microcode.dat" - --static void usage(void) -+ -+static void usage(FILE *file) - { -- fprintf(stderr, "\nThis program is for updating the microcode on Intel processors\n" -- "belonging to the IA32 family - PentiumPro upwards (x86_64 included).\n" -- "It depends on the Linux kernel microcode driver.\n\n" -- "Usage: %s [-h] [-u] [-q] [-Q] [-f microcode]\n\n" -- " -h this usage message\n" -- " -q run silently when successful\n" -- " -Q run silently even on failure\n" -- " -u upload microcode (default filename:\"%s\"\n" -- " -f upload microcode from named Intel formatted file\n\n", -- progname, MICROCODE_FILE_DEFAULT); -- exit(1); -+ fputs( -+"\nThis program is for updating the microcode on Intel processors\n" -+"belonging to the IA32 family - PentiumPro upwards (x86_64 included).\n" -+"It depends on the Linux kernel microcode driver.\n\n" -+"Usage: microcode_ctl [-h] [-u] [-q] [-Q] [-f microcode]\n\n" -+" -h this usage message\n" -+" -q run silently when successful\n" -+" -Q run silently even on failure\n" -+" -u upload microcode (default filename:\""MICROCODE_FILE_DEFAULT"\"\n" -+" -f upload microcode from named Intel formatted file\n\n", -+ file); - } - - /* -@@ -52,45 +54,66 @@ - { - FILE *fp; - char line_buffer[BUFFER_SIZE]; -- int microcode[MAX_MICROCODE]; -- int *pos; -+ size_t microcode_size = MICROCODE_SIZE/sizeof(unsigned); -+ unsigned *microcode = malloc(microcode_size * sizeof(unsigned)); -+ size_t pos = 0; - int outfd; - int wrote, length; - -+ if(!microcode){ -+ if(print_error_messages) -+ fprintf(stderr, "%s: not enough memory\n", progname); -+ return ENOMEM; -+ } - - if( (fp=fopen(filename, "r")) == NULL){ - if(print_error_messages) -- fprintf(stderr, "%s: cannot open source file '%s' errno=%d (%s)\n", -+ fprintf(stderr, -+ "%s: cannot open source file '%s' errno=%d (%s)\n", - progname, filename, errno, strerror(errno)); - return errno; - } - -- pos = microcode; -- - while(fgets(line_buffer, BUFFER_SIZE, fp) != NULL) { -+ /* -+ * Expand microcode buffer if needed -+ */ -+ if(microcode_size < pos + 4) { -+ microcode_size *= 2; -+ microcode = realloc(microcode, -+ microcode_size * sizeof(unsigned)); -+ if (!microcode) { -+ if(print_error_messages) -+ fprintf(stderr, "%s: not enough memory\n", -+ progname); -+ fclose(fp); -+ return ENOMEM; -+ } -+ } - /* - * Data lines will are of the form "%x, %x, %x, %x", therefore - * lines start with a 0 - */ - if(*line_buffer == '0'){ -- sscanf(line_buffer, "%x, %x, %x, %x", pos, -- (pos + 1), (pos + 2), (pos + 3)); -- pos += 4; -+ int scanned; -+ scanned = sscanf(line_buffer, "%x, %x, %x, %x", -+ microcode + pos, -+ microcode + pos + 1, -+ microcode + pos + 2, -+ microcode + pos + 3); -+ if(scanned != 4) { -+ fprintf(stderr, "%s: %s: invalid file format\n", -+ progname, filename); -+ fclose(fp); -+ return EINVAL; -+ } -+ pos += 4; - } -- -- if (MAX_MICROCODE < (pos - microcode)){ -- /* not checking the buffer length could cause grief? */ -- if(print_error_messages) -- fprintf(stderr, "%s: file too large for utility microcode buffer\n" -- "%s: change MAX_MICROCODE yourself :)\n", progname, progname); -- fclose(fp); -- return errno; -- } -- - } - - fclose(fp); -- length = sizeof(int) * (pos - microcode); -+ length = pos * sizeof(unsigned); -+ - if(print_normal_messages) - fprintf(stderr, "%s: writing microcode (length: %d)\n", progname, length); - -@@ -101,7 +124,7 @@ - return errno; - } - -- if( (wrote = write(outfd, µcode, length)) < 0){ -+ if( (wrote = write(outfd, microcode, length)) < 0){ - if(print_error_messages) - fprintf(stderr, "%s: error writing to '%s' errno=%d (%s)\n" - "%s: there may be messages from the driver in your system log.\n", -@@ -122,20 +145,17 @@ - int main(int argc, char *argv[]) - { - int c; -- static char device[2048]; -- static char filename[2048]; -+ static char device[FILENAME_MAXLEN+1] = MICROCODE_DEVICE_DEFAULT; -+ static char filename[FILENAME_MAXLEN+1] = MICROCODE_FILE_DEFAULT; - int upload=0; -- int return_code; - - progname = argv[0]; - -- strcpy(device, MICROCODE_DEVICE_DEFAULT); -- strcpy(filename, MICROCODE_FILE_DEFAULT); -- -- while (EOF != (c = getopt(argc, argv, "hqQud:f:"))) { -+ while (EOF != (c = getopt(argc, argv, "-hqQiud:f:"))) { - switch(c) { - case 'h': -- usage(); -+ usage(stdout); -+ exit(0); - - case 'q': - print_normal_messages=0; -@@ -147,7 +167,7 @@ - break; - - case 'd': -- strcpy(device, optarg); -+ strncpy(device, optarg, FILENAME_MAXLEN); - break; - - case 'u': /* do a microcode upload */ -@@ -156,19 +176,25 @@ - - case 'f': /* set microcode file to optarg and upload */ - upload++; -- strcpy(filename, optarg); -+ strncpy(filename, optarg, FILENAME_MAXLEN); -+ break; -+ case 'i': -+ fputs("microcode_ctl: flag '-i' is now obsolete", -+ stderr); - break; -- - case '?': -- usage(); -+ case 1: -+ usage(stdout); -+ exit(2); -+ - } - } - - if (upload) { -- if((return_code = do_update(device, filename))) -- exit(return_code); -+ if(do_update(device, filename)) -+ exit(1); - } else -- usage(); -+ usage(stderr); - - return 0; - } ---- microcode.ctl-1.17.orig/microcode_ctl.8 -+++ microcode.ctl-1.17/microcode_ctl.8 -@@ -4,13 +4,13 @@ - microcode_ctl \- microcode utility for Intel IA32 processors - .SH SYNOPSIS - .B microcode_ctl --[\fI\-h\fR] [\fI\-u\fR [\fI\-q\fR]] [\fI\-Q\fR] [\fI\-f microcode\fR] -+[\fI\-h\fR] [\fI\-u\fR] [\fI\-q\fR] [\fI\-Q\fR] [\fI\-f microcode\fR] - .br - .SH DESCRIPTION --." Add any additional description here --.PP --The microcode_ctl utility is a companion to the IA32 microcode driver written --by Tigran Aivazian . The uaility has two uses: -+The -+.B microcode_ctl -+utility is a companion to the IA32 microcode driver written -+by Tigran Aivazian . The utility has two uses: - .br - .PP - \fBa)\fR it decodes and sends new microcode to the kernel driver to be -@@ -49,14 +49,14 @@ - Upload microcode using defaults - .SH FILES - .TP --/etc/microcode.dat -+/lib/firmware/intel-microcode.dat - The default microcode location - .PD - .SH AUTHOR - Microcode utility written by Simon Trimmer - .br - Linux Kernel driver written by Tigran Aivazian. --.SH "REPORTING BUGS" -+.SH REPORTING BUGS - Report bugs to either Simon Trimmer or - Tigran Aivazian - .SH COPYRIGHT -@@ -64,12 +64,12 @@ - .br - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --.SH "SPECIAL THANKS" -+.SH SPECIAL THANKS - Thanks to the Intel Corporation, for supplying microcode update data and - publishing the specifications that enabled us to write microcode driver for - Linux. - .br --.SH "SEE ALSO" -+.SH SEE ALSO - The brave are recommended to view the driver source code located in the - Linux Kernel source tree in arch/i386/kernel/microcode.c - .PP diff --git a/srcpkgs/microcode_ctl/template b/srcpkgs/microcode_ctl/template deleted file mode 100644 index b20274e669d..00000000000 --- a/srcpkgs/microcode_ctl/template +++ /dev/null @@ -1,39 +0,0 @@ -# Template file for 'microcode_ctl' -pkgname=microcode_ctl -version=1.17 -patch_args="-Np1" -distfiles="http://www.urbanmyth.org/microcode/$pkgname-$version.tar.gz" -revision=1 -short_desc="Intel IA32/IA64 CPU Microcode Utility" -make_install_args="PREFIX=/usr MANDIR=/usr/share/man/man8" -maintainer="Juan RP " -checksum=41ef081c3a2649ca012714a3e2034d748612b1a8f007aa275f395f81cb230bb7 -long_desc=" - The microcode_ctl utility is a companion to the IA32 microcode driver: - - - it decodes and sends new microcode to the kernel driver for Intel IA32 - family (Pentium Pro, PII, Celeron, PIII, Xeon, Pentium 4, etc.) and - Intel x86_64 family processors; - - it signals the kernel driver to release any buffers it may hold. - - The microcode update does not permanently alter the CPU and must be performed - each time the system is booted." - -openrc_services="${pkgname} default true" - -Add_dependency full udev -Add_dependency full module-init-tools -Add_dependency full intel-microcode - -do_build() -{ - make -} - -do_install() -{ - install -D -m755 ${pkgname} ${DESTDIR}/usr/sbin/${pkgname} - install -D -m644 ${pkgname}.8 ${DESTDIR}/usr/share/man/man8/${pkgname}.8 - install -D -m755 ${FILESDIR}/${pkgname}.rc \ - ${DESTDIR}/etc/init.d/${pkgname} -}