<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/include/hw/acpi, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/include/hw/acpi?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/include/hw/acpi?h=spice_video_codecs'/>
<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>acpi: add get_dev_aml_func() helper</title>
<updated>2022-11-07T19:08:17+00:00</updated>
<author>
<name>Igor Mammedov</name>
</author>
<published>2022-10-17T10:21:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5dbad0af10ff7d4f83db7f4ddd872d85332ebecc'/>
<id>urn:sha1:5dbad0af10ff7d4f83db7f4ddd872d85332ebecc</id>
<content type='text'>
It will be used in followup commits to figure out if
device has it's own, device specific AML block.

Signed-off-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20221017102146.2254096-7-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;
</content>
</entry>
<entry>
<title>hw/acpi/piix4: move PIIX4PMState into separate piix4.h header</title>
<updated>2022-06-11T09:44:15+00:00</updated>
<author>
<name>Mark Cave-Ayland</name>
</author>
<published>2022-05-28T09:02:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2bfd0845f076fbec9e1dc17b1f4630b46a401a8a'/>
<id>urn:sha1:2bfd0845f076fbec9e1dc17b1f4630b46a401a8a</id>
<content type='text'>
This allows the QOM types in hw/acpi/piix4.c to be used elsewhere by simply including
hw/acpi/piix4.h.

Signed-off-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Message-Id: &lt;20220528091934.15520-5-mark.cave-ayland@ilande.co.uk&gt;
Reviewed-by: Bernhard Beschow &lt;shentey@gmail.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
</content>
</entry>
<entry>
<title>hw/acpi/cxl: Pass in the CXLState directly rather than MachineState</title>
<updated>2022-06-09T23:32:49+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-06-08T14:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=513598050ad12641b2dde6cf27471faca65be48f'/>
<id>urn:sha1:513598050ad12641b2dde6cf27471faca65be48f</id>
<content type='text'>
Refactoring step on path to moving all CXL state out of
MachineState.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Message-Id: &lt;20220608145440.26106-3-Jonathan.Cameron@huawei.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: ipmi: use AcpiDevAmlIf interface to build IPMI device descriptors</title>
<updated>2022-06-09T23:32:49+00:00</updated>
<author>
<name>Igor Mammedov</name>
</author>
<published>2022-06-08T13:53:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5876d9b53fee5fc5a341fad1618cf3a9731206da'/>
<id>urn:sha1:5876d9b53fee5fc5a341fad1618cf3a9731206da</id>
<content type='text'>
convert ad-hoc way we use to generate AML for ISA/SMB IPMI devices
to a generic approach (i.e. make devices provide its own AML blobs
like it is done with other ISA devices (ex. KBD))

Signed-off-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Acked-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Message-Id: &lt;20220608135340.3304695-17-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>ipmi: acpi: use relative path to resource source</title>
<updated>2022-06-09T23:32:48+00:00</updated>
<author>
<name>Igor Mammedov</name>
</author>
<published>2022-06-08T13:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=ea01c52291ffb7b571e21bb137470abd9e1c3175'/>
<id>urn:sha1:ea01c52291ffb7b571e21bb137470abd9e1c3175</id>
<content type='text'>
smbus-ipmi AML description needs to specify a path to its parent
node in _CRS. The rest of IPMI inplementations (ISA based)
do not need path at all. Instead of passing through a full path
use relative path to point to smbus-ipmi's parent node, it will
let follow up patches to create IPMI device AML in a generic
way instead of current ad-hoc way. (i.e. AML will be generated
the same way it's done for other ISA device, and smbus will be
converted to generate AML for its slave devices the same way
as ISA)

expected AML change:
     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
     {
        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x000186A0,
-           AddressingMode7Bit, "\\_SB.PCI0.SMB0",
+           AddressingMode7Bit, "^",
            0x00, ResourceProducer, , Exclusive,
            )
      })

Signed-off-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Acked-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Message-Id: &lt;20220608135340.3304695-14-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: add interface to build device specific AML</title>
<updated>2022-06-09T23:32:48+00:00</updated>
<author>
<name>Igor Mammedov</name>
</author>
<published>2022-06-08T13:53:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=23609e47c0f62b537ba9803cb15e69993fd0c266'/>
<id>urn:sha1:23609e47c0f62b537ba9803cb15e69993fd0c266</id>
<content type='text'>
There is already ISADeviceClass::build_aml() callback which
builds device specific AML blob for some ISA devices.
To extend the same idea to other devices, add TYPE_ACPI_DEV_AML_IF
Interface that will provide a more generic callback which
will be used not only for ISA but other devices. It will
allow get rid of some data-mining and ad-hoc AML building,
by asking device(s) to generate its own AML blob like it's
done for ISA devices.

Signed-off-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Acked-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Message-Id: &lt;20220608135340.3304695-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;
</content>
</entry>
<entry>
<title>acpi/cxl: Create the CEDT (9.14.1)</title>
<updated>2022-05-13T10:13:36+00:00</updated>
<author>
<name>Ben Widawsky</name>
</author>
<published>2022-04-29T14:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3d6a69b6eb973e5761c8dc489990dcd983f6c099'/>
<id>urn:sha1:3d6a69b6eb973e5761c8dc489990dcd983f6c099</id>
<content type='text'>
The CXL Early Discovery Table is defined in the CXL 2.0 specification as
a way for the OS to get CXL specific information from the system
firmware.

CXL 2.0 specification adds an _HID, ACPI0016, for CXL capable host
bridges, with a _CID of PNP0A08 (PCIe host bridge). CXL aware software
is able to use this initiate the proper _OSC method, and get the _UID
which is referenced by the CEDT. Therefore the existence of an ACPI0016
device allows a CXL aware driver perform the necessary actions. For a
CXL capable OS, this works. For a CXL unaware OS, this works.

CEDT awaremess requires more. The motivation for ACPI0017 is to provide
the possibility of having a Linux CXL module that can work on a legacy
Linux kernel. Linux core PCI/ACPI which won't be built as a module,
will see the _CID of PNP0A08 and bind a driver to it. If we later loaded
a driver for ACPI0016, Linux won't be able to bind it to the hardware
because it has already bound the PNP0A08 driver. The ACPI0017 device is
an opportunity to have an object to bind a driver will be used by a
Linux driver to walk the CXL topology and do everything that we would
have preferred to do with ACPI0016.

There is another motivation for an ACPI0017 device which isn't
implemented here. An operating system needs an attach point for a
non-volatile region provider that understands cross-hostbridge
interleaving. Since QEMU emulation doesn't support interleaving yet,
this is more important on the OS side, for now.

As of CXL 2.0 spec, only 1 sub structure is defined, the CXL Host Bridge
Structure (CHBS) which is primarily useful for telling the OS exactly
where the MMIO for the host bridge is.

Link: https://lore.kernel.org/linux-cxl/20210115034911.nkgpzc756d6qmjpl@intel.com/T/#t
Signed-off-by: Ben Widawsky &lt;ben.widawsky@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220429144110.25167-26-Jonathan.Cameron@huawei.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/cxl: Add _OSC implementation (9.14.2)</title>
<updated>2022-05-13T10:13:36+00:00</updated>
<author>
<name>Ben Widawsky</name>
</author>
<published>2022-04-29T14:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2a3282c68ee21cd04ee9d9ef62549f1771929828'/>
<id>urn:sha1:2a3282c68ee21cd04ee9d9ef62549f1771929828</id>
<content type='text'>
CXL 2.0 specification adds 2 new dwords to the existing _OSC definition
from PCIe. The new dwords are accessed with a new uuid. This
implementation supports what is in the specification.

iasl -d decodes the result of this patch as:

