<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/hw/pci-host, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/hw/pci-host?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/hw/pci-host?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-10T21:22:10+00:00</updated>
<entry>
<title>hw/pci-host/pnv_phb: Avoid quitting QEMU if hotplug of pnv-phb-root-port fails</title>
<updated>2022-11-10T21:22:10+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2022-11-09T12:22:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=ec5651340d445f009db1c2dc507da8cb4df85ad0'/>
<id>urn:sha1:ec5651340d445f009db1c2dc507da8cb4df85ad0</id>
<content type='text'>
Currently QEMU terminates if you try to hotplug pnv-phb-root-port in
an environment where it is not supported, e.g. if doing this:

 echo "device_add pnv-phb-root-port" | \
 ./qemu-system-ppc64 -monitor stdio -M powernv9

To avoid this problem, the pnv_phb_root_port_realize() function should
not use error_fatal when trying to set the properties which might not
be available.

Fixes: c2f3f78af5 ("ppc/pnv: set root port chassis and slot using Bus properties")
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Reviewed-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Message-Id: &lt;20221109122210.115667-1-thuth@redhat.com&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>hw/ppc/mac.h: Rename to include/hw/nvram/mac_nvram.h</title>
<updated>2022-10-31T18:48:23+00:00</updated>
<author>
<name>BALATON Zoltan</name>
</author>
<published>2022-10-28T11:56:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=443f07b73d139e6944bc6af472b6e9df790b6e38'/>
<id>urn:sha1:443f07b73d139e6944bc6af472b6e9df790b6e38</id>
<content type='text'>
All that is left in mac.h now belongs to the nvram emulation so rename
it accordingly and only include it where it is really used.

Signed-off-by: BALATON Zoltan &lt;balaton@eik.bme.hu&gt;
Reviewed-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Message-Id: &lt;b82449369f718c0e207fe8c332fab550fa0230c0.1666957578.git.balaton@eik.bme.hu&gt;
Signed-off-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
</content>
</entry>
<entry>
<title>hw/ppc/mac.h: Move grackle-pcihost type declaration out to a header</title>
<updated>2022-10-31T18:48:23+00:00</updated>
<author>
<name>BALATON Zoltan</name>
</author>
<published>2022-10-28T11:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=87e5a4f8c23236a559c63ca089c35d3e6066d3df'/>
<id>urn:sha1:87e5a4f8c23236a559c63ca089c35d3e6066d3df</id>
<content type='text'>
Signed-off-by: BALATON Zoltan &lt;balaton@eik.bme.hu&gt;
Reviewed-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Message-Id: &lt;b133a84dfd38366eea2bb11b7ca433758efacc10.1666957578.git.balaton@eik.bme.hu&gt;
Signed-off-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
</content>
</entry>
<entry>
<title>hw/pci-host: pnv_phb{3, 4}: Fix heap out-of-bound access failure</title>
<updated>2022-09-20T15:31:53+00:00</updated>
<author>
<name>Xuzhou Cheng</name>
</author>
<published>2022-09-20T10:31:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=90865af7d901a2aa5eeadfb488f3a9d4aaf70605'/>
<id>urn:sha1:90865af7d901a2aa5eeadfb488f3a9d4aaf70605</id>
<content type='text'>
pnv_phb3_root_bus_info and pnv_phb4_root_bus_info are missing the
instance_size initialization. This results in accessing out-of-bound
memory when setting 'chip-id' and 'phb-id', and eventually crashes
glib's malloc functionality with the following message:

  "qemu-system-ppc64: GLib: ../glib-2.72.3/glib/gmem.c:131: failed to allocate 3232 bytes"

This issue was noticed only when running qtests with QEMU Windows
32-bit executable. Windows 64-bit, Linux 32/64-bit do not expose
this bug though.

Fixes: 9ae1329ee2fe ("ppc/pnv: Add models for POWER8 PHB3 PCIe Host bridge")
Fixes: 4f9924c4d4cf ("ppc/pnv: Add models for POWER9 PHB4 PCIe Host bridge")
Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Xuzhou Cheng &lt;xuzhou.cheng@windriver.com&gt;
Signed-off-by: Bin Meng &lt;bin.meng@windriver.com&gt;
Message-Id: &lt;20220920103159.1865256-29-bmeng.cn@gmail.com&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>ppc/pnv: fix QOM parenting of user creatable root ports</title>
<updated>2022-08-31T17:08:06+00:00</updated>
<author>
<name>Daniel Henrique Barboza</name>
</author>
<published>2022-08-19T09:47:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=6a1e1ce2efb9c22723f9f7cada5d5a31842eb37d'/>
<id>urn:sha1:6a1e1ce2efb9c22723f9f7cada5d5a31842eb37d</id>
<content type='text'>
User creatable root ports are being parented by the 'peripheral' or the
'peripheral-anon' container. This happens because this is the regular
QOM schema for sysbus devices that are added via the command line.

Let's make this QOM hierarchy similar to what we have with default root
ports, i.e. the root port must be parented by the pnv-root-bus. To do
that we change the qom and bus parent of the root port during
root_port_realize(). The realize() is shared by the default root port
code path, so we can remove the code inside pnv_phb_attach_root_port()
that was adding the root port as a child of the bus as well.

