On 2014/6/25 14:24, Paolo Bonzini wrote:
Il 25/06/2014 04:17, Tiejun Chen ha scritto:
+    if (xen_enabled() && xen_has_gfx_passthru) {
+        d = pci_create_simple(b, 0, TYPE_I440FX_XEN_PCI_DEVICE);
+        *pi440fx_state = I440FX_XEN_PCI_DEVICE(d);
+        pci_create_pch(b);
+    } else {
+        d = pci_create_simple(b, 0, TYPE_I440FX_PCI_DEVICE);
+        *pi440fx_state = I440FX_PCI_DEVICE(d);
+    }

As mentioned in the review of v4, this should be a separate,
Xen-specific machine.  pci_create_pch should not be called in generic PC
code.


I track this path:

qemu_register_pc_machine(&xenfv_machine);
        |
        + .init = pc_xen_hvm_init,
                |
                + pc_init_pci(machine);
                        |
                        + pc_init1(machine, 1, 1);
                                |
                                + i440fx_init()

So how to separate this to specific to xen? Or you mean we need to create an new machine to address this scenario? But actually this is same as xenfv_machine except for these little codes.

If you don't like this involve other cases, we may drop this chunk of codes as a function to tweak with CONFIG_XEN. But this is not good as well since this is device feature, so kvm may need this one day.


Thanks
Tiejun

Reply via email to