On 09/10/2013 12:41 PM, Richard W.M. Jones wrote:
On Tue, Sep 10, 2013 at 12:27:48PM -0400, William Cohen wrote:
> On 09/07/2013 08:16 AM, Richard W.M. Jones wrote:
>> On Sat, Sep 07, 2013 at 01:02:39PM +0100, Richard W.M. Jones wrote:
>>> All places in general where ENXIO might be returned are related to the
>>> function "irqchip_in_kernel" and the mysterious "VGIC"
>>> I guess is doing interrupt routing like APIC on PCs?)
>> The solution was some creative grepping of the qemu sources:
>> -machine accel=kvm:tcg,kernel_irqchip=off
>> Works great (except of course virtio-serial is still broken). I seem
>> to be getting there, slowly ...
> Hi Rich,
> Thanks for the tip above. I was able to get virtualization running on my Samsung ARM
chromebook (using a nv-uboot that turns on HYP and a locally built 3.11 kernel with a
Interesting .. which/what is "nv-uboot" and where did you get it from?
I used the u-boot described in
This u-boot doesn't seem to understand initramfs, so the kernel I am using has some
things compiled in rather than modules.
For the linux-3.11 kernel I also had to use a patch based on:
Peter Robinson mentioned there are some other patches submitted for review that are
suppose to accomplished the same.
> This particular image uses a 3.6.10 linux kernel. The URL above mentions that DTB
files are needed for newer kernels. Is there a particular DTB file that would be best to
use? There seems to be several vexpress*.dtb files to choose from.
-M vexpress-a9 \
-dtb /boot/dtb-....../vexpress-v2p-ca9.dtb \
-machine accel=kvm:tcg,kernel_irqchip=off \
Okay I will try "-M vexpress-a9 -dtb ..vexpress-v2p-ca9.dtb"
I tried to run a couple of the systemtap virtualization examples on the host
it looks like the some of the kernel tracepoint that are available for x86:
kernel.trace("kvm_entry") and kernel.trace("kvm_exit") are not
available on my kernel. However, I do see the trace points defined on:
And look to be used in the 3.11
Maybe the kernel doesn't have some config set correctly. There are some
kernel.trace("kvm_*") that are listed on the host kernel:
$ sudo stap -L 'kernel.trace("kvm_*")'
kernel.trace("kvm_ack_irq") $irqchip:unsigned int $pin:unsigned int
kernel.trace("kvm_age_page") $hva:ulong $slot:struct kvm_memory_slot* $ref:int
kernel.trace("kvm_mmio") $type:int $len:int $gpa:u64 $val:u64
kernel.trace("kvm_set_irq") $gsi:unsigned int $level:int $irq_source_id:int
kernel.trace("kvm_userspace_exit") $reason:__u32 $errno:int
The kvm trace event that were found are defined in