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] Re: [GIT PULL] pv/pcifront-2.6.32

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: Re: [Xen-devel] Re: [GIT PULL] pv/pcifront-2.6.32
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Tue, 2 Mar 2010 16:54:32 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 02 Mar 2010 14:20:23 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4B8D7127.5070907@xxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20100302031217.GB881@xxxxxxxxxxxxxxxxxxx> <4B8D7127.5070907@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.19 (2009-01-05)
On Tue, Mar 02, 2010 at 12:12:23PM -0800, Jeremy Fitzhardinge wrote:
> On 03/01/2010 07:12 PM, Konrad Rzeszutek Wilk wrote:
>> Hey Jeremy,
>>
>> Please pull from
>> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git 
>> pv/pcifront-2.6.32
>>
>> It is a back-port of the Xen PCI front driver (not the SR-IOV one, just
>> old plain one). It has been tested with a bare 2.6.32 tree
>> (pv/master.2.6.32) and with xen/next
>>
>> The merge of this is a bit hairy, so I did my own which is available in
>> the pv/xen.next.merge (which is basically xen/next + pv/pcifront-2.6.32
>> + pv/fbfbront + xen: Allow unprivileged Xen domains to create iomap
>> pages).
>>    
>
> I did a separate merge of the fbfront branch.  Can you do another merge  
> with just the pcifront stuff?

Done: pv/merge.xen.next
>
> (BTW, do you use git rerere?  It remembers the results of previous merge  
> resolutions and will apply them again if you re-merge.)

Oooh goodies. Will start using it.
>
>> To make the PCI front driver work, another patch has to be put added in
>> the xen/next (or better yet in the swiotlb - but it really does not seem
>> to fit there), which is the "xen: Allow unprivileged Xen domains to
>> create iomap pages" (5a7357bdb10b40414d97d7582f5467e4a709bd07)
>>    
>
> Do we really need that patch any more?  The comment doesn't seem to bear  
> any relationship to its contents any more; it talks about disallowing  
> ISA mappings, but all it does it mask write-through/uncachable from PTEs  
> for non-privileged domains, and I'm not sure that's even desirable.  I  
> think Xen will mask those flags from the PTE if the domain isn't allowed  
> to touch the device, and we want to be able to let passthrough mappings  
> to be uncached or writethrough.
>
> Do things break without it?

I needed it for v2.6.32 + jeremy/xen/dom0/konrad-swiotlb-2.6.32 +
konrad/pv/pcifront-2.6.32. Otherwise I would get this:

