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-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
> 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!


Xen-ia64-devel mailing list