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

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



Hi, Dietmar

>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?
>
Is the changes related to x86?
If so, we should discuss on xen-devel.

>I added a flag is_be to struct arch_domain. Is this ok, or may this produce 
>some problems?
>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;              <--------
>        };
>    };
>
I feel like this is ok, but you may add  __attribute__((aligned(8))).

>Should I introduce a new compiler flag where the special big endion support 
>can be switched off?
>
Yes,I think so.
Isaku often introduce new flags, I like the way. :)

>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()!
I don't understand this issue very much.
But can you check is_be flags, and restore psr.be in each cases?

Best Regards,

Akio Takebe 


_______________________________________________
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®.