On 13.08.2013, at 20:03, Peter Maydell wrote: > These patches add support to target-arm for '-cpu host'. > The general semantics are the same as for ppc and x86 (ie "whatever > the host kernel can support that looks basically like the host > CPU"), but the mechanism is a little different. > > The kernel API (currently still proposed rather than implemented, > hence the RFC nature of this patchset) is that the existing > KVM_ARM_VCPU_INIT supports a new 'target' value KVM_ARM_TARGET_HOST, > which it treats as "whatever you are". On the userspace side, > we use this if the kernel supports it. If it doesn't then we > know the kernel must be an A15-on-A15 only one, and so can > safely implement '-cpu host' with KVM_ARM_TARGET_CORTEX_A15. How do you know what core specific registers QEMU can expect from this particular CPU? Imagine ARM changes the MMU implementation in the next ARMv8 CPU. With -cpu host you wouldn't be able to support gdbstub anymore, because you wouldn't know whether the MMU format is the old or the new one. I really prefer the "probe the host, match it fuzzily with our own list, pick a specific own core" way of doing -cpu host. Then it's really only ever an alias and you don't have to worry about all these odd special cases. Alex > > In order to find out details of the vCPU so we can correctly > set up our ARMCPU objects, we create a scratch VM and a single > cpu within it; we can then use the existing "read registers" > API to access the ID registers. We do this once at startup > when we register the new QOM type. > > ('-cpu host' is also going to be useful for AArch64 because > it gives us a path to providing KVM support without having > to implement a model of a specific v8 CPU and all its system > registers...) > > Peter Maydell (2): > target-arm: Don't hardcode KVM target CPU to be A15 > target-arm: Provide '-cpu host' when running KVM > > target-arm/helper.c | 6 ++ > target-arm/kvm.c | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++- > 2 files changed, 231 insertions(+), 2 deletions(-) > > -- > 1.7.9.5 > > _______________________________________________ > kvmarm mailing list > kvmarm@xxxxxxxxxxxxxxxxxxxxx > https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm