All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/9] x86: define CPUINFO_features used as the base offset for cpu features
@ 2014-04-28  3:13 Feng Wu
  2014-04-28  8:55 ` Andrew Cooper
  0 siblings, 1 reply; 3+ messages in thread
From: Feng Wu @ 2014-04-28  3:13 UTC (permalink / raw)
  To: xen-devel
  Cc: kevin.tian, Feng Wu, JBeulich, andrew.cooper3, eddie.dong,
	jun.nakajima, ian.campbell

This patch defines CPUINFO_features which can be used as the base of
the offset for cpu features.

Signed-off-by: Feng Wu <feng.wu@intel.com>
---
 xen/arch/x86/boot/head.S          | 2 +-
 xen/arch/x86/x86_64/asm-offsets.c | 2 +-
 xen/include/asm-x86/asm_defns.h   | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 1777c17..2b5b26a 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -131,7 +131,7 @@ __start:
         mov     $0x80000001,%eax
         cpuid
 1:      mov     %edx,sym_phys(cpuid_ext_features)
-        mov     %edx,sym_phys(boot_cpu_data)+CPUINFO86_ext_features
+        mov     %edx,sym_phys(boot_cpu_data)+CPUINFO_ext_features
 
         /* Check for availability of long mode. */
         bt      $29,%edx
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index b0098b3..76fafb9 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -159,7 +159,7 @@ void __dummy__(void)
     OFFSET(IRQSTAT_softirq_pending, irq_cpustat_t, __softirq_pending);
     BLANK();
 
-    OFFSET(CPUINFO86_ext_features, struct cpuinfo_x86, x86_capability[1]);
+    OFFSET(CPUINFO_features, struct cpuinfo_x86, x86_capability[0]);
     BLANK();
 
     OFFSET(MB_flags, multiboot_info_t, flags);
diff --git a/xen/include/asm-x86/asm_defns.h b/xen/include/asm-x86/asm_defns.h
index a4601ba..e8fa989 100644
--- a/xen/include/asm-x86/asm_defns.h
+++ b/xen/include/asm-x86/asm_defns.h
@@ -29,6 +29,8 @@ void ret_from_intr(void);
     " .previous\n"
 #endif
 
+#define CPUINFO_ext_features (CPUINFO_features+4)
+
 #define _ASM_EXTABLE(from, to)     _ASM__EXTABLE(, from, to)
 #define _ASM_PRE_EXTABLE(from, to) _ASM__EXTABLE(.pre, from, to)
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 1/9] x86: define CPUINFO_features used as the base offset for cpu features
  2014-04-28  3:13 [PATCH v3 1/9] x86: define CPUINFO_features used as the base offset for cpu features Feng Wu
@ 2014-04-28  8:55 ` Andrew Cooper
  2014-04-28  9:13   ` Jan Beulich
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Cooper @ 2014-04-28  8:55 UTC (permalink / raw)
  To: Feng Wu
  Cc: kevin.tian, ian.campbell, eddie.dong, xen-devel, JBeulich, jun.nakajima

On 28/04/14 04:13, Feng Wu wrote:
> This patch defines CPUINFO_features which can be used as the base of
> the offset for cpu features.
>
> Signed-off-by: Feng Wu <feng.wu@intel.com>
> ---
>  xen/arch/x86/boot/head.S          | 2 +-
>  xen/arch/x86/x86_64/asm-offsets.c | 2 +-
>  xen/include/asm-x86/asm_defns.h   | 2 ++
>  3 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 1777c17..2b5b26a 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -131,7 +131,7 @@ __start:
>          mov     $0x80000001,%eax
>          cpuid
>  1:      mov     %edx,sym_phys(cpuid_ext_features)
> -        mov     %edx,sym_phys(boot_cpu_data)+CPUINFO86_ext_features
> +        mov     %edx,sym_phys(boot_cpu_data)+CPUINFO_ext_features

Personally I feel this would be better as CPUINFO_features + 4, rather
than having another #define in asm_defn.h solely for this purpose.

However, functionally it looks fine.

~Andrew

>  
>          /* Check for availability of long mode. */
>          bt      $29,%edx
> diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
> index b0098b3..76fafb9 100644
> --- a/xen/arch/x86/x86_64/asm-offsets.c
> +++ b/xen/arch/x86/x86_64/asm-offsets.c
> @@ -159,7 +159,7 @@ void __dummy__(void)
>      OFFSET(IRQSTAT_softirq_pending, irq_cpustat_t, __softirq_pending);
>      BLANK();
>  
> -    OFFSET(CPUINFO86_ext_features, struct cpuinfo_x86, x86_capability[1]);
> +    OFFSET(CPUINFO_features, struct cpuinfo_x86, x86_capability[0]);
>      BLANK();
>  
>      OFFSET(MB_flags, multiboot_info_t, flags);
> diff --git a/xen/include/asm-x86/asm_defns.h b/xen/include/asm-x86/asm_defns.h
> index a4601ba..e8fa989 100644
> --- a/xen/include/asm-x86/asm_defns.h
> +++ b/xen/include/asm-x86/asm_defns.h
> @@ -29,6 +29,8 @@ void ret_from_intr(void);
>      " .previous\n"
>  #endif
>  
> +#define CPUINFO_ext_features (CPUINFO_features+4)
> +
>  #define _ASM_EXTABLE(from, to)     _ASM__EXTABLE(, from, to)
>  #define _ASM_PRE_EXTABLE(from, to) _ASM__EXTABLE(.pre, from, to)
>  

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 1/9] x86: define CPUINFO_features used as the base offset for cpu features
  2014-04-28  8:55 ` Andrew Cooper
@ 2014-04-28  9:13   ` Jan Beulich
  0 siblings, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2014-04-28  9:13 UTC (permalink / raw)
  To: Andrew Cooper, Feng Wu
  Cc: kevin.tian, eddie.dong, ian.campbell, jun.nakajima, xen-devel

>>> On 28.04.14 at 10:55, <andrew.cooper3@citrix.com> wrote:
> On 28/04/14 04:13, Feng Wu wrote:
>> This patch defines CPUINFO_features which can be used as the base of
>> the offset for cpu features.
>>
>> Signed-off-by: Feng Wu <feng.wu@intel.com>
>> ---
>>  xen/arch/x86/boot/head.S          | 2 +-
>>  xen/arch/x86/x86_64/asm-offsets.c | 2 +-
>>  xen/include/asm-x86/asm_defns.h   | 2 ++
>>  3 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
>> index 1777c17..2b5b26a 100644
>> --- a/xen/arch/x86/boot/head.S
>> +++ b/xen/arch/x86/boot/head.S
>> @@ -131,7 +131,7 @@ __start:
>>          mov     $0x80000001,%eax
>>          cpuid
>>  1:      mov     %edx,sym_phys(cpuid_ext_features)
>> -        mov     %edx,sym_phys(boot_cpu_data)+CPUINFO86_ext_features
>> +        mov     %edx,sym_phys(boot_cpu_data)+CPUINFO_ext_features
> 
> Personally I feel this would be better as CPUINFO_features + 4, rather
> than having another #define in asm_defn.h solely for this purpose.

It should indeed be done here, without the extra #define, but also
without the literal 4. Our main goal here is to collect the LM bit, so
just calculate the number from X86_FEATURE_LM.

Jan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-04-28  9:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-28  3:13 [PATCH v3 1/9] x86: define CPUINFO_features used as the base offset for cpu features Feng Wu
2014-04-28  8:55 ` Andrew Cooper
2014-04-28  9:13   ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.