All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: mst@redhat.com, anisinha@redhat.com
Subject: [PATCH 0/3] workaround Windows always reading _DSM(func=7)
Date: Wed, 15 Jan 2025 13:53:39 +0100	[thread overview]
Message-ID: <20250115125342.3883374-1-imammedo@redhat.com> (raw)

subj causes PCI devices that do not have acpi-index assigned,
having bogus 'PCI Label Id = 0'.

The later triggers another Windows bug that leads to guest hang
in case of localized Windows versions [1].

Workaround is for QEMU to return invalid Package on _DSM(func=7) request
if acpi-index is not configured, which makes Windows ignore returned value
and not assign 'PCI Label Id'.

It should help [1] users to boot localized Windows variants as long as
no PCI devices have acpi-index explicitly assigned.

1) https://gitlab.com/qemu-project/qemu/-/issues/774 

Igor Mammedov (3):
  tests: acpi: whitelist expected blobs
  pci: acpi: Windows 'PCI Label Id' bug workaround
  tests: acpi: update expected blobs

 tests/qtest/bios-tables-test-allowed-diff.h   |  40 ++++++++++++++++++
 hw/i386/acpi-build.c                          |  33 ++++++++++-----
 tests/data/acpi/x86/pc/DSDT                   | Bin 8526 -> 8544 bytes
 tests/data/acpi/x86/pc/DSDT.acpierst          | Bin 8437 -> 8455 bytes
 tests/data/acpi/x86/pc/DSDT.acpihmat          | Bin 9851 -> 9869 bytes
 tests/data/acpi/x86/pc/DSDT.bridge            | Bin 15397 -> 15415 bytes
 tests/data/acpi/x86/pc/DSDT.cphp              | Bin 8990 -> 9008 bytes
 tests/data/acpi/x86/pc/DSDT.dimmpxm           | Bin 10180 -> 10198 bytes
 tests/data/acpi/x86/pc/DSDT.hpbridge          | Bin 8477 -> 8495 bytes
 tests/data/acpi/x86/pc/DSDT.ipmikcs           | Bin 8598 -> 8616 bytes
 tests/data/acpi/x86/pc/DSDT.memhp             | Bin 9885 -> 9903 bytes
 tests/data/acpi/x86/pc/DSDT.nohpet            | Bin 8384 -> 8402 bytes
 tests/data/acpi/x86/pc/DSDT.numamem           | Bin 8532 -> 8550 bytes
 tests/data/acpi/x86/pc/DSDT.roothp            | Bin 12319 -> 12337 bytes
 tests/data/acpi/x86/q35/DSDT                  | Bin 8355 -> 8373 bytes
 tests/data/acpi/x86/q35/DSDT.acpierst         | Bin 8372 -> 8390 bytes
 tests/data/acpi/x86/q35/DSDT.acpihmat         | Bin 9680 -> 9698 bytes
 .../data/acpi/x86/q35/DSDT.acpihmat-generic-x | Bin 12565 -> 12583 bytes
 .../acpi/x86/q35/DSDT.acpihmat-noinitiator    | Bin 8634 -> 8652 bytes
 tests/data/acpi/x86/q35/DSDT.applesmc         | Bin 8401 -> 8419 bytes
 tests/data/acpi/x86/q35/DSDT.bridge           | Bin 11968 -> 11986 bytes
 tests/data/acpi/x86/q35/DSDT.core-count       | Bin 12913 -> 12931 bytes
 tests/data/acpi/x86/q35/DSDT.core-count2      | Bin 33770 -> 33788 bytes
 tests/data/acpi/x86/q35/DSDT.cphp             | Bin 8819 -> 8837 bytes
 tests/data/acpi/x86/q35/DSDT.cxl              | Bin 13146 -> 13164 bytes
 tests/data/acpi/x86/q35/DSDT.dimmpxm          | Bin 10009 -> 10027 bytes
 tests/data/acpi/x86/q35/DSDT.ipmibt           | Bin 8430 -> 8448 bytes
 tests/data/acpi/x86/q35/DSDT.ipmismbus        | Bin 8443 -> 8461 bytes
 tests/data/acpi/x86/q35/DSDT.ivrs             | Bin 8372 -> 8390 bytes
 tests/data/acpi/x86/q35/DSDT.memhp            | Bin 9714 -> 9732 bytes
 tests/data/acpi/x86/q35/DSDT.mmio64           | Bin 9485 -> 9503 bytes
 tests/data/acpi/x86/q35/DSDT.multi-bridge     | Bin 13208 -> 13226 bytes
 tests/data/acpi/x86/q35/DSDT.nohpet           | Bin 8213 -> 8231 bytes
 tests/data/acpi/x86/q35/DSDT.numamem          | Bin 8361 -> 8379 bytes
 tests/data/acpi/x86/q35/DSDT.pvpanic-isa      | Bin 8456 -> 8474 bytes
 tests/data/acpi/x86/q35/DSDT.thread-count     | Bin 12913 -> 12931 bytes
 tests/data/acpi/x86/q35/DSDT.thread-count2    | Bin 33770 -> 33788 bytes
 tests/data/acpi/x86/q35/DSDT.tis.tpm12        | Bin 8961 -> 8979 bytes
 tests/data/acpi/x86/q35/DSDT.tis.tpm2         | Bin 8987 -> 9005 bytes
 tests/data/acpi/x86/q35/DSDT.type4-count      | Bin 18589 -> 18607 bytes
 tests/data/acpi/x86/q35/DSDT.viot             | Bin 14612 -> 14630 bytes
 tests/data/acpi/x86/q35/DSDT.xapic            | Bin 35718 -> 35736 bytes
 42 files changed, 63 insertions(+), 10 deletions(-)

-- 
2.43.0



             reply	other threads:[~2025-01-15 12:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-15 12:53 Igor Mammedov [this message]
2025-01-15 12:53 ` [PATCH 1/3] tests: acpi: whitelist expected blobs Igor Mammedov
2025-01-15 14:09   ` Ani Sinha
2025-01-15 12:53 ` [PATCH 2/3] pci: acpi: Windows 'PCI Label Id' bug workaround Igor Mammedov
2025-01-16 16:27   ` Fiona Ebner
2025-01-17  6:29   ` Michael Tokarev
2025-01-17  7:05   ` Ani Sinha
2025-01-15 12:53 ` [PATCH 3/3] tests: acpi: update expected blobs Igor Mammedov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250115125342.3883374-1-imammedo@redhat.com \
    --to=imammedo@redhat.com \
    --cc=anisinha@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.