From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Guthro Subject: [PATCH][QEMU] Allow more IDE power management Date: Mon, 27 Aug 2007 14:45:40 -0400 Message-ID: <46D31BD4.3040802@virtualiron.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060509050606030406060003" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Dave Lively List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------060509050606030406060003 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 Signed-off-by: David Lively --------------060509050606030406060003 Content-Type: text/x-patch; name="qemu-ide-allow-more-powermgmt.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="qemu-ide-allow-more-powermgmt.patch" 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; --------------060509050606030406060003 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------060509050606030406060003--