From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: Re: SATA pass-through woes Date: Mon, 7 Mar 2011 12:36:46 -0500 Message-ID: <20110307173646.GA4930@dumpdata.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline 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: Patrick Colp Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On Fri, Mar 04, 2011 at 07:24:24PM -0800, Patrick Colp wrote: > A quick addendum to this: >=20 > I've tried with both PVOPS (2.6.31.13 and 2.6.32.26) and 2.6.18 > kernels. For 2.6.18, the SATA driver doesn't work, so I use the PIIXn > regular ATA IDE driver (in the BIOS I have the SATA set to export the > device in IDE mode rather than AHCI, as I don't think I can pass AHCI > devices through). And what does your guest config file look like? What does your serial log look like? What version of Xen are you using (please provide c/s)?Do othe= r devices on the "failing" machine work with pass-through? What kind of machine is this? Does it have an IOMMU? >=20 > The issue is the same in both (constantly reading in 0xff from the > status port and SRST failing and eventually giving up). >=20 >=20 > Patrick >=20 >=20 > On 4 March 2011 18:38, Patrick Colp wrote: > > I'm trying to pass my SATA controller through to a domain and have ru= n > > into a weird situation. I have two machines with the same general > > class of hardware (Intel PIIX) and the pass-through works on one > > machine but not the other. On the non-working system, the SATA > > controller makes port reads, but they don't return the correct values= . > > For example, when running it in dom0, when polling the bmdma status > > register, it returns 0x60 and when polling the command status registe= r > > , it returns 0x50. However, when passing it through, the bmdma > > register returns 0x0 and the command register returns 0xff (the error > > register also returns 0xff, shedding no additional light on the > > situation). > > > > This is the hardware on the working system: > > > > 00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE > > Controller (rev 01) (prog-if 8f [Master SecP SecO PriP PriO]) > > =A0 =A0 =A0 =A0Subsystem: Intel Corporation Device 544e > > =A0 =A0 =A0 =A0Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGAS= noop- ParErr- > > Stepping- SERR- FastB2B- DisINTx- > > =A0 =A0 =A0 =A0Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=3Dmed= ium >TAbort- > > SERR- > =A0 =A0 =A0 =A0Latency: 0 > > =A0 =A0 =A0 =A0Interrupt: pin B routed to IRQ 19 > > =A0 =A0 =A0 =A0Region 0: I/O ports at 20c8 [size=3D8] > > =A0 =A0 =A0 =A0Region 1: I/O ports at 20ec [size=3D4] > > =A0 =A0 =A0 =A0Region 2: I/O ports at 20c0 [size=3D8] > > =A0 =A0 =A0 =A0Region 3: I/O ports at 20e8 [size=3D4] > > =A0 =A0 =A0 =A0Region 4: I/O ports at 20a0 [size=3D16] > > =A0 =A0 =A0 =A0Region 5: Memory at d02c4000 (32-bit, non-prefetchable= ) [size=3D1K] > > =A0 =A0 =A0 =A0Capabilities: [70] Power Management version 2 > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Flags: PMEClk- DSI- D1- D2- AuxCurrent= =3D0mA PME(D0-,D1-,D2-,D3hot+,D3cold-) > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Status: D0 PME-Enable- DSel=3D0 DScale= =3D0 PME- > > =A0 =A0 =A0 =A0Kernel driver in use: ata_piix > > > > > > This is the hardware on the non-working system: > > > > 00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 por= t > > SATA IDE Controller #1 (prog-if 8f [Master SecP SecO PriP PriO]) > > =A0 =A0 =A0 =A0Subsystem: Dell Device 0293 > > =A0 =A0 =A0 =A0Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGAS= noop- ParErr- > > Stepping- SERR- FastB2B- DisINTx- > > =A0 =A0 =A0 =A0Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=3Dmed= ium >TAbort- > > SERR- > =A0 =A0 =A0 =A0Latency: 0 > > =A0 =A0 =A0 =A0Interrupt: pin C routed to IRQ 20 > > =A0 =A0 =A0 =A0Region 0: I/O ports at fe00 [size=3D8] > > =A0 =A0 =A0 =A0Region 1: I/O ports at fe10 [size=3D4] > > =A0 =A0 =A0 =A0Region 2: I/O ports at fe20 [size=3D8] > > =A0 =A0 =A0 =A0Region 3: I/O ports at fe30 [size=3D4] > > =A0 =A0 =A0 =A0Region 4: I/O ports at fec0 [size=3D16] > > =A0 =A0 =A0 =A0Region 5: I/O ports at ecc0 [size=3D16] > > =A0 =A0 =A0 =A0Capabilities: [70] Power Management version 3 > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Flags: PMEClk- DSI- D1- D2- AuxCurrent= =3D0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Status: D0 PME-Enable- DSel=3D0 DScale= =3D0 PME- > > =A0 =A0 =A0 =A0Capabilities: [b0] PCIe advanced features > > =A0 =A0 =A0 =A0Kernel driver in use: ata_piix > > > > > > Does anybody have any thoughts about what might be going on here? > > > > > > Patrick > > >=20 > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel