[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
Description: time.c

_______________________________________________
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®.