From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:42781) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R2lGp-0008Oz-Ul for qemu-devel@nongnu.org; Sun, 11 Sep 2011 10:44:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R2lGo-0000iX-Rg for qemu-devel@nongnu.org; Sun, 11 Sep 2011 10:44:31 -0400 Received: from mail-fx0-f45.google.com ([209.85.161.45]:64481) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R2lGo-0000iT-HR for qemu-devel@nongnu.org; Sun, 11 Sep 2011 10:44:30 -0400 Received: by fxh13 with SMTP id 13so992722fxh.4 for ; Sun, 11 Sep 2011 07:44:29 -0700 (PDT) Sender: Alexander Motin Message-ID: <4E6CC92F.30407@FreeBSD.org> Date: Sun, 11 Sep 2011 17:43:59 +0300 From: Alexander Motin MIME-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] AHCI Port Interrupt Enable register cleaning on soft reset List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi. I've found that FreeBSD AHCI driver doesn't work with AHCI hardware emulation of QEMU 0.15.0. I believe the problem is on QEMU's side. As I see, it clears port's Interrupt Enable register each time when reset of any level happens. Is is reasonable for the global controller reset. It is probably not good, but acceptable for FreeBSD driver for the port hard reset. But it is IMO wrong for the device soft reset. None of real hardware I know behaves that way. This patch fixes the problem for me: http://people.freebsd.org/~mav/qemu.ahci.patch -- Alexander Motin