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-ia64-devel

Re: [Xen-ia64-devel] pickled code

To: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] pickled code
From: Jes Sorensen <jes@xxxxxxx>
Date: Thu, 21 Sep 2006 08:42:29 +0200
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 20 Sep 2006 23:41:30 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20060921013404.GD26554%yamahata@xxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <45114E84.2080402@xxxxxxx> <20060921013404.GD26554%yamahata@xxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.5 (X11/20060907)
Isaku Yamahata wrote:
Hi Jes.

It tries to keep struct page_info compact layout by avoiding
padding before _domain member.
Please notice u32 count_info member in front of _domain.

struct domain is allocated from xen heap,
i.e. the range [PAGE_OFFSET, PAGE_OFFSET + 64MB).
It means that struct domain* can be expressed as
PAGE_OFFSET + 32bit offset(=machine phsyiacal address).
>
pickle          PAGE_OFFSET + 32bit offset => 32 bit offset
                i.e. discarding most significant 32bit.
                It can be don by casting u64 to u32 because
                Xen assumes little endian.

Hi Isaku

The problem is that the theory that one can discard the top 32 bit
from the physical address is flawed. Some machines, like SN2 have a
memory layout which makes this impossible to do. Ie. our physical
memory starts at 0x3003000000 (think I got the zeros right), there is
no memory at all below 4GB.

I am not sure how to solve this correctly, and I understand that my
patch broke the kernel for Masaki too, but the existing code is broken
by design, so we need to try and come up with something else - maybe we
can do a pickle function based on a dynamic mask, ie. not use
PAGE_OFFSET, but rather xen_heap_base or something like that?

Best regards,
Jes

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

<Prev in Thread] Current Thread [Next in Thread>