Re: [Qemu-devel] Re: QEMU-KVM and video performance

Avi Kivity
2010-04-21T20:49:57Z

On 04/21/2010 09:14 PM, Gerhard Wiesinger wrote:
>
> Can you explain which code files/functions of KVM is involved in
> handling VGA memory window and page switching through the port write
> to the VGA window register (or is that part handled through QEMU), so
> a little bit architecture explaination would be nice?

qemu hw/vga.c and hw/cirrus_vga.c. Boring functions like
vbe_ioport_write_data() and vga_ioport_write().

>
> BTW: In which KVM code parts is decided where "direct code" or an
> "emulated device code" is used?
>

Same place. Look for calls to cpu_register_physical_memory(). If the
last argument was obtained by a call to cpu_register_io_memory(), then
all writes trap. Otherwise, it was obtained by qemu_ram_alloc() and
writes will not trap (except the first write to a page in a 30ms window,
used to note that the page is dirty and needs redrawing).

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.