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

Re: [Xen-devel] [PATCH 0/4] [AMD IOMMU] Enable PCI passthru for HVM guest



On Mon, 2008-02-18 at 12:28 +0100, Stephan Seitz wrote:
> Hi developers,
> 
> i'm currently trying to test pci passthru on a ht2000/ht1000 platform (Tyan 
> h2000M (S3992-E) ).
> Using enable_amd_iommu with Xen 3.2.0 shows "AMD IOMMU not present".
> Could reworking this patch into 3.2.0 could solve this issue?
> Or has this patch made it into xen-unstable, or is superseded by some later 
> work?
> 
> Thanks for any response!
This patch aimed to ht1100. Due to some BIOS issues, this patch has a
workaround to enable ht1100 iommu. I hope this problem should be fixed
before custom delivery and therefore, the current 3.2-unstable should
also work without that messy workaround. However, If you get a ht1100
machine which is not functional with current xen-unstable please let me
know.
 
> Maybe IOMMU isn't supported on this mainborad, but I'm unable to get a clear 
> answer from tyan.
> 
> lspci -v shows following devices:
> 
> 00:01.0 PCI bridge: Broadcom BCM5785 [HT1000] PCI/PCI-X Bridge (prog-if 00 
> [Normal decode])
>       Flags: bus master, fast devsel, latency 64
>       Bus: primary=00, secondary=01, subordinate=03, sec-latency=64
>       I/O behind bridge: 00009000-0000afff
>       Memory behind bridge: f8700000-f88fffff
>       Prefetchable memory behind bridge: 00000000af500000-00000000afcfffff
>       Capabilities: [90] PCI-X bridge device
>       Capabilities: [a0] HyperTransport: MSI Mapping
>       Capabilities: [b0] HyperTransport: Slave or Primary Interface
>       Capabilities: [d8] Subsystem: Gammagraphx, Inc. Unknown device 0000
> 
> 00:02.0 Host bridge: Broadcom BCM5785 [HT1000] Legacy South Bridge
>       Subsystem: Broadcom Unknown device 0201
>       Flags: bus master, medium devsel, latency 64
> 
> 00:02.1 IDE interface: Broadcom BCM5785 [HT1000] IDE (prog-if 8a [Master SecP 
> PriP])
>       Subsystem: Broadcom BCM5785 [HT1000] IDE
>       Flags: bus master, medium devsel, latency 64
>       I/O ports at 01f0 [size=8]
>       I/O ports at 03f4 [size=1]
>       I/O ports at 0170 [size=8]
>       I/O ports at 0374 [size=1]
>       I/O ports at ffa0 [size=16]
> 
> 00:02.2 ISA bridge: Broadcom BCM5785 [HT1000] LPC
>       Subsystem: Broadcom Unknown device 0230
>       Flags: bus master, medium devsel, latency 0
> 
> 00:03.0 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01) (prog-if 10 
> [OHCI])
>       Subsystem: Broadcom BCM5785 [HT1000] USB
>       Flags: 66MHz, medium devsel, IRQ 10
>       Memory at febf9000 (32-bit, non-prefetchable) [disabled] [size=4K]
>       I/O ports at e000 [disabled] [size=256]
>       Capabilities: [dc] Power Management version 2
> 
> 00:03.1 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01) (prog-if 10 
> [OHCI])
>       Subsystem: Broadcom BCM5785 [HT1000] USB
>       Flags: 66MHz, medium devsel, IRQ 10
>       Memory at febfa000 (32-bit, non-prefetchable) [disabled] [size=4K]
>       I/O ports at e400 [disabled] [size=256]
>       Capabilities: [dc] Power Management version 2
> 
> 00:03.2 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01) (prog-if 20 
> [EHCI])
>       Subsystem: Broadcom BCM5785 [HT1000] USB
>       Flags: 66MHz, medium devsel, IRQ 10
>       Memory at febfb000 (32-bit, non-prefetchable) [disabled] [size=4K]
>       I/O ports at e800 [disabled] [size=256]
>       Capabilities: [dc] Power Management version 2
> 
> 00:04.0 Ethernet controller: Intel Corporation 82557/8/9 Ethernet Pro 100 
> (rev 10)
>       Subsystem: Intel Corporation EtherExpress PRO/100 S Server Adapter
>       Flags: bus master, medium devsel, latency 64, IRQ 16
>       Memory at febf8000 (32-bit, non-prefetchable) [size=4K]
>       I/O ports at ec00 [size=64]
>       Memory at febc0000 (32-bit, non-prefetchable) [size=128K]
>       Capabilities: [dc] Power Management version 2
> 
> 00:06.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-X bridge (rev b0) (prog-if 
> 00 [Normal decode])
>       Flags: bus master, fast devsel, latency 64
>       Bus: primary=00, secondary=04, subordinate=04, sec-latency=64
>       Capabilities: [90] PCI-X bridge device
>       Capabilities: [a0] HyperTransport: MSI Mapping
>       Capabilities: [b0] HyperTransport: Slave or Primary Interface
> 
> 00:07.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-X bridge (rev b0) (prog-if 
> 00 [Normal decode])
>       Flags: bus master, fast devsel, latency 64
>       Bus: primary=00, secondary=05, subordinate=05, sec-latency=64
>       Memory behind bridge: f8900000-f89fffff
>       Prefetchable memory behind bridge: 00000000afd00000-00000000afdfffff
>       Capabilities: [90] PCI-X bridge device
>       Capabilities: [a0] HyperTransport: MSI Mapping
> 
> 00:08.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev b0) 
> (prog-if 00 [Normal decode])
>       Flags: bus master, fast devsel, latency 0
>       Bus: primary=00, secondary=06, subordinate=06, sec-latency=64
>       I/O behind bridge: 0000b000-0000bfff
>       Memory behind bridge: f8a00000-feafffff
>       Prefetchable memory behind bridge: 00000000afe00000-00000000cfefffff
>       Capabilities: [a0] HyperTransport: MSI Mapping
>       Capabilities: [b0] Express Root Port (Slot-) IRQ 0
> 
> 00:09.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev b0) 
> (prog-if 00 [Normal decode])
>       Flags: bus master, fast devsel, latency 0
>       Bus: primary=00, secondary=07, subordinate=07, sec-latency=64
>       Capabilities: [a0] HyperTransport: MSI Mapping
>       Capabilities: [b0] Express Root Port (Slot-) IRQ 0
> 
> 00:0a.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev b0) 
> (prog-if 00 [Normal decode])
>       Flags: bus master, fast devsel, latency 0
>       Bus: primary=00, secondary=08, subordinate=08, sec-latency=64
>       Capabilities: [a0] HyperTransport: MSI Mapping
>       Capabilities: [b0] Express Root Port (Slot-) IRQ 0
> 
> 00:0b.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev b0) 
> (prog-if 00 [Normal decode])
>       Flags: bus master, fast devsel, latency 0
>       Bus: primary=00, secondary=09, subordinate=09, sec-latency=64
>       Capabilities: [a0] HyperTransport: MSI Mapping
>       Capabilities: [b0] Express Root Port (Slot-) IRQ 0
> 
> 00:0c.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02) 
> (prog-if 00 [VGA])
>       Subsystem: ATI Technologies Inc ES1000
>       Flags: stepping, medium devsel, IRQ 17
>       Memory at d8000000 (32-bit, prefetchable) [disabled] [size=128M]
>       I/O ports at d000 [disabled] [size=256]
>       Memory at febe0000 (32-bit, non-prefetchable) [disabled] [size=64K]
>       Expansion ROM at feba0000 [disabled] [size=128K]
>       Capabilities: [50] Power Management version 2
> 
> 00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] HyperTransport Configuration
>       Flags: fast devsel
>       Capabilities: [80] HyperTransport: Host or Secondary Interface
>       Capabilities: [a0] HyperTransport: Host or Secondary Interface
>       Capabilities: [c0] HyperTransport: Host or Secondary Interface
> 
> 00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] Address Map
>       Flags: fast devsel
> 
> 00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] DRAM Controller
>       Flags: fast devsel
> 
> 00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] Miscellaneous Control
>       Flags: fast devsel
>       Capabilities: [f0] #0f [0010]
> 
> 00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] Link Control
>       Flags: fast devsel
>       Capabilities: [c0] HyperTransport: Host or Secondary Interface
> 
> 00:19.0 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] HyperTransport Configuration
>       Flags: fast devsel
>       Capabilities: [80] HyperTransport: Host or Secondary Interface
>       Capabilities: [a0] HyperTransport: Host or Secondary Interface
>       Capabilities: [c0] HyperTransport: Host or Secondary Interface
> 
> 00:19.1 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] Address Map
>       Flags: fast devsel
> 
> 00:19.2 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] DRAM Controller
>       Flags: fast devsel
> 
> 00:19.3 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] Miscellaneous Control
>       Flags: fast devsel
>       Capabilities: [f0] #0f [0010]
> 
> 00:19.4 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, 
> Athlon64, Sempron] Link Control
>       Flags: fast devsel
>       Capabilities: [80] HyperTransport: Host or Secondary Interface
>       Capabilities: [c0] HyperTransport: Host or Secondary Interface
> 
> 01:0d.0 PCI bridge: Broadcom BCM5785 [HT1000] PCI/PCI-X Bridge (rev c0) 
> (prog-if 00 [Normal decode])
>       Flags: bus master, 66MHz, medium devsel, latency 64
>       Bus: primary=01, secondary=02, subordinate=03, sec-latency=64
>       Memory behind bridge: f8700000-f87fffff
>       Prefetchable memory behind bridge: 00000000af500000-00000000afcfffff
>       Capabilities: [90] PCI-X bridge device
>       Capabilities: [88] Subsystem: Illegal Vendor ID Unknown device ffff
> 
> 01:0e.0 IDE interface: Broadcom BCM5785 [HT1000] SATA (PATA/IDE Mode) 
> (prog-if 8f [Master SecP SecO PriP PriO])
>       Subsystem: Broadcom BCM5785 [HT1000] SATA (PATA/IDE Mode)
>       Flags: bus master, medium devsel, latency 64, IRQ 11
>       I/O ports at ac00 [size=8]
>       I/O ports at a880 [size=4]
>       I/O ports at a800 [size=8]
>       I/O ports at a480 [size=4]
>       I/O ports at a400 [size=16]
>       Memory at f88fe000 (32-bit, non-prefetchable) [size=8K]
>       Expansion ROM at f88c0000 [disabled] [size=128K]
>       Capabilities: [60] PCI-X non-bridge device
>       Capabilities: [90] Power Management version 2
>       Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 
> Enable-
> 
> 01:0e.1 IDE interface: Broadcom BCM5785 [HT1000] SATA (PATA/IDE Mode) 
> (prog-if 8f [Master SecP SecO PriP PriO])
>       Subsystem: Broadcom BCM5785 [HT1000] SATA (PATA/IDE Mode)
>       Flags: 66MHz, medium devsel, IRQ 11
>       I/O ports at a080 [size=8]
>       I/O ports at a000 [size=4]
>       I/O ports at 9c00 [size=8]
>       I/O ports at 9880 [size=4]
>       I/O ports at 9800 [size=16]
>       Capabilities: [60] PCI-X non-bridge device
>       Capabilities: [90] Power Management version 2
>       Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 
> Enable-
> 
> 02:07.0 PCI bridge: Intel Corporation 80331 [Lindsay] I/O processor (PCI-X 
> Bridge) (rev 0a) (prog-if 00 [Normal decode])
>       Flags: bus master, 66MHz, medium devsel, latency 64
>       Bus: primary=02, secondary=03, subordinate=03, sec-latency=64
>       Memory behind bridge: f8700000-f87fffff
>       Prefetchable memory behind bridge: 00000000af500000-00000000afcfffff
>       Capabilities: [dc] Power Management version 2
>       Capabilities: [f0] PCI-X bridge device
> 
> 03:0e.0 RAID bus controller: Areca Technology Corp. ARC-1110 4-Port PCI-X to 
> SATA RAID Controller
>       Subsystem: Areca Technology Corp. ARC-1110 4-Port PCI-X to SATA RAID 
> Controller
>       Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 23
>       Memory at f87ff000 (32-bit, non-prefetchable) [size=4K]
>       Memory at af800000 (32-bit, prefetchable) [size=4M]
>       Expansion ROM at f87e0000 [disabled] [size=64K]
>       Capabilities: [c0] Power Management version 2
>       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 
> Enable-
>       Capabilities: [e0] PCI-X non-bridge device
> 
> 05:04.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5780 Gigabit 
> Ethernet (rev 10)
>       Subsystem: Broadcom Corporation NetXtreme BCM5780 Gigabit Ethernet
>       Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 26
>       Memory at f89d0000 (64-bit, non-prefetchable) [size=64K]
>       Memory at f89c0000 (64-bit, non-prefetchable) [size=64K]
>       Capabilities: [40] PCI-X non-bridge device
>       Capabilities: [48] Power Management version 2
>       Capabilities: [50] Vital Product Data
>       Capabilities: [58] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3 
> Enable-
> 
> 05:04.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5780 Gigabit 
> Ethernet (rev 10)
>       Subsystem: Broadcom Corporation NetXtreme BCM5780 Gigabit Ethernet
>       Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 27
>       Memory at f89f0000 (64-bit, non-prefetchable) [size=64K]
>       Memory at f89e0000 (64-bit, non-prefetchable) [size=64K]
>       Capabilities: [40] PCI-X non-bridge device
>       Capabilities: [48] Power Management version 2
>       Capabilities: [50] Vital Product Data
>       Capabilities: [58] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3 
> Enable-
> 
> 06:00.0 VGA compatible controller: nVidia Corporation GeForce 8600 GT (rev 
> a1) (prog-if 00 [VGA])
>       Flags: fast devsel, IRQ 28
>       Memory at fd000000 (32-bit, non-prefetchable) [disabled] [size=16M]
>       Memory at b0000000 (64-bit, prefetchable) [disabled] [size=256M]
>       Memory at fa000000 (64-bit, non-prefetchable) [disabled] [size=32M]
>       I/O ports at bc00 [disabled] [size=128]
>       Expansion ROM at feae0000 [disabled] [size=128K]
>       Capabilities: [60] Power Management version 2
>       Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 
> Enable-
>       Capabilities: [78] Express Endpoint IRQ 0
> 
> 
> 
> 
> Cheers,
> 
> Stephan
> 
> 
> 
> 
> Keir Fraser schrieb:
> > I assume this isn't intended for 3.2.0?
> > 
> >  -- Keir
> > 
> > 
> > On 30/11/07 15:49, "Wei Wang2" <wei.wang2@xxxxxxx> wrote:
> > 
> >> Hi, 
> >> The following 4 patches enable direct device assignment (PCI passthru)
> >> for HVM guest
> >> on AMD IOMMU platforms. Please apply them against C/S 16491 as the named
> >> order.
> >> To enable AMD IOMMU, please add "enable_amd_iommu" as xen boot
> >> parameter. 
> >>
> >> 1-cleanup.patch: code cleanup, bug fix, minor enhancements to existing
> >> amd-iommu codes.
> >> 2-passthru-amd.patch: passthru support, modifications to exsiting
> >> amd-iommu codes.
> >> 3-passthru-xen.patch: passthru support, minimodifications to in xen and
> >> vtd code.
> >> 4-ht1100.patch: fixup to ht1100 chipset detection.
> >>
> >>
> >> Signed-off-by: Wei Wang <wei.wang2@xxxxxxx>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> 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
> 
AFAIK, HT2000/1000 does not include any AMD-IOMMU functionality.
According to the spec, IOMMU device has a PCI class 08h and a subclass
06h. Use lspci -xxx to find if such a device is present on your
mainbroad.

Cheers,
-Wei




_______________________________________________
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®.