Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] GET_THIS_PADDR appears to be broken

To: Horms <horms@xxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] GET_THIS_PADDR appears to be broken
From: tgingold@xxxxxxx
Date: Wed, 27 Jun 2007 14:19:20 +0200
Cc: Yutaka Ezaki <yutaka.ezaki@xxxxxxxxxxxxxx>, Alex Williamson <alex.williamson@xxxxxx>, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 27 Jun 2007 05:17:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20070627095955.GA1268@xxxxxxxxxxxx>
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: <20070627095955.GA1268@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Internet Messaging Program (IMP) 3.2.5
Quoting Horms <horms@xxxxxxxxxxxx>:

> GET_THIS_PADDR() doesn't appear to work correclty
> on xen-ia64-unstable.hg 15165:96331db61e47
>
> Long-winded description of why
>
>   cpu_data           = 0xf000000004410000
>   ia64_tpa(cpu_data) = 0x0000000004410000
>   __per_cpu_start    = 0x0003ffffffff0000
>
>   ia64_set_kr(IA64_KR_PER_CPU_DATA,
>               ia64_tpa(cpu_data) - (long) __per_cpu_start);
>   ar.k3              = ia64_tpa(cpu_data) - __per_cpu_start;
>                      = 0x0000000004410000 - 0xf000000004410000
>                    = 0x0f00000004420000 # N.B Underflow

I am lost here :-(  I though ar.kX were reserved by the domains.


...
> Solution 1
...
/home/horms/work/xen/xen-ia64-unstable.hg/xen/arch/ia64/linux-xen/mca_asm.S:271:
> relocation truncated to fit: IMM22 against symbol
> `per_cpu__ia64_mca_pal_base' defined in .data.percpu section in
> /home/horms/work/xen/xen-ia64-unstable.hg/xen/arch/ia64/built_in.o
>
> I'm not really sure what that means, other than that
> per_cpu__ia64_mca_pal_base aka THIS_CPU(ia64_mca_pal_base)
> ought to be a 22bit integer, which it isn't.

This is the right reason.

> I also noticed that the assembled code on xen and linux differ.
Hue, there are data not code!

Tristan.

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