Re: Re: [PATCH 3/3] Add KVM support to QEMU

Fabrice Bellard
2008-10-29T14:16:09Z

Avi Kivity wrote:
> Hollis Blanchard wrote:
>> On Tue, Oct 28, 2008 at 6:36 PM, Anthony Liguori
>> <anthony@codemonkey.ws> wrote:
>>
>>> Something I was thinking about this morning, and I think the first place
>>> where we'll definitely need a hook, is how to deal with
>>> kvm_load_registers(). I think there's overlap between KVM and the IO
>>> thread
>>> here.
>>>
>>> There are two reasons (I can think of) that most of the device model
>>> code
>>> can't run in conjunction with TCG. The first is that TCG may modify
>>> CPUState in a non-atomic way. The device model may need to access
>>> CPUState
>>> although there are very few places that it does.
>>>
>>
>> Out of curiosity, where are those places?
>>
>
> local apic -- needs to access interrupt disable flag
> acpi sleep -- halts the current processor, so tied to cpustate
> vmport -- bad ABI requires access to registers

These accesses are the exception and should be done with specific CPU
methods. IMHO, direct access to the CPU state should otherwise never be
done from devices.

Regards,

Fabrice.