* [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.