Name (SUPP, Zero)
Name (CTRL, Zero)
Name (SUPC, Zero)
Name (CTRC, Zero)
Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
{
    CreateDWordField (Arg3, Zero, CDW1)
    If (((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */) || (Arg0 == ToUUID ("68f2d50b-c469-4d8a-bd3d-941a103fd3fc") /* Unknown UUID */)))
    {
        CreateDWordField (Arg3, 0x04, CDW2)
        CreateDWordField (Arg3, 0x08, CDW3)
        Local0 = CDW3 /* \_SB_.PC0C._OSC.CDW3 */
        Local0 &amp;= 0x1F
        If ((Arg1 != One))
        {
            CDW1 |= 0x08
        }

        If ((CDW3 != Local0))
        {
            CDW1 |= 0x10
        }

        SUPP = CDW2 /* \_SB_.PC0C._OSC.CDW2 */
        CTRL = CDW3 /* \_SB_.PC0C._OSC.CDW3 */
        CDW3 = Local0
        If ((Arg0 == ToUUID ("68f2d50b-c469-4d8a-bd3d-941a103fd3fc") /* Unknown UUID */))
        {
            CreateDWordField (Arg3, 0x0C, CDW4)
            CreateDWordField (Arg3, 0x10, CDW5)
            SUPC = CDW4 /* \_SB_.PC0C._OSC.CDW4 */
            CTRC = CDW5 /* \_SB_.PC0C._OSC.CDW5 */
            CDW5 |= One
        }

        Return (Arg3)
    }
    Else
    {
        CDW1 |= 0x04
        Return (Arg3)
    }

Signed-off-by: Ben Widawsky &lt;ben.widawsky@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220429144110.25167-25-Jonathan.Cameron@huawei.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>Clean up header guards that don't match their file name</title>
<updated>2022-05-11T14:49:06+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2022-05-06T13:49:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=52581c718c5cd55595ca032a56f1e194c5716456'/>
<id>urn:sha1:52581c718c5cd55595ca032a56f1e194c5716456</id>
<content type='text'>
Header guard symbols should match their file name to make guard
collisions less likely.

Cleaned up with scripts/clean-header-guards.pl, followed by some
renaming of new guard symbols picked by the script to better ones.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Message-Id: &lt;20220506134911.2856099-2-armbru@redhat.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
[Change to generated file ebpf/rss.bpf.skeleton.h backed out]
</content>
</entry>
<entry>
<title>acpi: fix acpi_index migration</title>
<updated>2022-04-06T19:03:26+00:00</updated>
<author>
<name>Dr. David Alan Gilbert</name>
</author>
<published>2022-04-06T18:58:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a83c2844903c45aa7d32cdd17305f23ce2c56ab9'/>
<id>urn:sha1:a83c2844903c45aa7d32cdd17305f23ce2c56ab9</id>
<content type='text'>
vmstate_acpi_pcihp_use_acpi_index() was expecting AcpiPciHpState
as state but it actually received PIIX4PMState, because
VMSTATE_PCI_HOTPLUG is a macro and not another struct.
So it ended up accessing random pointer, which resulted
in 'false' return value and acpi_index field wasn't ever
sent.

However in 7.0 that pointer de-references to value &gt; 0, and
destination QEMU starts to expect the field which isn't
sent in migratioon stream from older QEMU (6.2 and older).
As result migration fails with:
  qemu-system-x86_64: Missing section footer for 0000:00:01.3/piix4_pm
  qemu-system-x86_64: load of migration failed: Invalid argument

In addition with QEMU-6.2, destination due to not expected
state, also never expects the acpi_index field in migration
stream.

Q35 is not affected as it always sends/expects the field as
long as acpi based PCI hotplug is enabled.

Fix issue by introducing compat knob to never send/expect
acpi_index in migration stream for 6.2 and older PC machine
types and always send it for 7.0 and newer PC machine types.

Diagnosed-by: Dr. David Alan Gilbert &lt;dgilbert@redhat.com&gt;
Fixes: b32bd76 ("pci: introduce acpi-index property for PCI device")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/932
Signed-off-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Reviewed-by: Dr. David Alan Gilbert &lt;dgilbert@redhat.com&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
</feed>
