[CRIU] [PATCH 0/8] Prepare the support for AArch64 --- series 2

Cyrill Gorcunov gorcunov at gmail.com
Tue Mar 11 02:37:44 PDT 2014


On Mon, Mar 10, 2014 at 12:51:20PM +0400, Alexander Kartashov wrote:
> Dear colleagues,
> 
> It turned out that the previous patchset preparing the support
> for AArch64 didn't solve all problems with that architecture.
> 
> This patchset addresses the following problems:
> 
> * the size of the TLS register is machine-dependent (patches #1 and #2);
> * the vDSO restoration code written originally for x86 isn't sharable
>   with other architectures (patches #3 and #4);
> * there's no reference implementation of bit operations in the project
>   (patch #5).
> 
> The rest of the patchset contains miscellaneous cleanups.

Alexander, the vdso code is arch dependant thus I would suggest to not
share x86-64 implementation but implement ARM implementation instead.

What we have now:

extern int vdso_redirect_calls(void *base_to, void *base_from, struct vdso_symtable *to, struct vdso_symtable *from);
extern int vdso_fill_symtable(char *mem, size_t size,struct vdso_symtable *t);
extern int vdso_remap(char *who, unsigned long from, unsigned long to, size_t size);
extern int vdso_proxify(char *who, struct vdso_symtable *sym_rt, VmaEntry *vma_entry, unsigned long vdso_rt_parked_at);
extern int parasite_fixup_vdso(struct parasite_ctl *ctl, pid_t pid, struct vm_area_list *vma_area_list);

these 5 helpers, I believe we will have more pain in the ass in future if we share the
implementation code now. So you only need to implement these 5 calls for arm64 and
that's all.


More information about the CRIU mailing list