On 9/8/21 10:43 AM, Igor Mammedov wrote: > On Wed, 8 Sep 2021 12:51:04 +0530 (IST) > Ani Sinha <a...@anisinha.ca> wrote: > >> On Wed, 8 Sep 2021, Igor Mammedov wrote: >> >>> On Wed, 8 Sep 2021 09:41:39 +0530 >>> Ani Sinha <a...@anisinha.ca> wrote: >>> >>>> Change caf108bc58790 ("hw/i386/acpi-build: Add ACPI PCI hot-plug methods >>>> to Q35") >>>> selects an IO address range for acpi based PCI hotplug for q35 >>>> arbitrarily. It >>>> starts at address 0x0cc4 and ends at 0x0cdb. It was assumed that this >>>> address >>>> range was free and available. However, upon more testing, it seems this >>>> address >>>> range to be not available for some latest versions of windows. >>> >>> The range is something assigned by QEMU, and guest has no say where it >>> should be. >>> but perhaps we failed to describe it properly or something similar, so one >>> gets >>> 'no resource' error. >> >> OK dug deeper. The existing range of IO address conflicts with the CPU >> hotplug range. >> >> CPU hotplug range (ICH9_CPU_HOTPLUG_IO_BASE) is 0x0cd8 to 0x0ce3 >> >> This intersects with range 0x0cc4 to 0x0cdb for ACPI_PCIHP_ADDR_ICH9 . > > Looking at 'info mtree' it's indeed wrong: > > 0000000000000cc4-0000000000000cdb (prio 0, i/o): acpi-pci-hotplug > 0000000000000cd8-0000000000000cf7 (prio 0, i/o): acpi-cpu-hotplug > > which of them eventually handles IO request in intersection range?
(qemu) info mtree -f FlatView #0 AS "I/O", root: io Root memory region: io 0000000000000cc4-0000000000000cd7 (prio 0, i/o): acpi-pci-hotplug 0000000000000cd8-0000000000000cf7 (prio 0, i/o): acpi-cpu-hotplug > > Please, add to commit message your findings, so it would point out > where problem comes from and what it breaks(doesn't work as expect). > > Given it's broken to begin with (and possibly regression if it broke cpu > hotplug), > I'm inclined to fix it without adding compat stuff. > Michael, what do you think?