<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">Le jeu. 21 mars 2019 13:39, Laszlo Ersek <<a href="mailto:lersek@redhat.com">lersek@redhat.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 03/21/19 01:53, Laszlo Ersek wrote:<br>
> Hi Paolo,<br>
> <br>
> (+libvir-list)<br>
> <br>
> I'd like to report a regression introduced by this patch set:<br>
> <br>
> On 03/07/19 21:58, Paolo Bonzini wrote:<br>
>> The following changes since commit<br>
>> 6cb4f6db4f4367faa33da85b15f75bbbd2bed2a6:<br>
>><br>
>>   Merge remote-tracking branch<br>
>>   'remotes/cleber/tags/python-next-pull-request' into staging<br>
>>   (2019-03-07 16:16:02 +0000)<br>
>><br>
>> are available in the Git repository at:<br>
>><br>
>>   git://<a href="http://github.com/bonzini/qemu.git" rel="noreferrer noreferrer" target="_blank">github.com/bonzini/qemu.git</a> tags/for-upstream-kconfig<br>
>><br>
>> for you to fetch changes up to<br>
>> 576c3f2f16e7392e28cc9fe10d9a920d67d3645b:<br>
>><br>
>>   kconfig: add documentation (2019-03-07 21:54:22 +0100)<br>
>><br>
>> ----------------------------------------------------------------<br>
>> Initial Kconfig work, excluding ARM and MIPS<br>
>><br>
>> ----------------------------------------------------------------<br>
> <br>
<br>
In brief, the regression is that the aarch64 system emulator now lists<br>
the "virtio-vga" device for the "virt" machine type:<br>
<br>
$ qemu-system-aarch64 -M virt -device \? | grep virtio-vga<br>
name "virtio-vga", bus PCI<br>
<br>
Here's where I think the issue was introduced:<br>
<br>
(1) In commit 82f5181777eb ("kconfig: introduce kconfig files",<br>
2019-03-07), VIRTIO_VGA was introduced simply as a bool (with no other<br>
clauses) in "hw/display/Kconfig".<br>
<br>
(2) In commit 7c28b925b7e1 ("build: convert pci.mak to Kconfig",<br>
2019-03-07), VIRTIO_VGA received the following clauses:<br>
<br>
    default y if PCI_DEVICES<br>
    depends on VIRTIO_PCI<br>
    select VGA<br>
<br>
This is too lax, because it permits virtio-vga for aarch64, while that<br>
shouldn't happen (and it doesn't matches the previous state of the tree).<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Similar case I noticed in another thread. The Virt machine uses a chipset that provides PCI. Does this machine expose PCI slots? If yes, this config is correct, the machine can get any PCI daughter card. Else we shouldn't use PCI_DEVICES that way.</div><div dir="auto"><br></div><div dir="auto">Why Virt machine now default to virtio-vga?</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
(3) In commit b42075bb7767 ("virtio: express virtio dependencies with<br>
Kconfig", 2019-03-07), the determination of virtio-vga was switched to<br>
the Kconfig system. Importantly, in this patch, the line<br>
<br>
  CONFIG_VIRTIO_VGA=y<br>
<br>
was removed *only* from the following file:<br>
<br>
  default-configs/i386-softmmu.mak<br>
<br>
(4) Both of the remaining instances of<br>
<br>
  CONFIG_VIRTIO_VGA=y<br>
<br>
were then removed in commit 9483cf27dd36 ("hppa-softmmu.mak: express<br>
dependencies with Kconfig", 2019-03-07) and commit 87f9108bad0c ("ppc64:<br>
Express dependencies of 'pseries' and 'powernv' machines with kconfig",<br>
2019-03-07), from files<br>
<br>
  default-configs/hppa-softmmu.mak<br>
  default-configs/ppc64-softmmu.mak<br>
<br>
respectively.<br>
<br>
<br>
Therefore I think commit 7c28b925b7e1 has the bug. The VIRTIO_VGA<br>
restriction<br>
<br>
  depends on VIRTIO_PCI<br>
<br>
should now be replaced with<br>
<br>
  depends on VIRTIO_PCI && (PC || DINO || PSERIES)<br>
<br>
Thanks<br>
Laszlo<br>
<br>
</blockquote></div></div></div>