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] Support big endian domU's

To: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] Support big endian domU's
From: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Date: Thu, 16 Nov 2006 23:34:59 +0900
Cc: xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 16 Nov 2006 06:35:19 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200611161311.19189.dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
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: <200611161311.19189.dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.2.1i
On Thu, Nov 16, 2006 at 01:11:18PM +0100, Dietmar Hahn wrote:

> I started with supporting big endian domU's on ia64 and have some questions.
> I did some changes to tools/libxc/xc_load_elf.c and now I can load and start 
> the big endian domU.
> Because this is some sort  of a new branch in load_elf how can I get in 
> changes? Should I simply send patches to x86 list or should I first initiate 
> a discussion about that?

If you have already (even imcomplete) patches, it would be good
to initiate a discussion with the patch sending a mail of the
subject [RFC][PATCH] on x86 list.


> I added a flag is_be to struct arch_domain. Is this ok, or may this produce 
> some problems?

Although I'm not sure how the flag is used, I don't suppose that
it would cause issues to introduce the new flag.
I think that big endianess is per-vcpu issue, not per-domain,
so that I don't think is_be is necessary. Could you elaborate on is_be?


> struct arch_domain {
>     struct mm_struct mm;
>     /* Flags.  */
>     union {
>         unsigned long flags;
>         struct {
>             unsigned int is_vti : 1;
> #ifdef CONFIG_XEN_IA64_PERVCPU_VHPT
>             unsigned int has_pervcpu_vhpt : 1;
> #endif
>             unsigned int is_be : 1;              <--------
>         };
>     };
> 
> Should I introduce a new compiler flag where the special big endion support 
> can be switched off?
> 
> A question to the function reflect_interruptions() in fault.c:
> As far as I understand the code, PSCB(...) are prepared to contain the 
> trapped 
> dumU environment..
> regs->... are prepared to contain the environment for return to the trap 
> handler of the domU.
> If this is the case then on a big endian domU the psr.be bit ist not set in 
> regs->ipsr from dcr.be. This is needed on return from Xen to the trap handler 
> of the domU.
> The other thing is that in vcpu_get_ipsr_int_state() the psr.be bit should 
> not 
> be overwritten by dcr.be. There are cases where a big endian domU runs 
> temporarily littlen endian (during efi calls, ...). If there would be a trap, 
> it would return with psr.be = 1, which is not what we want.
> The same problem may occur on reflect_event()!
> Thanks.
> 
> Dietmar.
> 
> _______________________________________________
> Xen-ia64-devel mailing list
> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ia64-devel

-- 
yamahata

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

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