* [patch 0/2] A few fixes for make and cpuid
@ 2013-05-28 11:49 Cyrill Gorcunov
2013-05-28 11:49 ` [patch 1/2] tools: lkvm - Dont generate deps and verion file on clean target Cyrill Gorcunov
2013-05-28 11:49 ` [patch 2/2] tools: lkvm - Filter out cpu vendor string Cyrill Gorcunov
0 siblings, 2 replies; 11+ messages in thread
From: Cyrill Gorcunov @ 2013-05-28 11:49 UTC (permalink / raw)
To: Pekka Enberg; +Cc: mingo, sasha.levin, asias, kvm
Hi guys, here are a couple of fixes for "make clean" and cpuid filtering.
Please give them a shot.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [patch 1/2] tools: lkvm - Dont generate deps and verion file on clean target
2013-05-28 11:49 [patch 0/2] A few fixes for make and cpuid Cyrill Gorcunov
@ 2013-05-28 11:49 ` Cyrill Gorcunov
2013-05-28 11:49 ` [patch 2/2] tools: lkvm - Filter out cpu vendor string Cyrill Gorcunov
1 sibling, 0 replies; 11+ messages in thread
From: Cyrill Gorcunov @ 2013-05-28 11:49 UTC (permalink / raw)
To: Pekka Enberg; +Cc: mingo, sasha.levin, asias, kvm, Cyrill Gorcunov
[-- Attachment #1: kvm-clean --]
[-- Type: text/plain, Size: 1279 bytes --]
This is redundant since we're to remove them right after
being generated.
CC: Ingo Molnar <mingo@kernel.org>
CC: Pekka Enberg <penberg@kernel.org>
CC: Sasha Levin <sasha.levin@oracle.com>
CC: Asias He <asias@redhat.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
---
tools/kvm/Makefile | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
Index: linux-2.6.git/tools/kvm/Makefile
===================================================================
--- linux-2.6.git.orig/tools/kvm/Makefile
+++ linux-2.6.git/tools/kvm/Makefile
@@ -324,10 +324,6 @@ all: arch_support_check $(PROGRAM) $(PRO
arch_support_check:
$(UNSUPP_ERR)
-KVMTOOLS-VERSION-FILE:
- @$(SHELL_PATH) util/KVMTOOLS-VERSION-GEN $(OUTPUT)
--include $(OUTPUT)KVMTOOLS-VERSION-FILE
-
# When building -static all objects are built with appropriate flags, which
# may differ between static & dynamic .o. The objects are separated into
# .o and .static.o. See the %.o: %.c rules below.
@@ -504,5 +500,12 @@ cscope:
$(Q) $(CSCOPE) -bkqu
.PHONY: cscope
-# Deps
+#
+# Escape redundant work on cleaning up
+ifneq ($(MAKECMDGOALS),clean)
-include $(DEPS)
+
+KVMTOOLS-VERSION-FILE:
+ @$(SHELL_PATH) util/KVMTOOLS-VERSION-GEN $(OUTPUT)
+-include $(OUTPUT)KVMTOOLS-VERSION-FILE
+endif
^ permalink raw reply [flat|nested] 11+ messages in thread
* [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-05-28 11:49 [patch 0/2] A few fixes for make and cpuid Cyrill Gorcunov
2013-05-28 11:49 ` [patch 1/2] tools: lkvm - Dont generate deps and verion file on clean target Cyrill Gorcunov
@ 2013-05-28 11:49 ` Cyrill Gorcunov
2013-06-06 12:03 ` Pekka Enberg
1 sibling, 1 reply; 11+ messages in thread
From: Cyrill Gorcunov @ 2013-05-28 11:49 UTC (permalink / raw)
To: Pekka Enberg; +Cc: mingo, sasha.levin, asias, kvm, Cyrill Gorcunov
[-- Attachment #1: kvm-cpuid --]
[-- Type: text/plain, Size: 1371 bytes --]
If cpuvendor string is not filetered in case of host
amd machine we get unhandled msr reads
| [1709265.368464] kvm: 25706: cpu6 unhandled rdmsr: 0xc0010048
| [1709265.397161] kvm: 25706: cpu7 unhandled rdmsr: 0xc0010048
| [1709265.425774] kvm: 25706: cpu8 unhandled rdmsr: 0xc0010048
thus provide own string and kernel will use generic cpu init.
Reported-by: Ingo Molnar <mingo@kernel.org>
CC: Pekka Enberg <penberg@kernel.org>
CC: Sasha Levin <sasha.levin@oracle.com>
CC: Asias He <asias@redhat.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
---
tools/kvm/x86/cpuid.c | 8 ++++++++
1 file changed, 8 insertions(+)
Index: linux-2.6.git/tools/kvm/x86/cpuid.c
===================================================================
--- linux-2.6.git.orig/tools/kvm/x86/cpuid.c
+++ linux-2.6.git/tools/kvm/x86/cpuid.c
@@ -12,6 +12,7 @@
static void filter_cpuid(struct kvm_cpuid2 *kvm_cpuid)
{
+ unsigned int signature[3];
unsigned int i;
/*
@@ -21,6 +22,13 @@ static void filter_cpuid(struct kvm_cpui
struct kvm_cpuid_entry2 *entry = &kvm_cpuid->entries[i];
switch (entry->function) {
+ case 0:
+ /* Vendor name */
+ memcpy(signature, "LKVMLKVMLKVM", 12);
+ entry->ebx = signature[0];
+ entry->ecx = signature[1];
+ entry->edx = signature[2];
+ break;
case 1:
/* Set X86_FEATURE_HYPERVISOR */
if (entry->index == 0)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-05-28 11:49 ` [patch 2/2] tools: lkvm - Filter out cpu vendor string Cyrill Gorcunov
@ 2013-06-06 12:03 ` Pekka Enberg
2013-06-06 12:06 ` Cyrill Gorcunov
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Pekka Enberg @ 2013-06-06 12:03 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: Ingo Molnar, Sasha Levin, Asias He, KVM General
On Tue, May 28, 2013 at 2:49 PM, Cyrill Gorcunov <gorcunov@openvz.org> wrote:
> If cpuvendor string is not filetered in case of host
> amd machine we get unhandled msr reads
>
> | [1709265.368464] kvm: 25706: cpu6 unhandled rdmsr: 0xc0010048
> | [1709265.397161] kvm: 25706: cpu7 unhandled rdmsr: 0xc0010048
> | [1709265.425774] kvm: 25706: cpu8 unhandled rdmsr: 0xc0010048
>
> thus provide own string and kernel will use generic cpu init.
>
> Reported-by: Ingo Molnar <mingo@kernel.org>
> CC: Pekka Enberg <penberg@kernel.org>
> CC: Sasha Levin <sasha.levin@oracle.com>
> CC: Asias He <asias@redhat.com>
> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
> ---
> tools/kvm/x86/cpuid.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> Index: linux-2.6.git/tools/kvm/x86/cpuid.c
> ===================================================================
> --- linux-2.6.git.orig/tools/kvm/x86/cpuid.c
> +++ linux-2.6.git/tools/kvm/x86/cpuid.c
> @@ -12,6 +12,7 @@
>
> static void filter_cpuid(struct kvm_cpuid2 *kvm_cpuid)
> {
> + unsigned int signature[3];
> unsigned int i;
>
> /*
> @@ -21,6 +22,13 @@ static void filter_cpuid(struct kvm_cpui
> struct kvm_cpuid_entry2 *entry = &kvm_cpuid->entries[i];
>
> switch (entry->function) {
> + case 0:
> + /* Vendor name */
> + memcpy(signature, "LKVMLKVMLKVM", 12);
> + entry->ebx = signature[0];
> + entry->ecx = signature[1];
> + entry->edx = signature[2];
> + break;
> case 1:
> /* Set X86_FEATURE_HYPERVISOR */
> if (entry->index == 0)
Ping! Is there someone out there who has a AMD box they could test this on?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-06-06 12:03 ` Pekka Enberg
@ 2013-06-06 12:06 ` Cyrill Gorcunov
2013-06-06 13:39 ` Asias He
2013-06-07 8:17 ` Asias He
2 siblings, 0 replies; 11+ messages in thread
From: Cyrill Gorcunov @ 2013-06-06 12:06 UTC (permalink / raw)
To: Pekka Enberg; +Cc: Ingo Molnar, Sasha Levin, Asias He, KVM General
On Thu, Jun 06, 2013 at 03:03:03PM +0300, Pekka Enberg wrote:
> > /* Set X86_FEATURE_HYPERVISOR */
> > if (entry->index == 0)
>
> Ping! Is there someone out there who has a AMD box they could test this on?
I don't have it, sorry :-(
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-06-06 12:03 ` Pekka Enberg
2013-06-06 12:06 ` Cyrill Gorcunov
@ 2013-06-06 13:39 ` Asias He
2013-06-07 8:17 ` Asias He
2 siblings, 0 replies; 11+ messages in thread
From: Asias He @ 2013-06-06 13:39 UTC (permalink / raw)
To: Pekka Enberg
Cc: Cyrill Gorcunov, Ingo Molnar, Sasha Levin, Asias He, KVM General
On Thu, Jun 6, 2013 at 8:03 PM, Pekka Enberg <penberg@kernel.org> wrote:
> On Tue, May 28, 2013 at 2:49 PM, Cyrill Gorcunov <gorcunov@openvz.org> wrote:
>> If cpuvendor string is not filetered in case of host
>> amd machine we get unhandled msr reads
>>
>> | [1709265.368464] kvm: 25706: cpu6 unhandled rdmsr: 0xc0010048
>> | [1709265.397161] kvm: 25706: cpu7 unhandled rdmsr: 0xc0010048
>> | [1709265.425774] kvm: 25706: cpu8 unhandled rdmsr: 0xc0010048
>>
>> thus provide own string and kernel will use generic cpu init.
>>
>> Reported-by: Ingo Molnar <mingo@kernel.org>
>> CC: Pekka Enberg <penberg@kernel.org>
>> CC: Sasha Levin <sasha.levin@oracle.com>
>> CC: Asias He <asias@redhat.com>
>> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
>> ---
>> tools/kvm/x86/cpuid.c | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> Index: linux-2.6.git/tools/kvm/x86/cpuid.c
>> ===================================================================
>> --- linux-2.6.git.orig/tools/kvm/x86/cpuid.c
>> +++ linux-2.6.git/tools/kvm/x86/cpuid.c
>> @@ -12,6 +12,7 @@
>>
>> static void filter_cpuid(struct kvm_cpuid2 *kvm_cpuid)
>> {
>> + unsigned int signature[3];
>> unsigned int i;
>>
>> /*
>> @@ -21,6 +22,13 @@ static void filter_cpuid(struct kvm_cpui
>> struct kvm_cpuid_entry2 *entry = &kvm_cpuid->entries[i];
>>
>> switch (entry->function) {
>> + case 0:
>> + /* Vendor name */
>> + memcpy(signature, "LKVMLKVMLKVM", 12);
>> + entry->ebx = signature[0];
>> + entry->ecx = signature[1];
>> + entry->edx = signature[2];
>> + break;
>> case 1:
>> /* Set X86_FEATURE_HYPERVISOR */
>> if (entry->index == 0)
>
> Ping! Is there someone out there who has a AMD box they could test this on?
I will try to find one.
--
Asias
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-06-06 12:03 ` Pekka Enberg
2013-06-06 12:06 ` Cyrill Gorcunov
2013-06-06 13:39 ` Asias He
@ 2013-06-07 8:17 ` Asias He
2013-06-07 11:06 ` Pekka Enberg
2 siblings, 1 reply; 11+ messages in thread
From: Asias He @ 2013-06-07 8:17 UTC (permalink / raw)
To: Pekka Enberg
Cc: Cyrill Gorcunov, Ingo Molnar, Sasha Levin, Asias He, KVM General
On Thu, Jun 6, 2013 at 8:03 PM, Pekka Enberg <penberg@kernel.org> wrote:
> On Tue, May 28, 2013 at 2:49 PM, Cyrill Gorcunov <gorcunov@openvz.org> wrote:
>> If cpuvendor string is not filetered in case of host
>> amd machine we get unhandled msr reads
>>
>> | [1709265.368464] kvm: 25706: cpu6 unhandled rdmsr: 0xc0010048
>> | [1709265.397161] kvm: 25706: cpu7 unhandled rdmsr: 0xc0010048
>> | [1709265.425774] kvm: 25706: cpu8 unhandled rdmsr: 0xc0010048
>>
>> thus provide own string and kernel will use generic cpu init.
>>
>> Reported-by: Ingo Molnar <mingo@kernel.org>
>> CC: Pekka Enberg <penberg@kernel.org>
>> CC: Sasha Levin <sasha.levin@oracle.com>
>> CC: Asias He <asias@redhat.com>
>> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
>> ---
>> tools/kvm/x86/cpuid.c | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> Index: linux-2.6.git/tools/kvm/x86/cpuid.c
>> ===================================================================
>> --- linux-2.6.git.orig/tools/kvm/x86/cpuid.c
>> +++ linux-2.6.git/tools/kvm/x86/cpuid.c
>> @@ -12,6 +12,7 @@
>>
>> static void filter_cpuid(struct kvm_cpuid2 *kvm_cpuid)
>> {
>> + unsigned int signature[3];
>> unsigned int i;
>>
>> /*
>> @@ -21,6 +22,13 @@ static void filter_cpuid(struct kvm_cpui
>> struct kvm_cpuid_entry2 *entry = &kvm_cpuid->entries[i];
>>
>> switch (entry->function) {
>> + case 0:
>> + /* Vendor name */
>> + memcpy(signature, "LKVMLKVMLKVM", 12);
>> + entry->ebx = signature[0];
>> + entry->ecx = signature[1];
>> + entry->edx = signature[2];
>> + break;
>> case 1:
>> /* Set X86_FEATURE_HYPERVISOR */
>> if (entry->index == 0)
>
> Ping! Is there someone out there who has a AMD box they could test this on?
I tested it on AMD box. Guest boots with this patch, guest does not
boot without it. I am not seeing the msr warning in both cases.
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Asias
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-06-07 8:17 ` Asias He
@ 2013-06-07 11:06 ` Pekka Enberg
2013-06-07 12:20 ` Asias He
0 siblings, 1 reply; 11+ messages in thread
From: Pekka Enberg @ 2013-06-07 11:06 UTC (permalink / raw)
To: Asias He; +Cc: Cyrill Gorcunov, Ingo Molnar, Sasha Levin, Asias He, KVM General
On 06/07/2013 11:17 AM, Asias He wrote:
>> Ping! Is there someone out there who has a AMD box they could test this on?
>
> I tested it on AMD box. Guest boots with this patch, guest does not
> boot without it. I am not seeing the msr warning in both cases.
That's pretty interesting. Can you please provide your /proc/cpuinfo so
I can include it in the changelog?
Pekka
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-06-07 11:06 ` Pekka Enberg
@ 2013-06-07 12:20 ` Asias He
2013-06-07 13:39 ` Asias He
0 siblings, 1 reply; 11+ messages in thread
From: Asias He @ 2013-06-07 12:20 UTC (permalink / raw)
To: Pekka Enberg
Cc: Asias He, Cyrill Gorcunov, Ingo Molnar, Sasha Levin, KVM General
On Fri, Jun 07, 2013 at 02:06:40PM +0300, Pekka Enberg wrote:
> On 06/07/2013 11:17 AM, Asias He wrote:
> >>Ping! Is there someone out there who has a AMD box they could test this on?
> >
> >I tested it on AMD box. Guest boots with this patch, guest does not
> >boot without it. I am not seeing the msr warning in both cases.
>
> That's pretty interesting. Can you please provide your /proc/cpuinfo
> so I can include it in the changelog?
Indeed. Here you go:
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
model : 1
model name : AMD Opteron(TM) Processor 6274
stepping : 2
microcode : 0x6000626
cpu MHz : 2200.034
cache size : 2048 KB
physical id : 0
siblings : 16
core id : 0
cpu cores : 8
apicid : 32
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc
extd_apicid amd_dcm aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1
sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy
abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4
nodeid_msr topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv
svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists
pausefilter pfthreshold
bogomips : 4400.06
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb
--
Asias
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-06-07 12:20 ` Asias He
@ 2013-06-07 13:39 ` Asias He
2013-06-08 11:48 ` Pekka Enberg
0 siblings, 1 reply; 11+ messages in thread
From: Asias He @ 2013-06-07 13:39 UTC (permalink / raw)
To: Pekka Enberg
Cc: Asias He, Cyrill Gorcunov, Ingo Molnar, Sasha Levin, KVM General
On Fri, Jun 07, 2013 at 08:20:33PM +0800, Asias He wrote:
> On Fri, Jun 07, 2013 at 02:06:40PM +0300, Pekka Enberg wrote:
> > On 06/07/2013 11:17 AM, Asias He wrote:
> > >>Ping! Is there someone out there who has a AMD box they could test this on?
> > >
> > >I tested it on AMD box. Guest boots with this patch, guest does not
> > >boot without it. I am not seeing the msr warning in both cases.
> >
> > That's pretty interesting. Can you please provide your /proc/cpuinfo
> > so I can include it in the changelog?
>
> Indeed. Here you go:
>
> processor : 0
> vendor_id : AuthenticAMD
> cpu family : 21
> model : 1
> model name : AMD Opteron(TM) Processor 6274
> stepping : 2
> microcode : 0x6000626
> cpu MHz : 2200.034
> cache size : 2048 KB
> physical id : 0
> siblings : 16
> core id : 0
> cpu cores : 8
> apicid : 32
> initial apicid : 0
> fpu : yes
> fpu_exception : yes
> cpuid level : 13
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
> fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc
> extd_apicid amd_dcm aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1
> sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy
> abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4
> nodeid_msr topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv
> svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists
> pausefilter pfthreshold
> bogomips : 4400.06
> TLB size : 1536 4K pages
> clflush size : 64
> cache_alignment : 64
> address sizes : 48 bits physical, 48 bits virtual
> power management: ts ttp tm 100mhzsteps hwpstate cpb
And in guest:
# cat /proc/cpuinfo
processor : 0
vendor_id : LKVMLKVMLKVM
cpu family : 21
model : 1
model name : 15/01
stepping : 2
cpu MHz : 0.000
cache size : 0 KB
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt
pdpe1gb lm nopl pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes
xsave avx hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a
misalignsse 3dnowprefetch osvw xop fma4 npt nrip_save tsc_adjust
bogomips : 1340.41
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management:
--
Asias
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [patch 2/2] tools: lkvm - Filter out cpu vendor string
2013-06-07 13:39 ` Asias He
@ 2013-06-08 11:48 ` Pekka Enberg
0 siblings, 0 replies; 11+ messages in thread
From: Pekka Enberg @ 2013-06-08 11:48 UTC (permalink / raw)
To: Asias He; +Cc: Asias He, Cyrill Gorcunov, Ingo Molnar, Sasha Levin, KVM General
Applied, thanks a lot!
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-06-08 11:48 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-28 11:49 [patch 0/2] A few fixes for make and cpuid Cyrill Gorcunov
2013-05-28 11:49 ` [patch 1/2] tools: lkvm - Dont generate deps and verion file on clean target Cyrill Gorcunov
2013-05-28 11:49 ` [patch 2/2] tools: lkvm - Filter out cpu vendor string Cyrill Gorcunov
2013-06-06 12:03 ` Pekka Enberg
2013-06-06 12:06 ` Cyrill Gorcunov
2013-06-06 13:39 ` Asias He
2013-06-07 8:17 ` Asias He
2013-06-07 11:06 ` Pekka Enberg
2013-06-07 12:20 ` Asias He
2013-06-07 13:39 ` Asias He
2013-06-08 11:48 ` Pekka Enberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox