[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: SATA pass-through woes



On 7 March 2011 09:36, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:
> On Fri, Mar 04, 2011 at 07:24:24PM -0800, Patrick Colp wrote:
>> A quick addendum to this:
>>
>> 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 other
> devices on the "failing" machine work with pass-through? What kind of
> machine is this? Does it have an IOMMU?

I actually fixed the issue by using AHCI mode for SATA. I could then
pass through the device and mount the drive without any issue. I
suppose the only downside is that in IDE mode, the SATA controller was
exposed as two separate devices, so I could pass through each
controller to a different domain (to give two domains raw access to
different disks). Not really a huge deal, though.

For reference, I'm running xen-unstable revision 22155, my network
device could be passed through with no issue, it's a Nehalem Xeon
W3520, and it does indeed have an IOMMU.


Patrick


>>
>> The issue is the same in both (constantly reading in 0xff from the
>> status port and SRST failing and eventually giving up).
>>
>>
>> Patrick
>>
>>
>> On 4 March 2011 18:38, Patrick Colp <pjcolp@xxxxxxxxx> wrote:
>> > I'm trying to pass my SATA controller through to a domain and have run
>> > 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 register
>> > , 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])
>> > Â Â Â ÂSubsystem: Intel Corporation Device 544e
>> > Â Â Â ÂControl: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
>> > Stepping- SERR- FastB2B- DisINTx-
>> > Â Â Â ÂStatus: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
>> > <TAbort- <MAbort- >SERR- <PERR- INTx-
>> > Â Â Â ÂLatency: 0
>> > Â Â Â ÂInterrupt: pin B routed to IRQ 19
>> > Â Â Â ÂRegion 0: I/O ports at 20c8 [size=8]
>> > Â Â Â ÂRegion 1: I/O ports at 20ec [size=4]
>> > Â Â Â ÂRegion 2: I/O ports at 20c0 [size=8]
>> > Â Â Â ÂRegion 3: I/O ports at 20e8 [size=4]
>> > Â Â Â ÂRegion 4: I/O ports at 20a0 [size=16]
>> > Â Â Â ÂRegion 5: Memory at d02c4000 (32-bit, non-prefetchable) [size=1K]
>> > Â Â Â ÂCapabilities: [70] Power Management version 2
>> > Â Â Â Â Â Â Â ÂFlags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
>> > PME(D0-,D1-,D2-,D3hot+,D3cold-)
>> > Â Â Â Â Â Â Â ÂStatus: D0 PME-Enable- DSel=0 DScale=0 PME-
>> > Â Â Â ÂKernel 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 port
>> > SATA IDE Controller #1 (prog-if 8f [Master SecP SecO PriP PriO])
>> > Â Â Â ÂSubsystem: Dell Device 0293
>> > Â Â Â ÂControl: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
>> > Stepping- SERR- FastB2B- DisINTx-
>> > Â Â Â ÂStatus: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
>> > <TAbort- <MAbort- >SERR- <PERR- INTx-
>> > Â Â Â ÂLatency: 0
>> > Â Â Â ÂInterrupt: pin C routed to IRQ 20
>> > Â Â Â ÂRegion 0: I/O ports at fe00 [size=8]
>> > Â Â Â ÂRegion 1: I/O ports at fe10 [size=4]
>> > Â Â Â ÂRegion 2: I/O ports at fe20 [size=8]
>> > Â Â Â ÂRegion 3: I/O ports at fe30 [size=4]
>> > Â Â Â ÂRegion 4: I/O ports at fec0 [size=16]
>> > Â Â Â ÂRegion 5: I/O ports at ecc0 [size=16]
>> > Â Â Â ÂCapabilities: [70] Power Management version 3
>> > Â Â Â Â Â Â Â ÂFlags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
>> > PME(D0-,D1-,D2-,D3hot-,D3cold-)
>> > Â Â Â Â Â Â Â ÂStatus: D0 PME-Enable- DSel=0 DScale=0 PME-
>> > Â Â Â ÂCapabilities: [b0] PCIe advanced features <?>
>> > Â Â Â ÂKernel driver in use: ata_piix
>> >
>> >
>> > Does anybody have any thoughts about what might be going on here?
>> >
>> >
>> > Patrick
>> >
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.