qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: POLL: Why do you use kqemu?


From: Jan Kiszka
Subject: [Qemu-devel] Re: POLL: Why do you use kqemu?
Date: Sun, 07 Jun 2009 11:47:33 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

Avi Kivity wrote:
> Jan Kiszka wrote:
>>>>
>>>> Check e.g the diff of hw/vga.c against upstream: All the magic dances
>>>>  there are required as qemu-kvm tracking
>>>> cpu_register_physical_memory and
>>>>  kvm_log_start cannot cope with all the patterns normal qemu code comes
>>>>  up with. Upstream slot management now provides the same features
>>>>  (including migration) like qemu-kvm, it just does not deal with
>>>> legacy,
>>>>  thus it does not have to patch qemu code (rather, we were able to
>>>> remove
>>>>  some already merged hooks - vga_dirty_log_stop).
>>>>       
>>> Still not very restrictive, all this could be encapsulated with for
>>> example macro COMPAT_NO_DMRW which could be removed when we don't care
>>> anymore. Next?
>>>     
>>
>> Really, it's not worth the maintenance pain: Every new device emulation
>> code that wants to be KVM-legacy-compatible would need to be written
>> like that. And unless you are familiar with the slot management
>> internals, the "correct" pattern will not be obvious.
>>   
> 
> Only devices which direct map memory.  Currently VGA and cirrus.
> 

--- /data/qemu/hw/piix_pci.c    2009-06-07 09:42:27.000000000 +0200
+++ hw/piix_pci.c       2009-06-02 13:00:09.000000000 +0200
...
@@ -91,6 +93,10 @@ static void i440fx_update_memory_mapping
     int i, r;
     uint32_t smram, addr;

+    if (kvm_enabled()) {
+        /* FIXME: Support remappings and protection changes. */
+        return;
+    }
     update_pam(d, 0xf0000, 0x100000, (d->config[0x59] >> 4) & 3);
     for(i = 0; i < 12; i++) {
         r = (d->config[(i >> 1) + 0x5a] >> ((i & 1) * 4)) & 3;

IIRC, this is at least partially due to the restricted slot management
in qemu-kvm - or is this obsolete now?

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]