Re: [RFC 0/2] target-arm: Provide '-cpu host' when running KVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm



[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux