qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: anthony@codemonkey.ws
Cc: kwolf@redhat.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] [STABLE 0.14][PATCH 08/14] ahci: Implement HBA reset
Date: Mon,  7 Feb 2011 13:46:30 +0100	[thread overview]
Message-ID: <1297082796-1369-9-git-send-email-kwolf@redhat.com> (raw)
In-Reply-To: <1297082796-1369-1-git-send-email-kwolf@redhat.com>

From: Alexander Graf <agraf@suse.de>

The ahci code was missing its soft reset functionality. This wasn't really an
issue for Linux guests, but Windows gets confused when the controller doesn't
reset when it tells it so.

Using this patch I can now successfully boot Windows 7 from AHCI using AHCI
enabled SeaBIOS.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 760c3e44d3a1d8a7e9d22f0429b1805d1c688178)
---
 hw/ide/ahci.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index e6ac77c..105dd53 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -335,7 +335,7 @@ static void ahci_mem_writel(void *ptr, target_phys_addr_t addr, uint32_t val)
             case HOST_CTL: /* R/W */
                 if (val & HOST_CTL_RESET) {
                     DPRINTF(-1, "HBA Reset\n");
-                    /* FIXME reset? */
+                    ahci_reset(container_of(s, AHCIPCIState, ahci));
                 } else {
                     s->control_regs.ghc = (val & 0x3) | HOST_CTL_AHCI_EN;
                     ahci_check_irq(s);
@@ -1134,6 +1134,9 @@ void ahci_reset(void *opaque)
     struct AHCIPCIState *d = opaque;
     int i;
 
+    d->ahci.control_regs.irqstatus = 0;
+    d->ahci.control_regs.ghc = 0;
+
     for (i = 0; i < SATA_PORTS; i++) {
         ahci_reset_port(&d->ahci, i);
     }
-- 
1.7.2.3

  parent reply	other threads:[~2011-02-07 12:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-07 12:46 [Qemu-devel] [STABLE 0.14][PULL 00/14] Block patches for stable-0.14 Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 01/14] qcow2: Really use cache=unsafe for image creation Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 02/14] Documentation: add Sheepdog disk images Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 03/14] block/vdi: Fix wrong size in conditionally used memset, memcmp Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 04/14] ahci: split ICH9 from core Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 05/14] ahci: add license header in ahci.h Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 06/14] ahci: split ICH and AHCI even more Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 07/14] ahci: send init d2h fis on fis enable Kevin Wolf
2011-02-07 12:46 ` Kevin Wolf [this message]
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 09/14] ahci: make number of ports runtime determined Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 10/14] block-migration: actually disable dirty tracking on cleanup Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 11/14] blockdev: add refcount to DriveInfo Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 12/14] block-migration: add reference to target DriveInfo Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 13/14] Add flag to indicate external users to block device Kevin Wolf
2011-02-07 12:46 ` [Qemu-devel] [STABLE 0.14][PATCH 14/14] block: enable in_use flag Kevin Wolf

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=1297082796-1369-9-git-send-email-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=anthony@codemonkey.ws \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).