From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: listmail <listmail@triad.rr.com>, samuel.thibault@ens-lyon.org
Cc: xen-devel@lists.xensource.com
Subject: Re: pv-grub boot hangs when iommu=soft. Booting kernel directly with the flags works
Date: Mon, 5 Apr 2010 18:18:24 -0400 [thread overview]
Message-ID: <20100405221824.GA26620@phenom.dumpdata.com> (raw)
In-Reply-To: <4BBA5E4B.5010307@triad.rr.com>
On Mon, Apr 05, 2010 at 06:03:55PM -0400, listmail wrote:
> Per request of Konrad I am forwarding details on an issue I ran into.
Thanks.
Samuel,
It looks to be be related to the arguments being passed in to pvgrub.
With "extra='root=UUID=2bb30c38-70fc-4e9d-ae69-52db68589a2e ro iommu=soft swiotlb=force"
it fails. If the 'iommu=soft swiotlb=force' is removed it boots. I've
asked the user to move the 'ro' before the 'root' but still had the same
issue.
> The goal here was non VT-D pci passthrough to a pv guest. Konrad
> provided a working solution as detailed at the end of this post.
>
> dom 0 grub
> menuentry "Xen 4.0.0-rc8 / Ubuntu 10.4 kernel 2.6.32.10-xen2 pvops" {
> insmod ext2
> set root='(hd0,2)'
> search --no-floppy --fs-uuid --set 321dedfa-be48-4b4d-bff0-0e5ecce240fd
> multiboot /boot/xen-4.0.0-rc8.gz dummy=dummy iommu=0
> module /boot/vmlinuz-2.6.32.10-xen2 dummy=dummy root=/dev/sdc2 ro
> max_loop=64 xen-pciback.hide=(07:01.0)
> module /boot/initrd.img-2.6.32.10-xen2
> }
>
> # xm pci-list-assignable-devices
> 0000:07:01.0
>
> # dmesg |grep 07:01.0
> [ 0.000000] Command line: root=/dev/sdc2 ro max_loop=64
> xen-pciback.hide=(07:01.0)
> [ 0.211959] Kernel command line: root=/dev/sdc2 ro max_loop=64
> xen-pciback.hide=(07:01.0)
> [ 0.520930] pci 0000:07:01.0: reg 10 32bit mmio: [0xf4000000-0xf7ffffff]
> [ 0.558471] pciback 0000:07:01.0: seizing device
> [ 0.609245] pciback 0000:07:01.0: PCI INT A -> GSI 16 (level, low) ->
> IRQ 16
> [ 0.609299] pciback 0000:07:01.0: PCI INT A disabled
> [ 644.828556] pciback: vpci: 0000:07:01.0: assign to virtual slot 0
> [ 731.747948] pciback: vpci: 0000:07:01.0: assign to virtual slot 0
> <note this shows up when i start the domU>
> [ 731.748392] pciback 0000:07:01.0: device has been assigned to another
> domain! Over-writting the ownership, but beware.
>
> at which point i can see card assigned:
> # xm pci-list lucidpv
> domain bus slot func
> 0x0000 0x07 0x01 0x0
>
>
>
> domU grub
> title Ubuntu lucid (development branch), kernel 2.6.32.10-xen2
> root (hd0)
> kernel /boot/vmlinuz-2.6.32.10-xen2
> root=UUID=2bb30c38-70fc-4e9d-ae69-52db68589a2e ro iommu=soft
> swiotlb=force
> initrd /boot/initrd.img-2.6.32.10-xen2
>
>
> domU config
> kernel="/usr/lib/xen/boot/pv-grub-x86_64.gz"
> extra="(hd0)/boot/grub/menu.lst"
>
> name="lucidpv"
> memory=512
> maxmem=512
>
> vif=['bridge=xenbr0']
>
> disk = [ 'tap:aio:/etc/xen/images/lucidhvm.img,ioemu:xvda,w' ]
>
> pci = [ '07:01.0' ]
>
> on_reboot = 'destroy'
>
>
> domU output
> # xm create -c ubstub.cfg
> Using config file "/etc/xen/ubstub.cfg".
> Started domain lucidpv (id=2)
> Xen Minimal OS!
> start_info: 0xa9a000(VA)
> nr_pages: 0x20000
> shared_inf: 0xbf44d000(MA)
> pt_base: 0xa9d000(VA)
> nr_pt_frames: 0x9
> mfn_list: 0x99a000(VA)
> mod_start: 0x0(VA)
> mod_len: 0
> flags: 0x0
> cmd_line: (hd0)/boot/grub/menu.lst
> stack: 0x959980-0x979980
> MM: Init
> _text: 0x0(VA)
> _etext: 0x6987c(VA)
> _erodata: 0x83000(VA)
> _edata: 0x8bae0(VA)
> stack start: 0x959980(VA)
> _end: 0x999f88(VA)
> start_pfn: aa9
> max_pfn: 20000
> Mapping memory range 0xc00000 - 0x20000000
> setting 0x0-0x83000 readonly
> skipped 0x1000
> MM: Initialise page allocator for ba3000(ba3000)-20000000(20000000)
> MM: done
> Demand map pfns at 20001000-2020001000.
> Heap resides at 2020002000-4020002000.
> Booting command-list
>
> root (hd0)
> Filesystem type is ext2fs, using whole disk
> kernel /boot/vmlinuz-2.6.32.10-xen2
> root=UUID=2bb30c38-70fc-4e9d-ae69-52db68589a
> 2e ro iommu=soft swiotlb=force
> initrd /boot/initrd.img-2.6.32.10-xen2
>
> block error -2 for op 2
> close blk: backend=/local/domain/0/backend/vbd/2/51712 node=device/vbd/51712
> port 5 still bound!
>
>
> SOLUTION:
> Setting the following in the .cfg works:
>
> kernel = '/boot/vmlinuz-2.6.32.10-xen2'
> ramdisk= '/boot/initrd.img-2.6.32.10-xen2'
> extra='root=UUID=2bb30c38-70fc-4e9d-ae69-52db68589a2e ro iommu=soft
> swiotlb=force'
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2010-04-05 22:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-05 22:03 pv-grub boot hangs when iommu=soft. Booting kernel directly with the flags works listmail
2010-04-05 22:18 ` Konrad Rzeszutek Wilk [this message]
2010-04-06 0:25 ` Samuel Thibault
2010-04-07 16:24 ` Konrad Rzeszutek Wilk
2010-04-07 16:33 ` Samuel Thibault
2010-04-07 16:53 ` listmail
2010-04-07 16:57 ` Samuel Thibault
2010-07-06 16:06 ` Bruce Edge
2010-07-06 16:24 ` Richie
2010-07-06 18:54 ` Bruce Edge
2010-07-09 13:57 ` Konrad Rzeszutek Wilk
2010-07-06 16:42 ` pv-grub boot hangs when iommu=soft. Booting kernel directly with the flags works. MiniOS screws around with page flags Konrad Rzeszutek Wilk
2010-07-06 21:36 ` Richie
2010-07-07 13:25 ` Konrad Rzeszutek Wilk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100405221824.GA26620@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=listmail@triad.rr.com \
--cc=samuel.thibault@ens-lyon.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.