|Subject:||Re: [Qemu-discuss] USE QEMU + KVM TO RUN CUSTOM KERNEL|
|Date:||Wed, 4 May 2016 11:23:35 +0200|
|User-agent:||Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0|
On 04/05/2016 10:50, giuseppe maugeri wrote:
Have you tried varying the options for the virtual video card?
Maybe the default video card does something like the
following (I am guessing):
qemu alone: Each write to the 128K block at A0000 is special
cased as a call to the video card emulator, which instantly
knows which character cell you wrote.
qemu+kvm: Each write to the 128K block at A0000 triggers a
page fault to the KVM driver which then uses a less efficient
single instruction stepper to execute the faulting
instruction (so the write actually goes through), then tells
qemu which 4K page was modified. Then qemu has to figure out
which bytes in those 4K were modified in order to figure out
which character cell(s) to need to be redrawn. Even on a fast
CPU this is not unlikely to consume the observed 25us per
The above mechanisms are probably needed to emulate the
special memory write behavior of VGA 640x480 graphics mode,
and some similar modes, but are not the most efficient way
to emulate a text mode MDA/HGA/CGA/EGA/VGA simple VRAM
buffer if the final output device is a fast display and not
e.g. a tty-protocol "terminal" or a remote X/VNC server.
Choosing a different virtual video card might result in a
different algorithm for managing the A0000/128K block when
in classic text modes.
As for the Fedora image, I don't know if that uses a different
video mode where the qemu code is more optimized (because
Fedora/RedHat are big promoters of KVM and would have
optimized the default cases to work together).
Enjoy Jakob -- Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10 This public discussion message is non-binding and may contain errors. WiseMo - Remote Service Management for PCs, Phones and Embedded
|[Prev in Thread]||Current Thread||[Next in Thread]|