qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: qemu compiling error on ppc64 : kvm.c:81: error: ‘stru


From: Alexander Graf
Subject: [Qemu-devel] Re: qemu compiling error on ppc64 : kvm.c:81: error: ‘struct kvm_sregs’ has no member named ‘pvr’
Date: Tue, 15 Feb 2011 15:33:09 +0100

On 15.02.2011, at 15:21, Dushyant Bansal wrote:

> 
>>>> Hrm. This means that your kernel headers in /usr/include/linux are too 
>>>> old. Can you try and find out which kernel version they are from please
>>>> 
>>>>       
>>> Yes, kernel headers version is 2.6.32. For the time being, I copied some of 
>>> the header files from kvm/arch/powerpc/include/asm/ to kernel headers and 
>>> qemu build was successful.
>>> Thanks a lot.
>>>     
>> Awesome! I'm eager to hear how well it works for you :)
> 
> I collected some performance stats using kvm_stat. To get more information 
> about exit counts of individual instructions, I configured CFLAGS_emulate.o 
> with DDEBUG flag.
> Now, I can see output of  "pr_debug("Emulating opcode %d / %d\n", 
> get_op(inst), get_xop(inst));" instruction in kernel logs.
> I have two queries:
> 
> 1. The count of "Emulating opcode...." statement in /var/log/kern.log (3 
> million) is coming out to be much less than emulated_inst_exits (22 million) 
> using kvm_stat.

The kernel log ring buffer is probably faster filled than read :).

> 2. How to configure makefiles to get output of printk statements inside 
> kvm/arch/powerpc/kvm/trace.h

Better don't make them printks - just use the tracing framework. I'd write up a 
small howto here myself, but I'm pretty much on the jump to my plane for 
vacation. Avi, could you please guide him a bit on how to get data out of 
tracepoints?

> Also, every time I start kvm, I get this error "KVM: Couldn't find level irq 
> capability. Expect the VM to stall at times". After some time, the VM just 
> hangs. I traced this output to qemu/target-ppc/kvm.c Is there any way to 
> avoid it.

This means exactly what it means. There are two possible causes:

1) Your kernel is too old and doesn't support the capability
2) Qemu was compiled with kernel headers that don't know the capability yet

If it's 2, just copy some of the kvm*.h files from your kernel source over to 
/usr/include/linux or /usr/include/asm-powerpc and fix them up to compile 
(remove __user).


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]