[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V4 1/2] x86/microcode: Cleanup int type usage for cpu numbers
CPU numbers can't be negative. Fixing the microcode* files to properly use unsigned type in this patch. No functional change is introduced. Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> --- xen/arch/x86/microcode.c | 6 +++--- xen/arch/x86/microcode_amd.c | 12 +++++++----- xen/arch/x86/microcode_intel.c | 15 ++++++++------- xen/include/asm-x86/microcode.h | 9 +++++---- xen/include/asm-x86/processor.h | 2 +- 5 files changed, 24 insertions(+), 20 deletions(-) diff --git a/xen/arch/x86/microcode.c b/xen/arch/x86/microcode.c index 091d5d1..c20bde6 100644 --- a/xen/arch/x86/microcode.c +++ b/xen/arch/x86/microcode.c @@ -195,7 +195,7 @@ struct microcode_info { char buffer[1]; }; -static void __microcode_fini_cpu(int cpu) +static void __microcode_fini_cpu(unsigned int cpu) { struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu); @@ -203,14 +203,14 @@ static void __microcode_fini_cpu(int cpu) memset(uci, 0, sizeof(*uci)); } -static void microcode_fini_cpu(int cpu) +static void microcode_fini_cpu(unsigned int cpu) { spin_lock(µcode_mutex); __microcode_fini_cpu(cpu); spin_unlock(µcode_mutex); } -int microcode_resume_cpu(int cpu) +int microcode_resume_cpu(unsigned int cpu) { int err; struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu); diff --git a/xen/arch/x86/microcode_amd.c b/xen/arch/x86/microcode_amd.c index f79b397..2717479 100644 --- a/xen/arch/x86/microcode_amd.c +++ b/xen/arch/x86/microcode_amd.c @@ -79,7 +79,7 @@ struct mpbhdr { static DEFINE_SPINLOCK(microcode_update_lock); /* See comment in start_update() for cases when this routine fails */ -static int collect_cpu_info(int cpu, struct cpu_signature *csig) +static int collect_cpu_info(unsigned int cpu, struct cpu_signature *csig) { struct cpuinfo_x86 *c = &cpu_data[cpu]; @@ -149,7 +149,8 @@ static bool_t find_equiv_cpu_id(const struct equiv_cpu_entry *equiv_cpu_table, return 0; } -static bool_t microcode_fits(const struct microcode_amd *mc_amd, int cpu) +static bool_t microcode_fits(const struct microcode_amd *mc_amd, + unsigned int cpu) { struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu); const struct microcode_header_amd *mc_header = mc_amd->mpb; @@ -186,7 +187,7 @@ static bool_t microcode_fits(const struct microcode_amd *mc_amd, int cpu) return 1; } -static int apply_microcode(int cpu) +static int apply_microcode(unsigned int cpu) { unsigned long flags; struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu); @@ -347,7 +348,8 @@ static int container_fast_forward(const void *data, size_t size_left, size_t *of return 0; } -static int cpu_request_microcode(int cpu, const void *buf, size_t bufsize) +static int cpu_request_microcode(unsigned int cpu, const void *buf, + size_t bufsize) { struct microcode_amd *mc_amd, *mc_old; size_t offset = 0; @@ -511,7 +513,7 @@ static int cpu_request_microcode(int cpu, const void *buf, size_t bufsize) return error; } -static int microcode_resume_match(int cpu, const void *mc) +static int microcode_resume_match(unsigned int cpu, const void *mc) { struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu); struct microcode_amd *mc_amd = uci->mc.mc_amd; diff --git a/xen/arch/x86/microcode_intel.c b/xen/arch/x86/microcode_intel.c index b54cd71..0a5f403 100644 --- a/xen/arch/x86/microcode_intel.c +++ b/xen/arch/x86/microcode_intel.c @@ -90,7 +90,7 @@ struct extended_sigtable { /* serialize access to the physical write to MSR 0x79 */ static DEFINE_SPINLOCK(microcode_update_lock); -static int collect_cpu_info(int cpu_num, struct cpu_signature *csig) +static int collect_cpu_info(unsigned int cpu_num, struct cpu_signature *csig) { struct cpuinfo_x86 *c = &cpu_data[cpu_num]; uint64_t msr_content; @@ -129,7 +129,7 @@ static int collect_cpu_info(int cpu_num, struct cpu_signature *csig) } static inline int microcode_update_match( - int cpu_num, const struct microcode_header_intel *mc_header, + unsigned int cpu_num, const struct microcode_header_intel *mc_header, int sig, int pf) { struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu_num); @@ -232,7 +232,7 @@ static int microcode_sanity_check(void *mc) * return 1 - found update * return < 0 - error */ -static int get_matching_microcode(const void *mc, int cpu) +static int get_matching_microcode(const void *mc, unsigned int cpu) { struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu); const struct microcode_header_intel *mc_header = mc; @@ -277,12 +277,12 @@ static int get_matching_microcode(const void *mc, int cpu) return 1; } -static int apply_microcode(int cpu) +static int apply_microcode(unsigned int cpu) { unsigned long flags; uint64_t msr_content; unsigned int val[2]; - int cpu_num = raw_smp_processor_id(); + unsigned int cpu_num = raw_smp_processor_id(); struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu_num); /* We should bind the task to the CPU */ @@ -351,7 +351,8 @@ static long get_next_ucode_from_buffer(void **mc, const u8 *buf, return offset + total_size; } -static int cpu_request_microcode(int cpu, const void *buf, size_t size) +static int cpu_request_microcode(unsigned int cpu, const void *buf, + size_t size) { long offset = 0; int error = 0; @@ -391,7 +392,7 @@ static int cpu_request_microcode(int cpu, const void *buf, size_t size) return error; } -static int microcode_resume_match(int cpu, const void *mc) +static int microcode_resume_match(unsigned int cpu, const void *mc) { return get_matching_microcode(mc, cpu); } diff --git a/xen/include/asm-x86/microcode.h b/xen/include/asm-x86/microcode.h index 00a672a..23ea954 100644 --- a/xen/include/asm-x86/microcode.h +++ b/xen/include/asm-x86/microcode.h @@ -7,10 +7,11 @@ struct cpu_signature; struct ucode_cpu_info; struct microcode_ops { - int (*microcode_resume_match)(int cpu, const void *mc); - int (*cpu_request_microcode)(int cpu, const void *buf, size_t size); - int (*collect_cpu_info)(int cpu, struct cpu_signature *csig); - int (*apply_microcode)(int cpu); + int (*microcode_resume_match)(unsigned int cpu, const void *mc); + int (*cpu_request_microcode)(unsigned int cpu, const void *buf, + size_t size); + int (*collect_cpu_info)(unsigned int cpu, struct cpu_signature *csig); + int (*apply_microcode)(unsigned int cpu); int (*start_update)(void); }; diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h index b9a00aa..f507f5e 100644 --- a/xen/include/asm-x86/processor.h +++ b/xen/include/asm-x86/processor.h @@ -570,7 +570,7 @@ int wrmsr_hypervisor_regs(uint32_t idx, uint64_t val); void microcode_set_module(unsigned int); int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void), unsigned long len); -int microcode_resume_cpu(int cpu); +int microcode_resume_cpu(unsigned int cpu); enum get_cpu_vendor { gcv_host_early, -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |