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

RE: [Xen-devel] X86_64 "assert" when booting 64-bit image.



Keir Fraser wrote:
> On 9 Feb 2006, at 17:16, Petersson, Mats wrote:
> 
>>> No, please try removing the if statement *as well*. That
>>> whole conditional return of 0 should go away -- the only
>>> return statement in that function should be the one on the
>>> final final of the function. Let me know how that works out.
>> 
>> So this is an updated patch...
>> 
>> I can't tell any difference - but then I'm not sure what type of
>> cases it's trying to catch... ;-)
> 
> Yes, that's the patch I wanted. You tested it and it works?
> 
>   -- Keir
> 
> 

I think that particular check is valid; it's basically saying "we shadow
page tables only". I feel mfn_is_page_table can be wrong with the type
PGT_fl1_shadow, which is bigger than PGT_l4_shadow.  Let me check and
come back. I slightly remember I needed to kill the check when I was
debugging the code, but not sure if it was triggered by a bug.
 

    if ( VALID_MFN(mfn) && mfn_valid(mfn) &&
         (stype != PGT_writable_pred) &&
         ((stype == PGT_snapshot)
          ? !mfn_out_of_sync(mfn)
          : !mfn_is_page_table(mfn)) )
    {
        perfc_incrc(shadow_status_shortcut);
#ifndef NDEBUG
        if ( ___shadow_status(d, gpfn, stype) != 0 )
        {
            printk("d->id=%d gpfn=%lx mfn=%lx stype=%lx c=%x t=%"
PRtype_info " "
                   "mfn_out_of_sync(mfn)=%d
mfn_is_page_table(mfn)=%d\n",
                   d->domain_id, gpfn, mfn, stype,
                   mfn_to_page(mfn)->count_info,
                   mfn_to_page(mfn)->u.inuse.type_info,
                   mfn_out_of_sync(mfn), mfn_is_page_table(mfn));
            BUG();
        }

        // Undo the affects of the above call to ___shadow_status()'s
perf
        // counters, since that call is really just part of an
assertion.
        //
        perfc_decrc(shadow_status_calls);
        perfc_decrc(shadow_status_miss);
#endif
        return 0;
    }
Jun
---
Intel Open Source Technology Center

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