aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/microcode_intel.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-07-13 11:31:34 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-07-13 11:31:34 +0100
commit749182393c49818b03172986aa2ba6afe3615c5d (patch)
treedb7fa0f934e8550c33ad098fd552417b18fc37eb /xen/arch/x86/microcode_intel.c
parent0e20e0e1c7f61dbce3d1bbc64a280c9af92df3ce (diff)
downloadxen-749182393c49818b03172986aa2ba6afe3615c5d.tar.gz
xen-749182393c49818b03172986aa2ba6afe3615c5d.tar.bz2
xen-749182393c49818b03172986aa2ba6afe3615c5d.zip
x86: move ucode_cpu_info into per-CPU space
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/microcode_intel.c')
-rw-r--r--xen/arch/x86/microcode_intel.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/xen/arch/x86/microcode_intel.c b/xen/arch/x86/microcode_intel.c
index 7d8657ff2f..ac085a02a2 100644
--- a/xen/arch/x86/microcode_intel.c
+++ b/xen/arch/x86/microcode_intel.c
@@ -99,7 +99,7 @@ static int collect_cpu_info(int cpu_num, struct cpu_signature *csig)
static inline int microcode_update_match(
int cpu_num, struct microcode_header_intel *mc_header, int sig, int pf)
{
- struct ucode_cpu_info *uci = ucode_cpu_info + cpu_num;
+ struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu_num);
return (sigmatch(sig, uci->cpu_sig.sig, pf, uci->cpu_sig.pf) &&
(mc_header->rev > uci->cpu_sig.rev));
@@ -201,7 +201,7 @@ static int microcode_sanity_check(void *mc)
*/
static int get_matching_microcode(void *mc, int cpu)
{
- struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
+ struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu);
struct microcode_header_intel *mc_header = mc;
struct extended_sigtable *ext_header;
unsigned long total_size = get_totalsize(mc_header);
@@ -251,7 +251,7 @@ static int apply_microcode(int cpu)
unsigned long flags;
unsigned int val[2];
int cpu_num = raw_smp_processor_id();
- struct ucode_cpu_info *uci = ucode_cpu_info + cpu_num;
+ struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu_num);
/* We should bind the task to the CPU */
BUG_ON(cpu_num != cpu);
@@ -362,7 +362,7 @@ static int cpu_request_microcode(int cpu, const void *buf, size_t size)
static int microcode_resume_match(int cpu, struct cpu_signature *nsig)
{
- struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
+ struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu);
return (sigmatch(nsig->sig, uci->cpu_sig.sig, nsig->pf, uci->cpu_sig.pf) &&
(uci->cpu_sig.rev > nsig->rev));