[PATCH 1/2] lib: remove fwts_microcode

Alex Hung alex.hung at canonical.com
Thu May 30 02:01:50 UTC 2013


Acked-by: Alex Hung <alex.hung at canonical.com>


On Wed, May 29, 2013 at 10:31 PM, Colin King <colin.king at canonical.com>wrote:

> From: Colin Ian King <colin.king at canonical.com>
>
> Remove legacy microcode loading, we won't require this if we just
> parse the kernel load and scan for microcode update messages.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/lib/include/fwts.h           |   1 -
>  src/lib/include/fwts_microcode.h |  28 ----------
>  src/lib/src/Makefile.am          |   1 -
>  src/lib/src/fwts_microcode.c     | 117
> ---------------------------------------
>  4 files changed, 147 deletions(-)
>  delete mode 100644 src/lib/include/fwts_microcode.h
>  delete mode 100644 src/lib/src/fwts_microcode.c
>
> diff --git a/src/lib/include/fwts.h b/src/lib/include/fwts.h
> index 680eab9..ba1b312 100644
> --- a/src/lib/include/fwts.h
> +++ b/src/lib/include/fwts.h
> @@ -59,7 +59,6 @@
>  #include "fwts_formatting.h"
>  #include "fwts_summary.h"
>  #include "fwts_mmap.h"
> -#include "fwts_microcode.h"
>  #include "fwts_interactive.h"
>  #include "fwts_keymap.h"
>  #include "fwts_cmos.h"
> diff --git a/src/lib/include/fwts_microcode.h
> b/src/lib/include/fwts_microcode.h
> deleted file mode 100644
> index 886b4eb..0000000
> --- a/src/lib/include/fwts_microcode.h
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -/*
> - * Copyright (C) 2010-2013 Canonical
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * as published by the Free Software Foundation; either version 2
> - * of the License, or (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301, USA.
> - *
> - */
> -
> -#ifndef __FWTS_MICROCODE_H__
> -#define __FWTS_MICROCODE_H__
> -
> -#define FWTS_MICROCODE_DEVICE  "/dev/cpu/microcode"
> -#define FWTS_MICROCODE_FILE    "/usr/share/misc/intel-microcode.dat"
> -
> -int fwts_update_microcode(fwts_framework *fw, const char *device, const
> char *filename);
> -
> -#endif
> diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am
> index 4d9ab38..662d27f 100644
> --- a/src/lib/src/Makefile.am
> +++ b/src/lib/src/Makefile.am
> @@ -54,7 +54,6 @@ libfwts_la_SOURCES =          \
>         fwts_log_plaintext.c    \
>         fwts_log_xml.c          \
>         fwts_memorymap.c        \
> -       fwts_microcode.c        \
>         fwts_mmap.c             \
>         fwts_multiproc.c        \
>         fwts_oops.c             \
> diff --git a/src/lib/src/fwts_microcode.c b/src/lib/src/fwts_microcode.c
> deleted file mode 100644
> index 0bcbc4b..0000000
> --- a/src/lib/src/fwts_microcode.c
> +++ /dev/null
> @@ -1,117 +0,0 @@
> -/*
> - * Copyright 2000 (c) Simon Trimmer, Tigran Aivazian.
> - * Copyright (C) 2010-2013 Canonical
> - *
> - * Originally microcode_ctl.c
> - * Manipulate /dev/cpu/microcode under Linux
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * as published by the Free Software Foundation; either version 2
> - * of the License, or (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301, USA.
> - *
> - */
> -
> -#include <fcntl.h>
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <errno.h>
> -#include <unistd.h>
> -#include <string.h>
> -
> -#include "fwts.h"
> -
> -#define BUFFER_SIZE    (4096)
> -#define MICROCODE_SIZE         (128*1024)      /* initial size, expanded
> as needed */
> -
> -/*
> - *  fwts_update_microcode()
> - *     load given microcode file into a processor
> - */
> -int fwts_update_microcode(fwts_framework *fw, const char *device, const
> char *filename)
> -{
> -       FILE *fp;
> -       char line_buffer[BUFFER_SIZE];
> -       size_t microcode_size = MICROCODE_SIZE/sizeof(unsigned);
> -       unsigned *microcode;
> -       size_t pos = 0;
> -       int fd;
> -       int wrote, length;
> -
> -       if ((microcode = calloc(1, microcode_size * sizeof(unsigned))) ==
> NULL) {
> -               fwts_log_error(fw, "Cannot allocate memory.");
> -               return FWTS_ERROR;
> -       }
> -
> -       if ((fp = fopen(filename, "r")) == NULL) {
> -               fwts_log_error(fw, "Cannot open source '%s'.", filename);
> -               free(microcode);
> -               return FWTS_ERROR;
> -       }
> -
> -       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
> int));
> -                       if (microcode == NULL) {
> -                               fwts_log_error(fw, "Cannot allocate
> memory.");
> -                               fclose(fp);
> -                               return FWTS_ERROR;
> -                       }
> -               }
> -               /*
> -                * Data lines will are of the form "%x, %x, %x, %x",
> therefore
> -                * lines start with a 0
> -                */
> -               if (*line_buffer == '0') {
> -                       int scanned;
> -                       scanned = sscanf(line_buffer, "%x, %x, %x, %x",
> -                                       microcode + pos,
> -                                       microcode + pos + 1,
> -                                       microcode + pos + 2,
> -                                       microcode + pos + 3);
> -                       if (scanned != 4) {
> -                               fwts_log_error(fw, "%s: invalid file
> format", filename);
> -                               fclose(fp);
> -                               free(microcode);
> -                               return FWTS_ERROR;
> -                       }
> -                       pos += 4;
> -               }
> -       }
> -       fclose(fp);
> -
> -       length = pos * sizeof(unsigned int);
> -
> -       if ((fd = open(device, O_WRONLY)) == -1) {
> -               fwts_log_error(fw, "Cannot open %s for writing errno=%d
> (%s)\n",
> -                               device, errno, strerror(errno));
> -               free(microcode);
> -               return FWTS_ERROR;
> -       }
> -
> -       if ((wrote = write(fd, microcode, length)) < 0) {
> -               fwts_log_error(fw, "Error writing microcode.");
> -               close(fd);
> -               free(microcode);
> -               return FWTS_ERROR;
> -       }
> -
> -       close(fd);
> -       free(microcode);
> -
> -       return FWTS_OK;
> -}
> --
> 1.8.1.2
>
>
> --
> fwts-devel mailing list
> fwts-devel at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/fwts-devel
>



-- 
Cheers,
Alex Hung
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/fwts-devel/attachments/20130530/732203d9/attachment.html>


More information about the fwts-devel mailing list