Messages in this thread Patch in this message | | | Date | Tue, 3 Oct 2023 16:14:39 +0200 | From | Borislav Petkov <> | Subject | Re: [patch V3 12/30] x86/microcode/intel: Reuse intel_cpu_collect_info() |
| |
On Mon, Sep 25, 2023 at 12:47:16PM +0200, Thomas Gleixner wrote: > Eew. That's a function exposed to code outside of microcode and just > grows that unused argument for no value and you obviously forgot to > fixup the extern callsite :)
It's used on AMD. Adding the below to the pile.
--- From: "Borislav Petkov (AMD)" <bp@alien8.de> Date: Tue, 3 Oct 2023 16:12:01 +0200 Subject: [PATCH] x86/microcode: Make microcode_ops.collect_cpu_info() return void
Simplify code flow a bit more in the process.
No functional changes.
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://lore.kernel.org/r/20230921104220.GHZQweDKyaJmkYdt4f@fat_crate.local --- arch/x86/include/asm/cpu.h | 2 +- arch/x86/kernel/cpu/microcode/amd.c | 4 +--- arch/x86/kernel/cpu/microcode/intel.c | 12 +++--------- arch/x86/kernel/cpu/microcode/internal.h | 2 +- 4 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/arch/x86/include/asm/cpu.h b/arch/x86/include/asm/cpu.h index 4066dd3734ba..581ecfbaf134 100644 --- a/arch/x86/include/asm/cpu.h +++ b/arch/x86/include/asm/cpu.h @@ -75,7 +75,7 @@ extern __noendbr void cet_disable(void); struct cpu_signature; -void intel_collect_cpu_info(struct cpu_signature *sig); +void intel_collect_cpu_info(int unused, struct cpu_signature *sig); static inline bool intel_cpu_signatures_match(unsigned int s1, unsigned int p1, unsigned int s2, unsigned int p2) diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c index 0f15e82a536c..5d1c2a716456 100644 --- a/arch/x86/kernel/cpu/microcode/amd.c +++ b/arch/x86/kernel/cpu/microcode/amd.c @@ -632,7 +632,7 @@ void reload_ucode_amd(unsigned int cpu) } } -static int collect_cpu_info_amd(int cpu, struct cpu_signature *csig) +static void collect_cpu_info_amd(int cpu, struct cpu_signature *csig) { struct cpuinfo_x86 *c = &cpu_data(cpu); struct ucode_cpu_info *uci = ucode_cpu_info + cpu; @@ -650,8 +650,6 @@ static int collect_cpu_info_amd(int cpu, struct cpu_signature *csig) uci->mc = p->data; pr_info("CPU%d: patch_level=0x%08x\n", cpu, csig->rev); - - return 0; } static enum ucode_state apply_microcode_amd(int cpu) diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c index 3817bb2ad6ac..0eff86a5ab8f 100644 --- a/arch/x86/kernel/cpu/microcode/intel.c +++ b/arch/x86/kernel/cpu/microcode/intel.c @@ -66,7 +66,7 @@ static inline unsigned int exttable_size(struct extended_sigtable *et) return et->count * EXT_SIGNATURE_SIZE + EXT_HEADER_SIZE; } -void intel_collect_cpu_info(struct cpu_signature *sig) +void intel_collect_cpu_info(int unused, struct cpu_signature *sig) { sig->sig = cpuid_eax(1); sig->pf = 0; @@ -363,7 +363,7 @@ static __init struct microcode_intel *get_microcode_blob(struct ucode_cpu_info * if (!(cp.data && cp.size)) return NULL; - intel_collect_cpu_info(&uci->cpu_sig); + intel_collect_cpu_info(0, &uci->cpu_sig); return scan_microcode(cp.data, cp.size, uci); } @@ -424,12 +424,6 @@ void reload_ucode_intel(void) apply_microcode_early(&uci); } -static int collect_cpu_info(int cpu_num, struct cpu_signature *csig) -{ - intel_collect_cpu_info(csig); - return 0; -} - static enum ucode_state apply_microcode_late(int cpu) { struct ucode_cpu_info *uci = ucode_cpu_info + cpu; @@ -592,7 +586,7 @@ static void finalize_late_load(int result) static struct microcode_ops microcode_intel_ops = { .request_microcode_fw = request_microcode_fw, - .collect_cpu_info = collect_cpu_info, + .collect_cpu_info = intel_collect_cpu_info, .apply_microcode = apply_microcode_late, .finalize_late_load = finalize_late_load, }; diff --git a/arch/x86/kernel/cpu/microcode/internal.h b/arch/x86/kernel/cpu/microcode/internal.h index 051b7956d4fd..b3753025cd4a 100644 --- a/arch/x86/kernel/cpu/microcode/internal.h +++ b/arch/x86/kernel/cpu/microcode/internal.h @@ -30,7 +30,7 @@ struct microcode_ops { * See also the "Synchronization" section in microcode_core.c. */ enum ucode_state (*apply_microcode)(int cpu); - int (*collect_cpu_info)(int cpu, struct cpu_signature *csig); + void (*collect_cpu_info)(int cpu, struct cpu_signature *csig); void (*finalize_late_load)(int result); }; -- 2.42.0.rc0.25.ga82fb66fed25
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |