Skip to contentSkip to conversation

next: x86/msr.h: build fails

PATCH Applied Alexander Beregalov 2 participants 3 messages May 20, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi Borislav,

What do you think about this fix?
I have no idea what value should be for the cpu variable.

Quoted 1 line

From 0a72854156436549ccb540fa90f59511470cd188 Mon Sep 17 00:00:00 2001

From: Alexander Beregalov <[email protected]>
Date: Wed, 20 May 2009 13:33:43 +0400
Subject: [PATCH] x86: msr.h: fix build error

Fix this build error:
.../asm/msr.h: In function 'rdmsr_on_cpus':
.../asm/msr.h:248: error: request for member 'l' in something not a structure or union .../asm/msr.h:248: error: request for member 'h' in something not a structure or union .../asm/msr.h:248: error: too few arguments to function 'rdmsr_on_cpu' .../asm/msr.h: In function 'wrmsr_on_cpus':
.../asm/msr.h:253: error: request for member 'l' in something not a structure or union .../asm/msr.h:253: error: request for member 'h' in something not a structure or union .../asm/msr.h:253: error: too few arguments to function 'wrmsr_on_cpu'

---
 arch/x86/include/asm/msr.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
arch/x86/include/asm/msr.h +4 -4
index e49c14e..0b73f73 100644
@@ -227,8 +227,8 @@ do {                                                            \
 #ifdef CONFIG_SMP
 int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
 int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
-int rdmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs);
-int wrmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs);
+int rdmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr **msrs);
+int wrmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr **msrs);
 int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
 int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
 #else  /*  CONFIG_SMP  */
@@ -245,12 +245,12 @@ static inline int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
 static inline int rdmsr_on_cpus(const cpumask_t *m, u32 msr_no,
 				struct msr **msrs)
 {
-	return rdmsr_on_cpu(msr_no, &(msrs[0].l), &(msrs[0].h));
+	return rdmsr_on_cpu(0, msr_no, &(msrs[0]->l), &(msrs[0]->h));
 }
 static inline int wrmsr_on_cpus(const cpumask_t *m, u32 msr_no,
 				struct msr **msrs)
 {
-	return wrmsr_on_cpu(msr_no, msrs[0].l, msrs[0].h);
+	return wrmsr_on_cpu(0, msr_no, msrs[0]->l, msrs[0]->h);
 }
 static inline int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no,
 				    u32 *l, u32 *h)
Signature · 1 line
1.6.3.1
#1 lore raw
Quoted 4 lines · Alexander Beregalov

Hi Borislav,

What do you think about this fix?
I have no idea what value should be for the cpu variable.

This patch should be better.
This is !SMP code, then cpu=0 is ok.

From: Alexander Beregalov <[email protected]>
Subject: [PATCH] x86: msr.h: fix build error

Fix this build error:
.../asm/msr.h: In function 'rdmsr_on_cpus':
.../asm/msr.h:248: error: request for member 'l' in something not a structure or union .../asm/msr.h:248: error: request for member 'h' in something not a structure or union .../asm/msr.h:248: error: too few arguments to function 'rdmsr_on_cpu' .../asm/msr.h: In function 'wrmsr_on_cpus':
.../asm/msr.h:253: error: request for member 'l' in something not a structure or union .../asm/msr.h:253: error: request for member 'h' in something not a structure or union .../asm/msr.h:253: error: too few arguments to function 'wrmsr_on_cpu'

This is !SMP code so cpu should be 0.

---

 arch/x86/include/asm/msr.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
arch/x86/include/asm/msr.h +4 -4
index e49c14e..fa082ba 100644
@@ -243,14 +243,14 @@ static inline int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
 	return 0;
 }
 static inline int rdmsr_on_cpus(const cpumask_t *m, u32 msr_no,
-				struct msr **msrs)
+				struct msr *msrs)
 {
-	return rdmsr_on_cpu(msr_no, &(msrs[0].l), &(msrs[0].h));
+	return rdmsr_on_cpu(0, msr_no, &(msrs[0].l), &(msrs[0].h));
 }
 static inline int wrmsr_on_cpus(const cpumask_t *m, u32 msr_no,
-				struct msr **msrs)
+				struct msr *msrs)
 {
-	return wrmsr_on_cpu(msr_no, msrs[0].l, msrs[0].h);
+	return wrmsr_on_cpu(0, msr_no, msrs[0].l, msrs[0].h);
 }
 static inline int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no,
 				    u32 *l, u32 *h)
#2 lore raw
Quoted 23 lines · Alexander Beregalov
Quoted 4 lines · Alexander Beregalov

Hi Borislav,

What do you think about this fix?
I have no idea what value should be for the cpu variable.

This patch should be better.
This is !SMP code, then cpu=0 is ok.

From: Alexander Beregalov <[email protected]>
Subject: [PATCH] x86: msr.h: fix build error

Fix this build error:
.../asm/msr.h: In function 'rdmsr_on_cpus':
.../asm/msr.h:248: error: request for member 'l' in something not a structure or union .../asm/msr.h:248: error: request for member 'h' in something not a structure or union .../asm/msr.h:248: error: too few arguments to function 'rdmsr_on_cpu' .../asm/msr.h: In function 'wrmsr_on_cpus':
.../asm/msr.h:253: error: request for member 'l' in something not a structure or union .../asm/msr.h:253: error: request for member 'h' in something not a structure or union .../asm/msr.h:253: error: too few arguments to function 'wrmsr_on_cpu'

Quoted 3 lines

This is !SMP code so cpu should be 0.

thanks, applied.

Signature · 8 lines
Regards/Gruss,
Boris.

Operating | Advanced Micro Devices GmbH
  System  | Karl-Hammerschmidt-Str. 34, 85609 Dornach b. München, Germany
 Research | Geschäftsführer: Thomas M. McCoy, Giuliano Meroni
  Center  | Sitz: Dornach, Gemeinde Aschheim, Landkreis München
  (OSRC)  | Registergericht München, HRB Nr. 43632