On 17/01/12 19:08, Peter Maydell wrote: > 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. I've pushed a new branch (kvm-v3.3-rc1) to my arm-platforms repo. It contains a fix (or shall we call it a horrible hack?) for the above. M. -- Jazz is not dead. It just smells funny...