[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM |
Date: |
Wed, 14 Aug 2013 08:32:24 +0200 |
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
> address@hidden
> https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm
- [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Peter Maydell, 2013/08/13
- [Qemu-devel] [RFC 1/2] target-arm: Don't hardcode KVM target CPU to be A15, Peter Maydell, 2013/08/13
- [Qemu-devel] [RFC 2/2] target-arm: Provide '-cpu host' when running KVM, Peter Maydell, 2013/08/13
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM,
Alexander Graf <=
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Peter Maydell, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Marc Zyngier, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Alexander Graf, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Marc Zyngier, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Alexander Graf, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Peter Maydell, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Alexander Graf, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Peter Maydell, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Alexander Graf, 2013/08/14
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Christoffer Dall, 2013/08/14