diff mbox

[U-Boot,17/69] x86: Move microcode code to a common location

Message ID 1457317732-18406-18-git-send-email-sjg@chromium.org
State Superseded
Delegated to: Bin Meng
Headers show

Commit Message

Simon Glass March 7, 2016, 2:28 a.m. UTC
This code is used on several Intel CPUs. Move it into a common location.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/x86/cpu/intel_common/Makefile                         | 3 +++
 arch/x86/cpu/intel_common/car.S                            | 2 +-
 arch/x86/cpu/{ivybridge => intel_common}/microcode_intel.c | 4 +++-
 arch/x86/cpu/ivybridge/Makefile                            | 1 -
 arch/x86/cpu/ivybridge/cpu.c                               | 2 +-
 arch/x86/include/asm/{arch-ivybridge => }/microcode.h      | 0
 6 files changed, 8 insertions(+), 4 deletions(-)
 rename arch/x86/cpu/{ivybridge => intel_common}/microcode_intel.c (98%)
 rename arch/x86/include/asm/{arch-ivybridge => }/microcode.h (100%)

Comments

Bin Meng March 11, 2016, 5:05 a.m. UTC | #1
Hi Simon,

On Mon, Mar 7, 2016 at 10:28 AM, Simon Glass <sjg@chromium.org> wrote:
> This code is used on several Intel CPUs. Move it into a common location.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  arch/x86/cpu/intel_common/Makefile                         | 3 +++
>  arch/x86/cpu/intel_common/car.S                            | 2 +-
>  arch/x86/cpu/{ivybridge => intel_common}/microcode_intel.c | 4 +++-

I would rename this to just "microcode.c" since the directory already
indicates "intel_common".

>  arch/x86/cpu/ivybridge/Makefile                            | 1 -
>  arch/x86/cpu/ivybridge/cpu.c                               | 2 +-
>  arch/x86/include/asm/{arch-ivybridge => }/microcode.h      | 0
>  6 files changed, 8 insertions(+), 4 deletions(-)
>  rename arch/x86/cpu/{ivybridge => intel_common}/microcode_intel.c (98%)
>  rename arch/x86/include/asm/{arch-ivybridge => }/microcode.h (100%)
>
> diff --git a/arch/x86/cpu/intel_common/Makefile b/arch/x86/cpu/intel_common/Makefile
> index 5dd9573..bc7c3ff 100644
> --- a/arch/x86/cpu/intel_common/Makefile
> +++ b/arch/x86/cpu/intel_common/Makefile
> @@ -5,3 +5,6 @@
>  #
>
>  obj-$(CONFIG_HAVE_MRC) += car.o
> +ifndef CONFIG_TARGET_EFI
> +obj-y += microcode_intel.o
> +endif
> diff --git a/arch/x86/cpu/intel_common/car.S b/arch/x86/cpu/intel_common/car.S
> index 1defabf..81ac976 100644
> --- a/arch/x86/cpu/intel_common/car.S
> +++ b/arch/x86/cpu/intel_common/car.S
> @@ -12,12 +12,12 @@
>   */
>
>  #include <common.h>
> +#include <asm/microcode.h>
>  #include <asm/msr-index.h>
>  #include <asm/mtrr.h>
>  #include <asm/post.h>
>  #include <asm/processor.h>
>  #include <asm/processor-flags.h>
> -#include <asm/arch/microcode.h>
>
>  #define MTRR_PHYS_BASE_MSR(reg) (0x200 + 2 * (reg))
>  #define MTRR_PHYS_MASK_MSR(reg) (0x200 + 2 * (reg) + 1)
> diff --git a/arch/x86/cpu/ivybridge/microcode_intel.c b/arch/x86/cpu/intel_common/microcode_intel.c
> similarity index 98%
> rename from arch/x86/cpu/ivybridge/microcode_intel.c
> rename to arch/x86/cpu/intel_common/microcode_intel.c
> index 2440a97..3054fab 100644
> --- a/arch/x86/cpu/ivybridge/microcode_intel.c
> +++ b/arch/x86/cpu/intel_common/microcode_intel.c
> @@ -12,10 +12,12 @@
>  #include <fdtdec.h>
>  #include <libfdt.h>
>  #include <asm/cpu.h>
> +#include <asm/microcode.h>
>  #include <asm/msr.h>
>  #include <asm/msr-index.h>
>  #include <asm/processor.h>
> -#include <asm/arch/microcode.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
>
>  /**
>   * struct microcode_update - standard microcode header from Intel
> diff --git a/arch/x86/cpu/ivybridge/Makefile b/arch/x86/cpu/ivybridge/Makefile
> index b117f0d..78006f1 100644
> --- a/arch/x86/cpu/ivybridge/Makefile
> +++ b/arch/x86/cpu/ivybridge/Makefile
> @@ -13,7 +13,6 @@ obj-y += gma.o
>  obj-y += lpc.o
>  obj-y += me_status.o
>  obj-y += model_206ax.o
> -obj-y += microcode_intel.o
>  obj-y += northbridge.o
>  obj-y += report_platform.o
>  obj-y += sata.o
> diff --git a/arch/x86/cpu/ivybridge/cpu.c b/arch/x86/cpu/ivybridge/cpu.c
> index 948833c..c54e800 100644
> --- a/arch/x86/cpu/ivybridge/cpu.c
> +++ b/arch/x86/cpu/ivybridge/cpu.c
> @@ -19,13 +19,13 @@
>  #include <asm/cpu.h>
>  #include <asm/io.h>
>  #include <asm/lapic.h>
> +#include <asm/microcode.h>
>  #include <asm/msr.h>
>  #include <asm/mtrr.h>
>  #include <asm/pci.h>
>  #include <asm/post.h>
>  #include <asm/processor.h>
>  #include <asm/arch/model_206ax.h>
> -#include <asm/arch/microcode.h>
>  #include <asm/arch/pch.h>
>  #include <asm/arch/sandybridge.h>
>
> diff --git a/arch/x86/include/asm/arch-ivybridge/microcode.h b/arch/x86/include/asm/microcode.h
> similarity index 100%
> rename from arch/x86/include/asm/arch-ivybridge/microcode.h
> rename to arch/x86/include/asm/microcode.h
> --

Other than that,
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Regards,
Bin
diff mbox

Patch

diff --git a/arch/x86/cpu/intel_common/Makefile b/arch/x86/cpu/intel_common/Makefile
index 5dd9573..bc7c3ff 100644
--- a/arch/x86/cpu/intel_common/Makefile
+++ b/arch/x86/cpu/intel_common/Makefile
@@ -5,3 +5,6 @@ 
 #
 
 obj-$(CONFIG_HAVE_MRC) += car.o
+ifndef CONFIG_TARGET_EFI
+obj-y += microcode_intel.o
+endif
diff --git a/arch/x86/cpu/intel_common/car.S b/arch/x86/cpu/intel_common/car.S
index 1defabf..81ac976 100644
--- a/arch/x86/cpu/intel_common/car.S
+++ b/arch/x86/cpu/intel_common/car.S
@@ -12,12 +12,12 @@ 
  */
 
 #include <common.h>