[    0.580008]   alloc kstat_irqs on node 0
[    0.586116] BUG: unable to handle kernel paging request at ffff88001fc9f7b0
[    0.586133] IP: [<ffffffff8100cb39>] xen_set_pte+0x42/0x4d
[    0.586149] PGD 1002067 PUD 1006067 PMD 1d4067 PTE 801000001fc9f065
[    0.586171] Oops: 0003 [#1] SMP 
[    0.586183] last sysfs file: 
[    0.586191] CPU 0 
[    0.586199] Modules linked in:
[    0.586211] Pid: 1, comm: swapper Not tainted 2.6.32NEB-00120-gd21d0fb #71 
[    0.586220] RIP: e030:[<ffffffff8100cb39>]  [<ffffffff8100cb39>] 
xen_set_pte+0x42/0x4d
[    0.586236] RSP: e02b:ffff88001fcffaf0  EFLAGS: 00010296
[    0.586245] RAX: 0000000000000000 RBX: ffff88001fc9f7b0 RCX: fffff7fffffff463
[    0.586255] RDX: 0000000000000000 RSI: fffff7fffffff463 RDI: ffff88001fc9f7b0
[    0.586265] RBP: ffff88001fcffb10 R08: ffffffff81547490 R09: 00000000000000d0
[    0.586275] R10: ffffffff81547160 R11: ffff88001bd3e480 R12: fffff7fffffff463
[    0.586285] R13: 0000000000000000 R14: ffffffff815560f0 R15: ffff88001fd00000
[    0.586299] FS:  0000000000000000(0000) GS:ffff880004ab8000(0000) 
knlGS:0000000000000000
[    0.586311] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    0.586320] CR2: ffff88001fc9f7b0 CR3: 0000000001001000 CR4: 0000000000002660
[    0.586331] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    0.586341] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    0.586352] Process swapper (pid: 1, threadinfo ffff88001fcfe000, task 
ffff88001fd00000)
[    0.586385] Stack:
[    0.586401]  ffff88001fcffb08 ffff88001fc9f7b0 fffff7fffffff463 
ffffc900000f6000
[    0.586423] <0> ffff88001fcffb70 ffffffff8100cd16 ffffffff8100c67b 
ffff88001fcffc20
[    0.586459] <0> ffffffff8100c241 ffff88001bd3e480 ffffffff81547160 
ffffc900000f7000
[    0.586499] Call Trace:
[    0.586515]  [<ffffffff8100cd16>] xen_set_pte_at+0xdb/0xea
[    0.586528]  [<ffffffff8100c67b>] ? xen_make_pte+0x9/0xb
[    0.586540]  [<ffffffff8100c241>] ? __raw_callee_save_xen_make_pte+0x11/0x1e
[    0.586555]  [<ffffffff811b9bc2>] ioremap_page_range+0x236/0x298
[    0.586569]  [<ffffffff81033e69>] __ioremap_caller+0x291/0x2f7
[    0.586581]  [<ffffffff81033f9d>] ioremap_nocache+0x12/0x14
[    0.586595]  [<ffffffff8127d25c>] usb_hcd_pci_probe+0x155/0x305
[    0.586608]  [<ffffffff8100f28d>] ? xen_spin_unlock+0x11/0x30
[    0.586622]  [<ffffffff811d0433>] local_pci_probe+0x12/0x16
[    0.586634]  [<ffffffff811d1138>] pci_device_probe+0xc2/0xf2
[    0.586648]  [<ffffffff8124c535>] ? driver_sysfs_add+0x47/0x6c
[    0.586660]  [<ffffffff8124c66d>] driver_probe_device+0x9a/0x11f
[    0.586673]  [<ffffffff8124c74a>] __driver_attach+0x58/0x7c
[    0.586685]  [<ffffffff8124c6f2>] ? __driver_attach+0x0/0x7c
[    0.586697]  [<ffffffff8124bce4>] bus_for_each_dev+0x4e/0x83
[    0.586710]  [<ffffffff8124c4ec>] driver_attach+0x19/0x1b
[    0.586721]  [<ffffffff8124c15d>] bus_add_driver+0xb1/0x200
[    0.586733]  [<ffffffff8124ca0c>] driver_register+0x98/0x109
[    0.586746]  [<ffffffff811d1381>] __pci_register_driver+0x53/0xc3
[    0.586759]  [<ffffffff815f5514>] ehci_hcd_init+0xbc/0xe7
[    0.586770]  [<ffffffff815f5458>] ? ehci_hcd_init+0x0/0xe7
[    0.586782]  [<ffffffff8100a05f>] do_one_initcall+0x59/0x154
[    0.586795]  [<ffffffff815c86bc>] kernel_init+0x165/0x1bb
[    0.586807]  [<ffffffff81012a6a>] child_rip+0xa/0x20
[    0.586819]  [<ffffffff81011c21>] ? int_ret_from_sys_call+0x7/0x1b
[    0.586831]  [<ffffffff810123dd>] ? retint_restore_args+0x5/0x6
[    0.586843]  [<ffffffff81012a60>] ? child_rip+0x0/0x20
[    0.586851] Code: ff ff 05 df 05 66 00 e8 63 fb ff ff 44 8b 2d db 05 66 00 
e8 fa ff 01 00 ff c8 0f 94 c0 0f b6 c0 46 8d 2c 28 44 89 2d c3 05 66 00 <4c> 89 
23 5b 5b 41 5c 41 5d c9 c3 55 48 89 e5 53 89 fb 48 83 ec 
[    0.587057] RIP  [<ffffffff8100cb39>] xen_set_pte+0x42/0x4d
[    0.587060]  RSP <ffff88001fcffaf0>
[    0.587060] CR2: ffff88001fc9f7b0
[    0.587060] ---[ end trace c6d643cd9bbe496e ]---


_But_, with xen/next + pv/pcifront there was no need for it.

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