Commit 80cc9f10 authored by Peter Oruba's avatar Peter Oruba Committed by Ingo Molnar

x86: AMD microcode patch loading support

This patch introduces microcode patch loading for AMD
processors. It is based on previous corresponding work
for Intel processors.

It hooks into the general patch loading module. Main
difference is that a container file format is used to hold
all patch data for multiple processors as well as an
equivalent CPU table, which comes seperately, as opposed
to Intel's microcode patching solution.

Kconfig and Makefile have been changed provice config
and build option for new source file.
Signed-off-by: default avatarPeter Oruba <peter.oruba@amd.com>
Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 8d86f390
...@@ -786,10 +786,12 @@ config MICROCODE ...@@ -786,10 +786,12 @@ config MICROCODE
select FW_LOADER select FW_LOADER
---help--- ---help---
If you say Y here, you will be able to update the microcode on If you say Y here, you will be able to update the microcode on
Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II, certain Intel and AMD processors. The Intel support is for the
Pentium III, Pentium 4, Xeon etc. You will obviously need the IA32 family, e.g. Pentium Pro, Pentium II, Pentium III,
actual microcode binary data itself which is not shipped with the Pentium 4, Xeon etc. The AMD support is for family 0x10 and
Linux kernel. 0x11 processors, e.g. Opteron, Phenom and Turion 64 Ultra.
You will obviously need the actual microcode binary data itself
which is not shipped with the Linux kernel.
This option selects the general module only, you need to select This option selects the general module only, you need to select
at least one vendor specific module as well. at least one vendor specific module as well.
...@@ -813,6 +815,17 @@ config MICROCODE_INTEL ...@@ -813,6 +815,17 @@ config MICROCODE_INTEL
This driver is only available as a module: the module This driver is only available as a module: the module
will be called microcode_intel. will be called microcode_intel.
config MICROCODE_AMD
tristate "AMD microcode patch loading support"
depends on MICROCODE
select FW_LOADER
--help---
If you select this option, microcode patch loading support for AMD
processors will be enabled.
This driver is only available as a module: the module
will be called microcode_amd.
config MICROCODE_OLD_INTERFACE config MICROCODE_OLD_INTERFACE
def_bool y def_bool y
depends on MICROCODE depends on MICROCODE
......
...@@ -53,6 +53,7 @@ obj-$(CONFIG_X86_MSR) += msr.o ...@@ -53,6 +53,7 @@ obj-$(CONFIG_X86_MSR) += msr.o
obj-$(CONFIG_X86_CPUID) += cpuid.o obj-$(CONFIG_X86_CPUID) += cpuid.o
obj-$(CONFIG_MICROCODE) += microcode.o obj-$(CONFIG_MICROCODE) += microcode.o
obj-$(CONFIG_MICROCODE_INTEL) += microcode_intel.o obj-$(CONFIG_MICROCODE_INTEL) += microcode_intel.o
obj-$(CONFIG_MICROCODE_AMD) += microcode_amd.o
obj-$(CONFIG_PCI) += early-quirks.o obj-$(CONFIG_PCI) += early-quirks.o
apm-y := apm_32.o apm-y := apm_32.o
obj-$(CONFIG_APM) += apm.o obj-$(CONFIG_APM) += apm.o
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment