WARNING - OLD ARCHIVES

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

xen-devel

Re: [Xen-devel] Confused about start of day setup

To: Goswin von Brederlow <brederlo@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Confused about start of day setup
From: Goswin von Brederlow <brederlo@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 25 Sep 2007 01:50:29 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 24 Sep 2007 16:51:16 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <87fy13yk6v.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> (Goswin von Brederlow's message of "Mon, 24 Sep 2007 20:47:36 +0200")
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>
References: <C31DAA05.DF59%Keir.Fraser@xxxxxxxxxxxx> <87fy13yk6v.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.19 (linux)
Goswin von Brederlow <brederlo@xxxxxxxxxxxxxxxxxxxxxxxxxxx> writes:

> Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> writes:
>
>> On 23/9/07 06:29, "Goswin von Brederlow"
>> <brederlo@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>>
>>> Now here is an example output of this loop:
>>> 
>>> ERROR: -22 pinning failed: addr = 90000 [212000], op = 0, mfn = 212
>>> ERROR: -22 pinning failed: addr = 91000 [0], op = 0, mfn = 0
>>> ERROR: -22 pinning failed: addr = 92000 [b3d5000], op = 0, mfn = b3d5
>>> ERROR: -22 pinning failed: addr = 93000 [2000], op = 0, mfn = 2
>>> ERROR: -22 pinning failed: addr = 96000 [2000], op = 0, mfn = 2
>>> ERROR: -22 pinning failed: addr = 97000 [1000000], op = 0, mfn = 1000
>>> ERROR: -22 pinning failed: addr = 98000 [0], op = 0, mfn = 0
>>> ERROR: -22 pinning failed: addr = 99000 [1000], op = 0, mfn = 1
>>> ERROR: -22 pinning failed: addr = 9a000 [0], op = 0, mfn = 0
>>
>> The [phys] values look screwed. There are duplicates and many are 0! So it
>> looks rather like your p2m lookup logic is broken somehow.
>>
>>  -- Keir
>
> I can't fathom what could be wrong with this:
>
> unsigned long *phys_to_machine_mapping;
> phys_to_machine_mapping = (unsigned long *)start_info.mfn_list;
>
> machine_address = phys_to_machine_mapping[(addr - VIRT_START) >> PAGE_SHIFT] 
> << PAGE_SHIFT;
>
> The code is too simple and it works for all other pages outside that
> one range. No I don't think it is this piece of code. But if there is
> nothing to be there than the data itself must be corrupt. Although I
> can't think of anything that could be overwriting that
> phys_to_machine_mapping array.
>
> Maybe I could hack the domain creator to map the array read-only and
> see if I get a segfault?
>
> MfG
>         Goswin

It seems that my stack ends up in the middle of the
phys_to_machine_mapping for some reason. I don't know if that is
already broken in Mini-OS or if I broke something though.

MfG
        Goswin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel