[CRIU] CRIU ARM branch

Cyrill Gorcunov gorcunov at openvz.org
Wed Dec 12 11:22:12 EST 2012


On Wed, Dec 12, 2012 at 05:34:10PM +0400, alekskartashov at parallels.com wrote:
> Dear colleagues,
> 
> This patchset implements the ARM support in CRIU.
> 
> Known issues:
> 
> * The following tests fail in the ARM version:
>   - static/pty03,
>   - transition/file_read,
>   - static/file_fown,
>   - static/ipc_namespace,
>   - static/ipc.
> 
> * The test static/session01 contains x86-specific lock operations so it has to be excluded
>   while testing on ARM.
> 
> * The test static/futex segfaults when the program crtools is compiled with the switch -O2.
> 
> 
> This patchset takes into account notes by Pavel Emelyanov about the previous version
> of the patchset:
> 
> * Keep the current x86-specific build scripts intact.
> * Fix all compilation warnings in the ARM branch.

Alexander, before anything else, could you please describe the main problems
between ARM code and x86-64 code which you had to resolve in attempt to
implemtent c/r on this architecture?

As far as I can tell (out from ARM platforms zoo, which now even start to
include ARM64 cpus, what a suprise ;) the main differences are (correct
me please, if I make a mistake somewhere)

 - ARM port is for 32 bit cpu with bi-endianing, which means it may be either LE or BE,
   depending on particular settings, right? By LE/BE I mean little-ending or
   big-ending byte ordering in words and such, at moment you'are targeting LE
   order

 - since it's 32 bit arch, you need to define u64 somewhere separately from our
   types.h file

 - this as well force you to check if %lx format for pr_ helpers were used
   corectly and if not you had to fix it up

 - in image file the registers had to be converted to new set which is suitable
   for ARM machines

 - some explanations about what have been done to parasite code and restorer
   code (how rt_sigreturn frame looks on ARM).

I mean it would be a way more convenient if you describe what hardness you met
during porting procedure and what had you to do to resolve it, in big picture.

	Cyrill


More information about the CRIU mailing list