On 22 November 2011 15:05, Alexander Graf <agraf at suse.de> wrote: > On 22.11.2011, at 15:44, Peter Maydell <peter.maydell at linaro.org> wrote: >> We're aiming for a reasonable working prototype of A15 guest on >> an A15 Fast Model host here; we need to fix at least some of >> the bugs which currently mean upstream QEMU doesn't work on ARM hosts, > > I thought there was upstream tcg support for arm now? What specifically > doesn't work? * coroutine implementation doesn't cope if libc provides a makecontext() that returns ENOSYS (so we abort on startup) * the MAP_FIXED static codegen buffer is put at an address which overlaps the glibc heap so we crash about 50% of the time * if you try to start a standard i386 debian image which works fine on x86 host, the guest reboots just before displaying the blue-background grub image -- clearly something wrong here, not tracked down what yet * if the C code was compiled -mthumb, our choice of TCG_AREG0 clashes with the frame pointer (trivial fix but could do with a quick benchmark run to see whether making AREG0 r6 or r10 (ie thumb lowreg or high) has any effect on performance) Those are just the ones I know about... The coroutine one is the only one that KVM specifically will require a fix for, but being able to cross-compare "run with KVM" vs "run with TCG" will be handy for debugging I suspect. ARM host support is documented as "known not to work" in the 1.0 release notes (see earlier mail to qemu-devel). -- PMM