[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 10:16:19 +0200 |
On 14.08.2013, at 10:11, Marc Zyngier wrote:
> On 2013-08-14 07:32, Alexander Graf wrote:
>> 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.
>
> Well, we're already there. A15 supports both classic page tables and LPAE.
>
> You can discover which one is being used by inspecting the guest, and I'd
> fully expect future versions of the architecture to expose bits in the ID
> registers indicating the various supported extensions.
Can you fetch those from user space? If so, we should probably create a "host"
CPU type class on the fly from the host's ID registers that adjusts itself to
the correct callbacks.
Alex
- [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, 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, Marc Zyngier, 2013/08/14
- 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, 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
- 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
- Re: [Qemu-devel] [RFC 0/2] target-arm: Provide '-cpu host' when running KVM, Alexander Graf, 2013/08/14