WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH][QEMU] Allow more IDE power management

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH][QEMU] Allow more IDE power management
From: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Date: Mon, 27 Aug 2007 14:45:40 -0400
Cc: Dave Lively <dlively@xxxxxxxxxxxxxxx>
Delivery-date: Mon, 27 Aug 2007 12:15:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.5 (X11/20070719)
Made the QEMU IDE disk tolerate more power-mgmt commands, specifically:
        WIN_SETFEATURE(EN_AAM)  - enable automatic acoustic mgmt
        WIN_SETFEATURE(DIS_AAM) - disable automatic acoustic mgmt
        WIN_SETFEATURE(DIS_APM) - disable automatic power mgmt
        WIN_STANDBY
        WIN_SETIDLE1
        WIN_SLEEPNOW1
        WIN_STANDBY2
        WIN_SETIDLE2
        WIN_SLEEPNOW2
        WIN_STANDBYNOW2
These are all essentially no-ops, like existing support for EN_RLA (enable
read lookahead) and WIN_STANDBYNOW1.

This fixes a crash in the SLES9-SP3 64bit kernel when the powersaved was
started (with ACPI or ACM).  This guest really only needs EN_AAM, DIS_APM,
and WIN_SETIDLE1 support, but the others seemed sensible to include.

I've excluded EN_APM since I'm unsure of what that's agreeing to do.  It's
probably ok to include.

Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Signed-off-by: David Lively <dlively@xxxxxxxxxxxxxxx>

diff -r b9f911005829 tools/ioemu/hw/ide.c
--- a/tools/ioemu/hw/ide.c      Wed Aug 01 19:06:43 2007 -0400
+++ b/tools/ioemu/hw/ide.c      Wed Aug 01 19:06:43 2007 -0400
@@ -2136,6 +2136,9 @@ static void ide_ioport_write(void *opaqu
                 break;
             case 0xaa: /* read look-ahead enable */
             case 0x55: /* read look-ahead disable */
+           case 0x42: /* enable Automatic Acoustic Mode */
+           case 0xc2: /* disable Automatic Acoustic Mode */
+           case 0x85: /* disable APM */
                 s->status = READY_STAT | SEEK_STAT;
                 ide_set_irq(s);
                 break;
@@ -2174,8 +2177,15 @@ static void ide_ioport_write(void *opaqu
            s->status = READY_STAT;
             ide_set_irq(s);
             break;
+        case WIN_IDLEIMMEDIATE:
+        case WIN_STANDBY:
+        case WIN_SETIDLE1:
        case WIN_STANDBYNOW1:
-        case WIN_IDLEIMMEDIATE:
+        case WIN_SLEEPNOW1:
+        case WIN_STANDBY2:
+        case WIN_SETIDLE2:
+       case WIN_STANDBYNOW2:
+        case WIN_SLEEPNOW2:
            s->status = READY_STAT;
             ide_set_irq(s);
             break;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>