After all that, remove pnv_phb_attach_root_port() and create the root
port explictly in the 'default_enabled()' case of pnv_phb_realize().

Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Reviewed-by: Frederic Barrat &lt;fbarrat@linux.ibm.com&gt;
Message-Id: &lt;20220819094748.400578-3-danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>ppc/pnv: consolidate pnv_parent_*_fixup() helpers</title>
<updated>2022-08-31T17:08:06+00:00</updated>
<author>
<name>Daniel Henrique Barboza</name>
</author>
<published>2022-08-19T09:47:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3466bb50ec7c49a63b4a146c82d4030742451f40'/>
<id>urn:sha1:3466bb50ec7c49a63b4a146c82d4030742451f40</id>
<content type='text'>
We have 2 helpers that amends the QOM and parent bus of a given object,
repectively. These 2 helpers are called together, and not by accident.
Due to QOM internals, doing an object_unparent() will result in the
device being removed from its parent bus. This means that changing the
QOM parent requires reassigning the parent bus again.

Create a single helper called pnv_parent_fixup(), documenting some of
the QOM specifics that we're dealing with the unparenting/parenting
mechanics, and handle both the QOM and the parent bus assignment.

Next patch will make use of this function to handle a case where we need
to change the QOM parent while keeping the same parent bus assigned
beforehand.

Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Frederic Barrat &lt;fbarrat@linux.ibm.com&gt;
Message-Id: &lt;20220819094748.400578-2-danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>ppc/pnv: enable user created pnv-phb for powernv9</title>
<updated>2022-08-31T17:08:06+00:00</updated>
<author>
<name>Daniel Henrique Barboza</name>
</author>
<published>2022-08-11T16:39:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d786be3fe7466ff96db96b86e6fee437136d63d7'/>
<id>urn:sha1:d786be3fe7466ff96db96b86e6fee437136d63d7</id>
<content type='text'>
Enable pnv-phb user created devices for powernv9 now that we have
everything in place.

Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Frederic Barrat &lt;fbarrat@linux.ibm.com&gt;
Message-Id: &lt;20220811163950.578927-9-danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>ppc/pnv: enable user created pnv-phb for powernv8</title>
<updated>2022-08-31T17:08:06+00:00</updated>
<author>
<name>Daniel Henrique Barboza</name>
</author>
<published>2022-08-11T16:39:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=892c3ad0d5d6bb9b1e414d61118e93362ecab782'/>
<id>urn:sha1:892c3ad0d5d6bb9b1e414d61118e93362ecab782</id>
<content type='text'>
The bulk of the work was already done by previous patches.

Use defaults_enabled() to determine whether we need to create the
default devices or not.

Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Frederic Barrat &lt;fbarrat@linux.ibm.com&gt;
Message-Id: &lt;20220811163950.578927-7-danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>ppc/pnv: add helpers for pnv-phb user devices</title>
<updated>2022-08-31T17:08:06+00:00</updated>
<author>
<name>Daniel Henrique Barboza</name>
</author>
<published>2022-08-11T16:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=ba47c3a4f888e99dedde1fed740927e973f9bc32'/>
<id>urn:sha1:ba47c3a4f888e99dedde1fed740927e973f9bc32</id>
<content type='text'>
pnv_parent_qom_fixup() and pnv_parent_bus_fixup() are versions of the
helpers that were reverted by commit 9c10d86fee "ppc/pnv: Remove
user-created PHB{3,4,5} devices". They are needed to amend the QOM and
bus hierarchies of user created pnv-phbs, matching them with default
pnv-phbs.

A new helper pnv_phb_user_device_init() is created to handle
user-created devices setup. We're going to call it inside
pnv_phb_realize() in case we're realizing an user created device. This
will centralize all user device realated in a single spot, leaving the
realize functions of the phb3/phb4 backends untouched.

Another helper called pnv_chip_add_phb() was added to handle the
particularities of each chip version when adding a new PHB.

Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Reviewed-by: Frederic Barrat &lt;fbarrat@linux.ibm.com&gt;
Message-Id: &lt;20220811163950.578927-5-danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>ppc/pnv: set root port chassis and slot using Bus properties</title>
<updated>2022-08-31T17:08:05+00:00</updated>
<author>
<name>Daniel Henrique Barboza</name>
</author>
<published>2022-08-11T16:39:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c2f3f78af5fd664f95748ebc918ae86463690249'/>
<id>urn:sha1:c2f3f78af5fd664f95748ebc918ae86463690249</id>
<content type='text'>
For default root ports we have a way of accessing chassis and slot,
before root_port_realize(), via pnv_phb_attach_root_port(). For the
future user created root ports this won't be the case: we can't use
this helper because we don't have access to the PHB phb-id/chip-id
values.

In earlier patches we've added phb-id and chip-id to pnv-phb-root-bus
objects. We're now able to use the bus to retrieve them. The bus is
reachable for both user created and default devices, so we're changing
all the code paths. This also allow us to validate these changes with
the existing default devices.

Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Frederic Barrat &lt;fbarrat@linux.ibm.com&gt;
Message-Id: &lt;20220811163950.578927-4-danielhb413@gmail.com&gt;
</content>
</entry>
</feed>