+#include <asm/microcode.h>
 #include <asm/msr-index.h>
 #include <asm/mtrr.h>
 #include <asm/post.h>
 #include <asm/processor.h>
 #include <asm/processor-flags.h>
-#include <asm/arch/microcode.h>
 
 #define MTRR_PHYS_BASE_MSR(reg) (0x200 + 2 * (reg))
 #define MTRR_PHYS_MASK_MSR(reg) (0x200 + 2 * (reg) + 1)
diff --git a/arch/x86/cpu/ivybridge/microcode_intel.c b/arch/x86/cpu/intel_common/microcode_intel.c
similarity index 98%
rename from arch/x86/cpu/ivybridge/microcode_intel.c
rename to arch/x86/cpu/intel_common/microcode_intel.c
index 2440a97..3054fab 100644
--- a/arch/x86/cpu/ivybridge/microcode_intel.c
+++ b/arch/x86/cpu/intel_common/microcode_intel.c
@@ -12,10 +12,12 @@ 
 #include <fdtdec.h>
 #include <libfdt.h>
 #include <asm/cpu.h>
+#include <asm/microcode.h>
 #include <asm/msr.h>
 #include <asm/msr-index.h>
 #include <asm/processor.h>
-#include <asm/arch/microcode.h>
+
+DECLARE_GLOBAL_DATA_PTR;
 
 /**
  * struct microcode_update - standard microcode header from Intel
diff --git a/arch/x86/cpu/ivybridge/Makefile b/arch/x86/cpu/ivybridge/Makefile
index b117f0d..78006f1 100644
--- a/arch/x86/cpu/ivybridge/Makefile
+++ b/arch/x86/cpu/ivybridge/Makefile
@@ -13,7 +13,6 @@  obj-y += gma.o
 obj-y += lpc.o
 obj-y += me_status.o
 obj-y += model_206ax.o
-obj-y += microcode_intel.o
 obj-y += northbridge.o
 obj-y += report_platform.o
 obj-y += sata.o
diff --git a/arch/x86/cpu/ivybridge/cpu.c b/arch/x86/cpu/ivybridge/cpu.c
index 948833c..c54e800 100644
--- a/arch/x86/cpu/ivybridge/cpu.c
+++ b/arch/x86/cpu/ivybridge/cpu.c
@@ -19,13 +19,13 @@ 
 #include <asm/cpu.h>
 #include <asm/io.h>
 #include <asm/lapic.h>
+#include <asm/microcode.h>
 #include <asm/msr.h>
 #include <asm/mtrr.h>
 #include <asm/pci.h>
 #include <asm/post.h>
 #include <asm/processor.h>
 #include <asm/arch/model_206ax.h>
-#include <asm/arch/microcode.h>
 #include <asm/arch/pch.h>
 #include <asm/arch/sandybridge.h>
 
diff --git a/arch/x86/include/asm/arch-ivybridge/microcode.h b/arch/x86/include/asm/microcode.h
similarity index 100%
rename from arch/x86/include/asm/arch-ivybridge/microcode.h
rename to arch/x86/include/asm/microcode.h