From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH 0/4] HVM Virtual S3 Date: Thu, 15 May 2008 13:58:07 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Pratt , "Ke, Liping" , "Yu, Ke" , xen-devel@lists.xensource.com Cc: "Tian, Kevin" , "Jiang, Yunhong" List-Id: xen-devel@lists.xenproject.org On 15/5/08 13:42, "Ian Pratt" wrote: >> As for pause-vs-block I think this is just a matter of terminology. At >> the end of the day we want the domain to not run until s3-resume is >> triggered. >> The natural way to do this within the hypervisor is to maintain a per- >> domain is_s3_suspended flag and domain_[un]pause() when this flag > toggles. > > We wouldn't need to do the pause if the code after the magic port write > did "cli;hlt". Does it do this or loop? > [On real hardware the effect of the port write wouldn't be immediate, so > it must do something] It spins. But to take advantage of that we have to restructure s3-suspend/resume so that the reset of machine state happens in the resume hypercall. At that point suspend, from the point of view of Xen, becomes a no-op. I suppose we could do that... It seems a bit odd though and I don;t know that it's guaranteed that all operating systems will happily spin forever waiting for S3 oblivion. Some may time out. -- Keir