[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel][PATCH][VTD] add hypercalls needed for VTD
Applied, thanks. On Wed, Oct 22, 2008 at 03:12:29PM +0800, Xu, Anthony wrote: > The new one, > I applies manually #Cset 18649 -- 18653 in xen-devel tree on #Cset 18637. > Tested by booting rhel5.1 guest. > > Please pull xen-devel tree and apply this patch. > I'll send out other patches soon. > > Thanks > Anthony > > > > > > Isaku Yamahata wrote: > > Hi Anthony. > > With the following 3 patches applied, xen panics. > > > > 0 A hypercall_for_vtd2.patch > > 1 A ia64-px-xen-setpxinfo-update.patch > > 2 A add_head_file_for_VTD2.patch > > > > dom0->arch.pdev_list doesn't seem to be initialized. > > diversity_vtd.patch has the corresponding line, but the hunk should > > be included in add_head_file_for_VTD2.patch. The patch should be > > complete itself. > > > > ip corresponds to the line > > int pci_add_device(u8 bus, u8 devfn) > > ... > > list_add(&pdev->domain_list, &dom0->arch.pdev_list); > > > > > > Please test patches before sending. > > > > thanks, > > > > (XEN) *** xen_handle_domain_access: exception table lookup failed, > > iip=0xf40000000406e340, addr=0x8, spinning... (XEN) $$$$$ PANIC in > > domain 0 (k6=0xf0000002f65d0000): *** xen_handle_domain_access: > > exception table lookup failed, iip=0xf40000000406e340, addr=0x8, > > spinning... (XEN) d 0xf000000004770080 domid 0 (XEN) vcpu > > 0xf0000002f65d0000 vcpu 0 (XEN) (XEN) CPU 5 > > (XEN) psr : 0000121008226018 ifs : 800000000000050e ip : > > [<f40000000406e341>] (XEN) ip is at pci_add_device+0x1b1/0x250 > > (XEN) unat: 0000000000000000 pfs : 000000000000050e rsc : > > 0000000000000003 (XEN) rnat: 0000000000000000 bsps: 0000000000000000 > > pr : 000000000000a559 (XEN) ldrs: 0000000000000000 ccv : > > 0000000000000000 fpsr: 0009804c0270033f (XEN) csd : 0000000000000000 > > ssd : 0000000000000000 (XEN) b0 : f40000000406e2e0 b6 : > > f400000004099eb0 b7 : f400000004002e30 (XEN) f6 : > > 000000000000000000000 f7 : 0ffe3d7c0000000000000 (XEN) f8 : > > 1000bd7c0000000000000 f9 : 10000c000000000000000 (XEN) f10 : > > 1000a8fd5555554c58000 f11 : 1003e00000000000008fd (XEN) r1 : > > f4000000043f89f0 r2 : f0000002f65d7dd0 r3 : 000000000000050e (XEN) > > r8 : f00000000436be30 r9 : 0000000000000000 r10 : 2000000000000000 > > (XEN) r11 : 0000000000000008 r12 : f0000002f65d7dd0 r13 : > > f0000002f65d0000 (XEN) r14 : f000000004770740 r15 : 0000000000000000 > > r16 : 0000000000000008 (XEN) r17 : f00000000436be38 r18 : > > f00000000436be50 r19 : f00000000436be70 (XEN) r20 : f00000000436be60 > > r21 : f00000000436be48 r22 : f00000000436be68 (XEN) r23 : > > 0000000000000002 r24 : 00000000000000e8 r25 : 0000000000000000 (XEN) > > r26 : 00000000000c0300 r27 : 0000000000000000 r28 : 0000000000000000 > > (XEN) r29 : 0000000080000000 r30 : 0000000000000000 r31 : > > f00000000436be60 (XEN) (XEN) Call Trace: (XEN) [<f4000000040fb4c0>] > > show_stack+0x90/0xb0 (XEN) > > sp=f0000002f65d7880 bsp=f0000002f65d18d8 (XEN) [<f4000000040fbf80>] > > show_registers+0xaa0/0xac0 (XEN) > > sp=f0000002f65d7a50 bsp=f0000002f65d1898 (XEN) [<f4000000040c1440>] > > panic_domain+0x120/0x170 (XEN) > > sp=f0000002f65d7a50 bsp=f0000002f65d1828 (XEN) [<f4000000040b2220>] > > ia64_do_page_fault+0x710/0x720 (XEN) > > sp=f0000002f65d7b90 bsp=f0000002f65d1788 (XEN) [<f4000000040f2ca0>] > > ia64_leave_kernel+0x0/0x300 (XEN) > > sp=f0000002f65d7bd0 bsp=f0000002f65d1788 (XEN) [<f40000000406e340>] > > pci_add_device+0x1b0/0x250 (XEN) > > sp=f0000002f65d7dd0 bsp=f0000002f65d1718 (XEN) [<f400000004099f40>] > > do_physdev_op+0x5b0/0x8e0 (XEN) > > sp=f0000002f65d7dd0 bsp=f0000002f65d16e8 (XEN) [<f400000004002e60>] > > fast_hypercall+0x170/0x310 (XEN) > > sp=f0000002f65d7e00 bsp=f0000002f65d16e8 (XEN) domain_crash_sync > > called from xenmisc.c:141 (XEN) Domain 0 (vcpu#0) crashed on cpu#5: > > (XEN) d 0xf000000004770080 domid 0 > > (XEN) vcpu 0xf0000002f65d0000 vcpu 0 > > (XEN) > > > > > > On Tue, Oct 21, 2008 at 06:36:35PM +0800, Xu, Anthony wrote: > >> Updated one per your comments > >> > >> Thanks, > >> Anthony > >> > >> Isaku Yamahata wrote: > >>> On Tue, Oct 21, 2008 at 05:05:51PM +0800, Xu, Anthony wrote: > >>>> Add hypercalls needed for VTD > >>>> > >>>> Signed-off-by; Anthony Xu < anthony.xu@xxxxxxxxx > > >>> > >>> > >>>> diff -r 3b1ff707d130 -r 55251ad3e262 xen/arch/ia64/xen/hypercall.c > >>>> --- a/xen/arch/ia64/xen/hypercall.c Tue Oct 21 10:41:54 2008 > >>>> +0800 +++ b/xen/arch/ia64/xen/hypercall.c Tue Oct 21 14:12:29 > >>>> 2008 +0800 @@ -35,6 +35,7 @@ #include > >>>> <public/arch-ia64/debug_op.h> #include <asm/sioemu.h> #include > >>>> <public/arch-ia64/sioemu.h> +#include <xen/pci.h> > >>>> > >>>> static IA64FAULT > >>>> xen_hypercall (struct pt_regs *regs) > >>>> @@ -313,6 +314,22 @@ > >>>> iosapic_guest_write( > >>>> unsigned long physbase, unsigned int reg, u32 pval); > >>>> > >>>> + > >>>> +/* > >>>> + * XXX We don't support MSI for PCI passthrough, so just return > >>>> success + */ +static int physdev_map_pirq(struct physdev_map_pirq > >>>> *map) +{ + return 0; +} > >>>> + > >>>> +static int physdev_unmap_pirq(struct physdev_unmap_pirq *unmap) > >>>> +{ + return 0; +} > >>>> + > >>>> + > >>>> + > >>>> long do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg) { > >>>> int irq; > >>> > >>> -ENOSYS? > >>> Or is other code confused with -ENOSYS? > >>> > >>> > >>>> diff -r 3b1ff707d130 -r 55251ad3e262 xen/arch/ia64/xen/mm.c > >>>> --- a/xen/arch/ia64/xen/mm.c Tue Oct 21 10:41:54 2008 +0800 > >>>> +++ b/xen/arch/ia64/xen/mm.c Tue Oct 21 14:12:29 2008 +0800 @@ > >>>> -1456,12 +1456,38 @@ BUG_ON(mfn != pte_pfn(ret_pte)); > >>>> } > >>>> > >>>> + perfc_incr(zap_domain_page_one); > >>>> + if(!mfn_valid(mfn)) > >>>> + return; > >>>> + > >>>> page = mfn_to_page(mfn); > >>>> BUG_ON((page->count_info & PGC_count_mask) == 0); > >>>> > >>>> BUG_ON(clear_PGC_allocate && (page_get_owner(page) == NULL)); > >>>> domain_put_page(d, mpaddr, pte, old_pte, clear_PGC_allocate); > >>>> - perfc_incr(zap_domain_page_one); > >>>> +} > >>> > >>> The BUG_ON() above this hunk should be updated too. something like > >>> - BUG_ON(page_get_owner(mfn_to_page(mfn)) != d && > >>> - page_get_owner(mfn_to_page(mfn)) != NULL); > >>> + BUG_ON(mfn_valid(mfn) && > >>> + page_get_owner(mfn_to_page(mfn)) != d && > >>> + page_get_owner(mfn_to_page(mfn)) != NULL); > >>> > >>> > >>> thanks, > > > > > >> _______________________________________________ > >> Xen-ia64-devel mailing list > >> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > >> http://lists.xensource.com/xen-ia64-devel > _______________________________________________ > Xen-ia64-devel mailing list > Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-ia64-devel -- yamahata _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |