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

Re: [Xen-devel] Re: [GIT PULL] pv/pcifront-2.6.32



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


 


Rackspace

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