[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-ia64-devel] Support big endian domU's



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.