Re: Using EPT to map guest MMIO to host MMIO

Cyclonus J
2011-08-12T08:05:24Z

On Fri, Aug 5, 2011 at 2:08 AM, Jan Kiszka <jan.kiszka@siemens.com> wrote:
> On 2011-08-05 10:40, Cyclonus J wrote:
>> On Fri, Aug 5, 2011 at 12:41 AM, Jan Kiszka <jan.kiszka@siemens.com> wrote:
>>> On 2011-08-05 09:20, Cyclonus J wrote:
>>>> hi,
>>>>
>>>> I am wondering if it is possible to map guest MMIO to host MMIO, the
>>>> purpose is to reduce VM_EXIT as the page tables will be setup before
>>>> MMIO accessing from guest. Here is what I have in mind:
>>>
>>> This is already the case if you pass through devices AND aligment&size
>>> of the MMIO resource allows this.
>>
>> I assume here pass through means using VT-d?
>
> ...or AMD IOMMU. Yes.
>
>> Unfortunately, I can't
>> use it for my case and I need to para-virtualize guest OS as well.
>
> Even with PV, you can't avoid VM exits if the IO access has side
> effects, ie. is supposed to trigger some device activity. Or if it is
> backed by some logic.
>
> You can only avoid exits if MMIO behaves like RAM. But then it's better
> to use RAM directly, like virtio but also real devices do for request data.
>
> Again my question what device you want to optimize precisely.

This is for graphic card. Currently, every MMIO access with take a
VM_EXIT which is too expensive I think.

CJ

>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux
>