On 15 January 2012 22:56, Christoffer Dall <cdall at cs.columbia.edu> wrote: > On Fri, Jan 13, 2012 at 3:57 PM, Peter Maydell <peter.maydell at linaro.org> wrote: >> PPS: these patches are against qemu-master so for kvm you'd need >> to (a) rebase them on qemu-linaro (b) put the kvm patches on top >> of these (c) wait for me to do a. for you ;-) > > ok, I'll test this with the most recent KVM changes soon and also look > forward for your merge... :) vexpress-a15 now in qemu-linaro git tree. However it doesn't boot under KVM: root at LinaroE102767:~# /usr/local/bin/qemu-system-arm -enable-kvm -kernel /a15-no-lpae-uImage -m 128 -serial stdio -drive if=sd,file=/maz/vex press.img -M vexpress-a15 -display none -append "console=ttyAMA0 earlyprintk rootwait mem=128M root=/dev/mmcblk0p2 rw --debug" Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0 Linux version 3.1.0+ (petmay01 at LinaroE102767) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #19 SMP Fri Jan 13 12:23:22 GMT 2012 CPU: ARMv7 Processor [412fc0f1] revision 1 (ARMv7), cr=10c5387f CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache Machine: ARM-Versatile Express SoC: ARM VE Platform bootconsole [earlycon0] enabled Memory policy: ECC disabled, Data cache writealloc error: kvm run failed Invalid argument Aborted Under TCG the next thing printed is ct_ca15x4_init_cpu_map: ncores 1 Architected timer frequency not available sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms ...possibly the kernel side needs to implement the A15 L2 cache control register, which is where the guest kernel picks up the number of cores from; see patch 10 for the TCG version. -- PMM