<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/hw/acpi, branch master</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/hw/acpi?h=master</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/hw/acpi?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-07T19:08:17+00:00</updated>
<entry>
<title>hw/acpi/erst.c: Fix memory handling issues</title>
<updated>2022-11-07T19:08:17+00:00</updated>
<author>
<name>Christian A. Ehrhardt</name>
</author>
<published>2022-10-24T15:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=defb70980f6bed36100b74e84220f1764c0dd544'/>
<id>urn:sha1:defb70980f6bed36100b74e84220f1764c0dd544</id>
<content type='text'>
- Fix memset argument order: The second argument is
  the value, the length goes last.
- Fix an integer overflow reported by Alexander Bulekov.

Both issues allow the guest to overrun the host buffer
allocated for the ERST memory device.

Cc: Eric DeVolder &lt;eric.devolder@oracle.com
Cc: Alexander Bulekov &lt;alxndr@bu.edu&gt;
Cc: qemu-stable@nongnu.org
Fixes: f7e26ffa590 ("ACPI ERST: support for ACPI ERST feature")
Tested-by: Alexander Bulekov &lt;alxndr@bu.edu&gt;
Signed-off-by: Christian A. Ehrhardt &lt;lk@c--e.de&gt;
Message-Id: &lt;20221024154233.1043347-1-lk@c--e.de&gt;
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1268
Reviewed-by: Alexander Bulekov &lt;alxndr@bu.edu&gt;
Reviewed-by: Eric DeVolder &lt;eric.devolder@oracle.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors</title>
<updated>2022-11-07T19:00:29+00:00</updated>
<author>
<name>Igor Mammedov</name>
</author>
<published>2022-10-17T10:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cfead31326409dad187024de1bf7b40d7a86737e'/>
<id>urn:sha1:cfead31326409dad187024de1bf7b40d7a86737e</id>
<content type='text'>
NB:
We do not expect any functional change in any ACPI tables with this
change. It's only a refactoring.

NB2:
Some targets (or1k) do not support acpi and CONFIG_ACPI is off for them.
However, modules are reused between all architectures so CONFIG_ACPI is
on.  For those architectures, dummy stub function definitions help to
resolve symbols.  This change uses more of these and so it adds a couple
of dummy stub definitions so that symbols for those can be resolved.

Signed-off-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20221017102146.2254096-2-imammedo@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Ani Sinha &lt;ani@anisinha.ca&gt;
CC: Bernhard Beschow &lt;shentey@gmail.com&gt;
Signed-off-by: Ani Sinha &lt;ani@anisinha.ca&gt;
Message-Id: &lt;20221107152744.868434-1-ani@anisinha.ca&gt;
</content>
</entry>
<entry>
<title>acpi: fadt: support revision 6.0 of the ACPI specification</title>
<updated>2022-11-07T18:12:19+00:00</updated>
<author>
<name>Miguel Luis</name>
</author>
<published>2022-10-11T18:17:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4496d1d3ebe998f94dfd7b47a22c1522da61dfa4'/>
<id>urn:sha1:4496d1d3ebe998f94dfd7b47a22c1522da61dfa4</id>
<content type='text'>
Update the Fixed ACPI Description Table (FADT) to revision 6.0 of the ACPI
specification adding the field "Hypervisor Vendor Identity".

This field's description states the following: "64-bit identifier of hypervisor
vendor. All bytes in this field are considered part of the vendor identity.
These identifiers are defined independently by the vendors themselves,
usually following the name of the hypervisor product. Version information
should NOT be included in this field - this shall simply denote the vendor's
name or identifier. Version information can be communicated through a
supplemental vendor-specific hypervisor API. Firmware implementers would
place zero bytes into this field, denoting that no hypervisor is present in
the actual firmware."

Signed-off-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Reviewed-by: Ani Sinha &lt;ani@anisinha.ca&gt;
Message-Id: &lt;20221011181730.10885-3-miguel.luis@oracle.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>acpi/nvdimm: Implement ACPI NVDIMM Label Methods</title>
<updated>2022-11-02T10:56:31+00:00</updated>
<author>
<name>Robert Hoo</name>
</author>
<published>2022-09-22T12:21:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4ad44f624b1e9ba9073db4b8d963c379f71f7683'/>
<id>urn:sha1:4ad44f624b1e9ba9073db4b8d963c379f71f7683</id>
<content type='text'>
Recent ACPI spec [1] has defined NVDIMM Label Methods _LS{I,R,W}, which
deprecates corresponding _DSM Functions defined by PMEM _DSM Interface spec
[2].

Since the semantics of the new Label Methods are almost same as old _DSM
methods, the implementations here simply wrapper old ones.

ASL form diff can be found in next patch of updating golden master
binaries.

[1] ACPI Spec v6.4, 6.5.10 NVDIMM Label Methods
https://uefi.org/sites/default/files/resources/ACPI_Spec_6_4_Jan22.pdf
[2] Intel PMEM _DSM Interface Spec v2.0, 3.10 Deprecated Functions
https://pmem.io/documents/IntelOptanePMem_DSM_Interface-V2.0.pdf

Signed-off-by: Robert Hoo &lt;robert.hu@linux.intel.com&gt;
Message-Id: &lt;20220922122155.1326543-5-robert.hu@linux.intel.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>acpi/nvdimm: define macro for NVDIMM Device _DSM</title>
<updated>2022-11-02T10:56:31+00:00</updated>
<author>
<name>Robert Hoo</name>
</author>
<published>2022-09-22T12:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d773f38be34d6f0c8bd627e3f961363108f43e45'/>
<id>urn:sha1:d773f38be34d6f0c8bd627e3f961363108f43e45</id>
<content type='text'>
Since it will be heavily used in next patch, define macro
NVDIMM_DEVICE_DSM_UUID for "4309AC30-0D11-11E4-9191-0800200C9A66", which is
NVDIMM device specific method uuid defined in NVDIMM _DSM interface spec,
Section 3. [1]

No functional changes in this patch.

[1] https://pmem.io/documents/IntelOptanePMem_DSM_Interface-V2.0.pdf

Signed-off-by: Robert Hoo &lt;robert.hu@linux.intel.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20220922122155.1326543-4-robert.hu@linux.intel.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>acpi/ssdt: Fix aml_or() and aml_and() in if clause</title>
<updated>2022-11-02T10:56:31+00:00</updated>
<author>
<name>Robert Hoo</name>
</author>
<published>2022-09-22T12:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=63bb20d669dc21174f11ab1620f6ac52679cde54'/>
<id>urn:sha1:63bb20d669dc21174f11ab1620f6ac52679cde54</id>
<content type='text'>
In If condition, using bitwise and/or, rather than logical and/or.

The result change in AML code:

If (((Local6 == Zero) | (Arg0 != Local0)))
==&gt;
If (((Local6 == Zero) || (Arg0 != Local0)))

If (((ObjectType (Arg3) == 0x04) &amp; (SizeOf (Arg3) == One)))
==&gt;
If (((ObjectType (Arg3) == 0x04) &amp;&amp; (SizeOf (Arg3) == One)))

Fixes: 90623ebf603 ("nvdimm acpi: check UUID")
Fixes: 4568c948066 ("nvdimm acpi: save arg3 of _DSM method")
Signed-off-by: Robert Hoo &lt;robert.hu@linux.intel.com&gt;
Reviewed-by: Jingqi Liu &lt;jingqi.liu@intel.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20220922122155.1326543-3-robert.hu@linux.intel.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/acpi: Add ospm_status hook implementation for acpi-ged</title>
<updated>2022-09-22T15:38:28+00:00</updated>
<author>
<name>Keqian Zhu</name>
</author>
<published>2022-08-16T09:49:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d4424bebceaa8ffbc23060ce45e52a9bb817e3c9'/>
<id>urn:sha1:d4424bebceaa8ffbc23060ce45e52a9bb817e3c9</id>
<content type='text'>
Setup an ARM virtual machine of machine virt and execute qmp "query-acpi-ospm-status"
causes segmentation fault with following dumpstack:
 #1  0x0000aaaaab64235c in qmp_query_acpi_ospm_status (errp=errp@entry=0xfffffffff030) at ../monitor/qmp-cmds.c:312
 #2  0x0000aaaaabfc4e20 in qmp_marshal_query_acpi_ospm_status (args=&lt;optimized out&gt;, ret=0xffffea4ffe90, errp=0xffffea4ffe88) at qapi/qapi-commands-acpi.c:63
 #3  0x0000aaaaabff8ba0 in do_qmp_dispatch_bh (opaque=0xffffea4ffe98) at ../qapi/qmp-dispatch.c:128
 #4  0x0000aaaaac02e594 in aio_bh_call (bh=0xffffe0004d80) at ../util/async.c:150
 #5  aio_bh_poll (ctx=ctx@entry=0xaaaaad0f6040) at ../util/async.c:178
 #6  0x0000aaaaac00bd40 in aio_dispatch (ctx=ctx@entry=0xaaaaad0f6040) at ../util/aio-posix.c:421
 #7  0x0000aaaaac02e010 in aio_ctx_dispatch (source=0xaaaaad0f6040, callback=&lt;optimized out&gt;, user_data=&lt;optimized out&gt;) at ../util/async.c:320
 #8  0x0000fffff76f6884 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
 #9  0x0000aaaaac0452d4 in glib_pollfds_poll () at ../util/main-loop.c:297
 #10 os_host_main_loop_wait (timeout=0) at ../util/main-loop.c:320
 #11 main_loop_wait (nonblocking=nonblocking@entry=0) at ../util/main-loop.c:596
 #12 0x0000aaaaab5c9e50 in qemu_main_loop () at ../softmmu/runstate.c:734
 #13 0x0000aaaaab185370 in qemu_main (argc=argc@entry=47, argv=argv@entry=0xfffffffff518, envp=envp@entry=0x0) at ../softmmu/main.c:38
 #14 0x0000aaaaab16f99c in main (argc=47, argv=0xfffffffff518) at ../softmmu/main.c:47

Fixes: ebb62075021a ("hw/acpi: Add ACPI Generic Event Device Support")
Signed-off-by: Keqian Zhu &lt;zhukeqian1@huawei.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-id: 20220816094957.31700-1-zhukeqian1@huawei.com
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>acpi/nvdimm: Define trace events for NVDIMM and substitute nvdimm_debug()</title>
<updated>2022-07-26T14:37:46+00:00</updated>
<author>
<name>Robert Hoo</name>
</author>
<published>2022-07-04T08:58:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=e4bcec0c3c8527a3f2be2791fa6a89387b9116c1'/>
<id>urn:sha1:e4bcec0c3c8527a3f2be2791fa6a89387b9116c1</id>
<content type='text'>
Signed-off-by: Robert Hoo &lt;robert.hu@linux.intel.com&gt;
Reviewed-by: Jingqi Liu &lt;jingqi.liu@intel.com&gt;
Message-Id: &lt;20220704085852.330005-1-robert.hu@linux.intel.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>trivial typos: namesapce</title>
<updated>2022-06-28T09:06:44+00:00</updated>
<author>
<name>Dr. David Alan Gilbert</name>
</author>
<published>2022-06-14T10:40:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a0984714fb700683094a754a2320a2e150cf10a7'/>
<id>urn:sha1:a0984714fb700683094a754a2320a2e150cf10a7</id>
<content type='text'>
'namespace' is misspelled in a bunch of places.

Signed-off-by: Dr. David Alan Gilbert &lt;dgilbert@redhat.com&gt;
Reviewed-by: Klaus Jensen &lt;k.jensen@samsung.com&gt;
Message-Id: &lt;20220614104045.85728-3-dgilbert@redhat.com&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>hw/acpi: Make the PCI hot-plug aware of SR-IOV</title>
<updated>2022-06-23T21:24:29+00:00</updated>
<author>
<name>Łukasz Gieryk</name>
</author>
<published>2022-05-09T14:16:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=58660bfa3694a2d05eacb8dca7c28ffa08917578'/>
<id>urn:sha1:58660bfa3694a2d05eacb8dca7c28ffa08917578</id>
<content type='text'>
PCI device capable of SR-IOV support is a new, still-experimental
feature with only a single working example of the Nvme device.

This patch in an attempt to fix a double-free problem when a
SR-IOV-capable Nvme device is hot-unplugged in the following scenario:

Qemu CLI:
---------
-device pcie-root-port,slot=0,id=rp0
-device nvme-subsys,id=subsys0
-device nvme,id=nvme0,bus=rp0,serial=deadbeef,subsys=subsys0,sriov_max_vfs=1,sriov_vq_flexible=2,sriov_vi_flexible=1

Guest OS:
---------
sudo nvme virt-mgmt /dev/nvme0 -c 0 -r 1 -a 1 -n 0
sudo nvme virt-mgmt /dev/nvme0 -c 0 -r 0 -a 1 -n 0
echo 1 &gt; /sys/bus/pci/devices/0000:01:00.0/reset
sleep 1
echo 1 &gt; /sys/bus/pci/devices/0000:01:00.0/sriov_numvfs
nvme virt-mgmt /dev/nvme0 -c 1 -r 1 -a 8 -n 1
nvme virt-mgmt /dev/nvme0 -c 1 -r 0 -a 8 -n 2
nvme virt-mgmt /dev/nvme0 -c 1 -r 0 -a 9 -n 0
sleep 2
echo 01:00.1 &gt; /sys/bus/pci/drivers/nvme/bind

Qemu monitor:
-------------
device_del nvme0

Explanation of the problem and the proposed solution:

1) The current SR-IOV implementation assumes it’s the PhysicalFunction
   that creates and deletes VirtualFunctions.
2) It’s a design decision (the Nvme device at least) for the VFs to be
   of the same class as PF. Effectively, they share the dc-&gt;hotpluggable
   value.
3) When a VF is created, it’s added as a child node to PF’s PCI bus
   slot.
4) Monitor/device_del triggers the ACPI mechanism. The implementation is
   not aware of SR/IOV and ejects PF’s PCI slot, directly unrealizing all
   hot-pluggable (!acpi_pcihp_pc_no_hotplug) children nodes.
5) VFs are unrealized directly, and it doesn’t work well with (1).
   SR/IOV structures are not updated, so when it’s PF’s turn to be
   unrealized, it works on stale pointers to already-deleted VFs.

The proposed fix is to make the PCI ACPI code aware of SR/IOV.

Signed-off-by: Łukasz Gieryk &lt;lukasz.gieryk@linux.intel.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Klaus Jensen &lt;k.jensen@samsung.com&gt;
</content>
</entry>
</feed>
