From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48258) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1actw2-0000rD-Sw for qemu-devel@nongnu.org; Mon, 07 Mar 2016 07:06:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1actvz-0006cy-NH for qemu-devel@nongnu.org; Mon, 07 Mar 2016 07:06:50 -0500 Received: from mx1.redhat.com ([209.132.183.28]:61549) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1actvz-0006cu-Hj for qemu-devel@nongnu.org; Mon, 07 Mar 2016 07:06:47 -0500 Date: Mon, 7 Mar 2016 13:06:43 +0100 From: Igor Mammedov Message-ID: <20160307130643.1a8a22bb@nial.brq.redhat.com> In-Reply-To: <1457266676-31535-1-git-send-email-marcel@redhat.com> References: <1457266676-31535-1-git-send-email-marcel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] hw/acpi: fix Q35 support for legacy Windows OS List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcel Apfelbaum Cc: ehabkost@redhat.com, mst@redhat.com, ghammer@redhat.com, qemu-devel@nongnu.org, laine@redhat.com, pbonzini@redhat.com, rth@twiddle.net On Sun, 6 Mar 2016 14:17:56 +0200 Marcel Apfelbaum wrote: > Legacy Windows operating systems like Windows XP and Windows 2003 > require _DIS method to be present for all interrupt links. > > PC machines already have a no-op implemented for GSI links, add > it also in Q35. Maybe I don't see but only LINKS has no-op _DIS, the rest of links have _DIS that does something. According to spec _STA must return disabled status after _DIS has been called. > > Signed-off-by: Marcel Apfelbaum > --- > > Hi, > > I tested this patch with WinXP and Win 2003, but also with Win 10, and Fedora. > This solves a BSOD early in the setup process. > > WinXP/2003 can be tested using: > -device piix3-ide,id=legacyide \ > -drive file=winxp-q35.qcow2,if=none,id=disk -device ide-hd,drive=disk,bus=legacyide.0 \ > -drive file=xp_sp3.iso,if=none,id=cdrom -device ide-cd,drive=cdrom,bus=legacyide.1 > > Please note that you have to use the piix3-ide because Win2003 (and probably XP) > does not have Q35 AHCI drivers inbox. > > Thanks, > Marcel > > hw/i386/acpi-build.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index 52c9470..4c66568 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -1509,6 +1509,9 @@ static Aml *build_gsi_link_dev(const char *name, uint8_t uid, uint8_t gsi) > > aml_append(dev, aml_name_decl("_CRS", crs)); > > + method = aml_method("_DIS", 0, AML_NOTSERIALIZED); > + aml_append(dev, method); > + > method = aml_method("_SRS", 1, AML_NOTSERIALIZED); > aml_append(dev, method); >