From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: RE: [PATCH] Dom0 Kernel - Fixes forsaving/restoringMSI/MSI-X across Dom0 S3 Date: Mon, 24 Nov 2008 15:32:35 +0000 Message-ID: <492AD723.76E4.0078.0@novell.com> References: <492AA0F0.76E4.0078.0@novell.com> <0A882F4D99BBF6449D58E61AAFD7EDD601E23B69@pdsmsx502.ccr.corp.intel.com> <492ABBAA.76E4.0078.0@novell.com> <0A882F4D99BBF6449D58E61AAFD7EDD601E23B6B@pdsmsx502.ccr.corp.intel.com> <61563CE63B4F854986A895DA7AD3C17701FC5837@pdsmsx502.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <61563CE63B4F854986A895DA7AD3C17701FC5837@pdsmsx502.ccr.corp.intel.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Haitao Shan , Kevin Tian Cc: "'xen-devel@lists.xensource.com'" , 'Keir Fraser' List-Id: xen-devel@lists.xenproject.org >>> "Shan, Haitao" 24.11.08 14:55 >>> >Yes, clear enough as Kevin said. That is what I saw why S3 failed when = AHCI is enabled (AHCI uses MSI). I do not know whether it >is also the reason that Jan sees the need to add force unbind support of = MSI. >I have another question for saving/restoring in Xen if we do not use a = new hypercall. Devices are controller by dom0. At the point >Xen wants to save MSI during S3, dom0 may already places that device in = D3hot state, or it may also cease the device's function >via pci_disable_device. I doubt whether Xen can read device MMIO at that = time. But - as asked before - shouldn't the device undergo full re-initialization= after coming out of D3? Iirc, the AHCI/S3 bug results in a cannot-rebind-b= ecause-already-bound error, which would indicate to me that the driver = tries to create a new binding, and hence doesn't really need the device's = state saved (admitted, I didn't look closely at the driver's code so far). = It instead may just need Xen to clean up its internal state properly. But = really, I'm in no way a suspend/resume expert... Jan