Commit 76bd11c2 authored by Borislav Petkov's avatar Borislav Petkov Committed by Ingo Molnar

x86/microcode/amd: Move private inlines to .c and mark local functions static

Make them all static as they're used in a single file now.

No functionality change.
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20161025095522.11964-10-bp@alien8.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 7f709d0c
...@@ -40,27 +40,6 @@ struct microcode_amd { ...@@ -40,27 +40,6 @@ struct microcode_amd {
unsigned int mpb[0]; unsigned int mpb[0];
}; };
static inline u16 find_equiv_id(struct equiv_cpu_entry *equiv_cpu_table,
unsigned int sig)
{
int i = 0;
if (!equiv_cpu_table)
return 0;
while (equiv_cpu_table[i].installed_cpu != 0) {
if (sig == equiv_cpu_table[i].installed_cpu)
return equiv_cpu_table[i].equiv_cpu;
i++;
}
return 0;
}
extern int __apply_microcode_amd(struct microcode_amd *mc_amd);
extern int apply_microcode_amd(int cpu);
extern enum ucode_state load_microcode_amd(int cpu, u8 family, const u8 *data, size_t size);
#define PATCH_MAX_SIZE PAGE_SIZE #define PATCH_MAX_SIZE PAGE_SIZE
#ifdef CONFIG_MICROCODE_AMD #ifdef CONFIG_MICROCODE_AMD
......
...@@ -126,6 +126,37 @@ static size_t compute_container_size(u8 *data, u32 total_size) ...@@ -126,6 +126,37 @@ static size_t compute_container_size(u8 *data, u32 total_size)
return size; return size;
} }
static inline u16 find_equiv_id(struct equiv_cpu_entry *equiv_cpu_table,
unsigned int sig)
{
int i = 0;
if (!equiv_cpu_table)
return 0;
while (equiv_cpu_table[i].installed_cpu != 0) {
if (sig == equiv_cpu_table[i].installed_cpu)
return equiv_cpu_table[i].equiv_cpu;
i++;
}
return 0;
}
static int __apply_microcode_amd(struct microcode_amd *mc_amd)
{
u32 rev, dummy;
native_wrmsrl(MSR_AMD64_PATCH_LOADER, (u64)(long)&mc_amd->hdr.data_code);
/* verify patch application was successful */
native_rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy);
if (rev != mc_amd->hdr.patch_id)
return -1;
return 0;
}
/* /*
* Early load occurs before we can vmalloc(). So we look for the microcode * Early load occurs before we can vmalloc(). So we look for the microcode
* patch container file in initrd, traverse equivalent cpu table, look for a * patch container file in initrd, traverse equivalent cpu table, look for a
...@@ -395,6 +426,9 @@ void load_ucode_amd_ap(unsigned int family) ...@@ -395,6 +426,9 @@ void load_ucode_amd_ap(unsigned int family)
} }
#endif #endif
static enum ucode_state
load_microcode_amd(int cpu, u8 family, const u8 *data, size_t size);
int __init save_microcode_in_initrd_amd(unsigned int family) int __init save_microcode_in_initrd_amd(unsigned int family)
{ {
unsigned long cont; unsigned long cont;
...@@ -649,21 +683,7 @@ bool check_current_patch_level(u32 *rev, bool early) ...@@ -649,21 +683,7 @@ bool check_current_patch_level(u32 *rev, bool early)
return ret; return ret;
} }
int __apply_microcode_amd(struct microcode_amd *mc_amd) static int apply_microcode_amd(int cpu)
{
u32 rev, dummy;
native_wrmsrl(MSR_AMD64_PATCH_LOADER, (u64)(long)&mc_amd->hdr.data_code);
/* verify patch application was successful */
native_rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy);
if (rev != mc_amd->hdr.patch_id)
return -1;
return 0;
}
int apply_microcode_amd(int cpu)
{ {
struct cpuinfo_x86 *c = &cpu_data(cpu); struct cpuinfo_x86 *c = &cpu_data(cpu);
struct microcode_amd *mc_amd; struct microcode_amd *mc_amd;
...@@ -846,7 +866,8 @@ static enum ucode_state __load_microcode_amd(u8 family, const u8 *data, ...@@ -846,7 +866,8 @@ static enum ucode_state __load_microcode_amd(u8 family, const u8 *data,
return UCODE_OK; return UCODE_OK;
} }
enum ucode_state load_microcode_amd(int cpu, u8 family, const u8 *data, size_t size) static enum ucode_state
load_microcode_amd(int cpu, u8 family, const u8 *data, size_t size)
{ {
enum ucode_state ret; enum ucode_state ret;
......
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