4ebc736e99
The patch apci: fix PXB behaviour if used with unsupported BIOS uses the following condition to see if a "PXB mem/IO chunk" has *not* been configured by the BIOS: (!range_base || range_base > range_limit) When this condition evaluates to true, said patch *omits* the corresponding entry from the _CRS. Later on the patch checks for the opposite condition (with the intent of *adding* entries to the _CRS if the "PXB mem/IO chunks" *have* been configured). Unfortunately, the condition was negated incorrectly: only the first ! operator was removed, which led to the nonsensical expression (range_base || range_base > range_limit) leading to bogus entries in the _CRS, and causing BSOD in Windows Server 2012 R2 when it runs on OVMF. The correct negative of the condition seen at the top is (range_base && range_base <= range_limit) Fix the expressions. Cc: Marcel Apfelbaum <marcel@redhat.com> Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Marcel Apfelbaum <marcel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
||
---|---|---|
.. | ||
kvm | ||
xen | ||
acpi-build.c | ||
acpi-build.h | ||
acpi-dsdt-cpu-hotplug.dsl | ||
acpi-dsdt-dbug.dsl | ||
acpi-dsdt-hpet.dsl | ||
acpi-dsdt-isa.dsl | ||
acpi-dsdt-mem-hotplug.dsl | ||
acpi-dsdt.dsl | ||
acpi-dsdt.hex.generated | ||
intel_iommu_internal.h | ||
intel_iommu.c | ||
kvmvapic.c | ||
Makefile.objs | ||
multiboot.c | ||
multiboot.h | ||
pc_piix.c | ||
pc_q35.c | ||
pc_sysfw.c | ||
pc.c | ||
q35-acpi-dsdt.dsl | ||
q35-acpi-dsdt.hex.generated | ||
smbios.c | ||
ssdt-tpm2.dsl | ||
ssdt-tpm2.hex.generated | ||
ssdt-tpm-common.dsl | ||
ssdt-tpm.dsl | ||
ssdt-tpm.hex.generated |