WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: "Stephan Seitz" <s.seitz@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 0/4] [AMD IOMMU] Enable PCI passthru for HVM guest
From: "Wei Wang2" <wei.wang2@xxxxxxx>
Date: Mon, 18 Feb 2008 14:06:36 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 18 Feb 2008 05:07:27 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <47B96BCE.1030103@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C375FA43.19397%Keir.Fraser@xxxxxxxxxxxx> <47B96BCE.1030103@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>