]> git.ipfire.org Git - thirdparty/qemu.git/commit
ahci: advertise HOST_CAP_64
authorLadi Prosek <lprosek@redhat.com>
Fri, 10 Feb 2017 16:47:11 +0000 (11:47 -0500)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 16 Mar 2017 17:10:40 +0000 (12:10 -0500)
commitd2b9063eb8f39fef8bce90c99a85008baa3bf1d6
tree1f07ee937bdbf0a6d3f6bd6cb154a7908478a279
parentd8dea6fbcbed177ca5d23ab77b3834a9437f0e88
ahci: advertise HOST_CAP_64

The AHCI emulation code supports 64-bit addressing and should advertise this
fact in the Host Capabilities register. Both Linux and Windows drivers test
this bit to decide if the upper 32 bits of various registers may be written
to, and at least some versions of Windows have a bug where DMA is attempted
with an address above 4GB but, in the absence of HOST_CAP_64, the upper 32
bits are left unititialized which leads to a memory corruption.

[Maintainer edit:

This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1411105,
which affects Windows Server 2008 SP2 in some cases.]

Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Message-id: 1484305370-6220-1-git-send-email-lprosek@redhat.com
[Amended commit message --js]
Signed-off-by: John Snow <jsnow@redhat.com>
(cherry picked from commit 98cb5dccb192b0082626080890dac413473573c6)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/ide/ahci.c