[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Unknown interrupt on x86_64 Xen on ES7000 x86_64
Puthiyaparambil, Aravindh wrote: >> I have the same problem "Unknown Interrupt" on a DP machine. Looks >> like #PF is happening at => when xen is built with debug=y. >> >> static void map_alloc(unsigned long first_page, unsigned long >> nr_pages) { ... >> curr_idx = first_page / PAGES_PER_MAPWORD; >> start_off = first_page & (PAGES_PER_MAPWORD-1); >> end_idx = (first_page + nr_pages) / PAGES_PER_MAPWORD; >> end_off = (first_page + nr_pages) & (PAGES_PER_MAPWORD-1); >> >> if ( curr_idx == end_idx ) >> { >> alloc_bitmap[curr_idx] &= -(1UL<<end_off) | >> ((1UL<<start_off)-1); } >> else >> { >> alloc_bitmap[curr_idx] &= (1UL<<start_off)-1; >> while ( ++curr_idx != end_idx ) alloc_bitmap[curr_idx] = 0; >> => alloc_bitmap[curr_idx] &= -(1UL<<end_off); } >> } >> >> If I change >> while ( ++curr_idx != end_idx - 1 ) alloc_bitmap[curr_idx] = >> 0; I can work around it. > > Yes, that fixed the "Unknown Interrupt" problem. I am now seeing the > same issue that I am seeing on the Dell PowerEdge 470 x86_64 system. > > BTW, what is a DP machine? > > Aravindh > Try to use old version of arch/x86/time.c, for example, the one attached. You also might want to comment out: asmlinkage int do_page_fault(struct cpu_user_regs *regs) { ... xen_fault: if ( likely((fixup = search_exception_table(regs->eip)) != 0) ) { perfc_incrc(copy_user_faults); if ( !shadow_mode_enabled(d) ) // DPRINTK("Page fault: %p -> %p\n", _p(regs->eip), _p(fixup)); ; regs->eip = fixup; return 0; } Jun --- Intel Open Source Technology Center Attachment:
time.c _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |