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/
Home Products Support Community News


RE: [Xen-devel] Unknown interrupt on x86_64 Xen on ES7000 x86_64

To: "Puthiyaparambil, Aravindh" <aravindh.puthiyaparambil@xxxxxxxxxx>, "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
Subject: RE: [Xen-devel] Unknown interrupt on x86_64 Xen on ES7000 x86_64
From: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Date: Tue, 9 Aug 2005 21:39:34 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Davis, Jason" <jason.davis@xxxxxxxxxx>, "Magolan, John F" <John.Magolan@xxxxxxxxxx>, "Subrahmanian, Raj" <raj.subrahmanian@xxxxxxxxxx>, "Vessey, Bruce A" <Bruce.Vessey@xxxxxxxxxx>
Delivery-date: Wed, 10 Aug 2005 04:38:05 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcWdAZeo7cFZVA22QViz6u3TsjtZZwAR8SiAAAapuMA=
Thread-topic: [Xen-devel] Unknown interrupt on x86_64 Xen on ES7000 x86_64
Puthiyaparambil, Aravindh wrote:
>>> It looks like the page fault/interrupt is happening in map_alloc().
>>> I see that alloc_heap_pages() and map_alloc() are called before
>>> without any issues. Not sure why it is tripping up now. Any ideas?
>> Not really. Perhaps some part of the bitmap is not properly mapped? I
>> think you'll have to add a bunch more tracing -- find out what
>> address is actually faulting and work backwards to see why it's not
>> mapped. If it looks like it should be valid then maybe look at the
>> code that is intended to 1:1 map all RAM, in
>> arch/x86/setup.c:__start_xen() (the code is wrapped in
>> CONFIG_x86_64). 
> I found out that the "Unknown Interrupt" issue happens only when debug
> is turned on in Xen (verbose & debug=y in Rules.mk). When debug is
> turned off the systems dies in the middle of "Scrubbing Free RAM". I
> have attached a serial output of the boot messages
> (es7000_x86_64_nodebug_6065.txt). This could be Bugzilla #147.
> Should I be still trying to find the faulting address in the debug
> case? 
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) |
        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.

Intel Open Source Technology Center

Xen-devel mailing list