[CRIU] [PATCH 2/6] criu: arch,x86 -- Drop native ia32 pieces

Cyrill Gorcunov gorcunov at openvz.org
Tue Feb 14 14:30:07 PST 2017


Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
 criu/arch/x86/crtools.c              | 17 -----------------
 criu/arch/x86/include/asm/parasite.h |  4 ----
 criu/arch/x86/include/asm/restore.h  |  9 ---------
 criu/arch/x86/include/asm/restorer.h | 27 +--------------------------
 criu/arch/x86/include/asm/types.h    |  4 ----
 criu/include/util-vdso.h             |  6 +++---
 6 files changed, 4 insertions(+), 63 deletions(-)

diff --git a/criu/arch/x86/crtools.c b/criu/arch/x86/crtools.c
index 99a0786c8fd5..684955349a3f 100644
--- a/criu/arch/x86/crtools.c
+++ b/criu/arch/x86/crtools.c
@@ -26,7 +26,6 @@
 #include "images/core.pb-c.h"
 #include "images/creds.pb-c.h"
 
-#ifdef CONFIG_X86_64
 int kdat_compat_sigreturn_test(void)
 {
 #ifdef CONFIG_COMPAT
@@ -49,7 +48,6 @@ int kdat_compat_sigreturn_test(void)
 #endif
 	return 0;
 }
-#endif /* CONFIG_X86_64 */
 
 int save_task_regs(void *x, user_regs_struct_t *regs, user_fpregs_struct_t *fpregs)
 {
@@ -369,11 +367,7 @@ int restore_fpu(struct rt_sigframe *sigframe, CoreEntry *core)
 	return 0;
 }
 
-#ifdef CONFIG_X86_64
 #define CPREG32(d)	f->compat.uc.uc_mcontext.d = r->d
-#else
-#define CPREG32(d)	f->uc.uc_mcontext.d = r->d
-#endif
 static void restore_compat_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
 {
 	CPREG32(gs);
@@ -387,13 +381,10 @@ static void restore_compat_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
 	CPREG32(ss);
 	CPREG32(flags);
 
-#ifdef CONFIG_X86_64
 	f->is_native = false;
-#endif
 }
 #undef CPREG32
 
-#ifdef CONFIG_X86_64
 #define CPREG64(d, s)	f->native.uc.uc_mcontext.d = r->s
 static void restore_native_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
 {
@@ -439,11 +430,3 @@ int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
 	}
 	return 0;
 }
-#else /* !CONFIG_X86_64 */
-int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
-{
-	restore_compat_gpregs(f, r);
-	return 0;
-}
-#endif
-
diff --git a/criu/arch/x86/include/asm/parasite.h b/criu/arch/x86/include/asm/parasite.h
index 68fad095c745..0ef1d9a867bb 100644
--- a/criu/arch/x86/include/asm/parasite.h
+++ b/criu/arch/x86/include/asm/parasite.h
@@ -5,10 +5,6 @@
 #include <compel/plugins/std/syscall-codes.h>
 #include "asm/compat.h"
 
-#ifdef CONFIG_X86_32
-# define __parasite_entry __attribute__((regparm(3)))
-#endif
-
 static int arch_get_user_desc(user_desc_t *desc)
 {
 	int ret = __NR32_get_thread_area;
diff --git a/criu/arch/x86/include/asm/restore.h b/criu/arch/x86/include/asm/restore.h
index 7959e686b552..a3e7af92f771 100644
--- a/criu/arch/x86/include/asm/restore.h
+++ b/criu/arch/x86/include/asm/restore.h
@@ -5,7 +5,6 @@
 
 #include "images/core.pb-c.h"
 
-#ifdef CONFIG_X86_64
 #define JUMP_TO_RESTORER_BLOB(new_sp, restore_task_exec_start,		\
 			      task_args)				\
 	asm volatile(							\
@@ -19,14 +18,6 @@
 		       "g"(restore_task_exec_start),			\
 		       "g"(task_args)					\
 		     : "rsp", "rdi", "rsi", "rbx", "rax", "memory")
-#else /* CONFIG_X86_64 */
-#define JUMP_TO_RESTORER_BLOB(new_sp, restore_task_exec_start,		\
-			      task_args)				\
-	(void)new_sp;							\
-	(void)restore_task_exec_start;					\
-	(void)task_args;						\
-	;
-#endif /* CONFIG_X86_64 */
 
 static inline void core_get_tls(CoreEntry *pcore, tls_t *ptls)
 {
diff --git a/criu/arch/x86/include/asm/restorer.h b/criu/arch/x86/include/asm/restorer.h
index 2dc4fe1b7ffe..e8a61962095c 100644
--- a/criu/arch/x86/include/asm/restorer.h
+++ b/criu/arch/x86/include/asm/restorer.h
@@ -17,7 +17,7 @@ static inline void restore_tls(tls_t *ptls) { }
 static inline int
 arch_compat_rt_sigaction(void *stack, int sig, void *act) { return -1; }
 #endif /* !CONFIG_COMPAT */
-#ifdef CONFIG_X86_64
+
 #define RUN_CLONE_RESTORE_FN(ret, clone_flags, new_sp, parent_tid,      \
 			     thread_args, clone_restore_fn)             \
 	asm volatile(							\
@@ -70,27 +70,6 @@ arch_compat_rt_sigaction(void *stack, int sig, void *act) { return -1; }
 #endif
 
 extern int kdat_compat_sigreturn_test(void);
-#else /* CONFIG_X86_64 */
-#define RUN_CLONE_RESTORE_FN(ret, clone_flags, new_sp, parent_tid,      \
-			     thread_args, clone_restore_fn)             \
-	(void)ret;							\
-	(void)clone_flags;						\
-	(void)new_sp;							\
-	(void)parent_tid;						\
-	(void)thread_args;						\
-	(void)clone_restore_fn;						\
-	;
-#define ARCH_FAIL_CORE_RESTORE					\
-	asm volatile(						\
-		     "movl %0, %%esp			    \n"	\
-		     "xorl %%eax, %%eax			    \n"	\
-		     "jmp *%%eax			    \n"	\
-		     :						\
-		     : "r"(ret)					\
-		     : "memory")
-
-#define kdat_compat_sigreturn_test()			0
-#endif /* CONFIG_X86_64 */
 
 static inline void
 __setup_sas_compat(struct ucontext_ia32* uc, ThreadSasEntry *sas)
@@ -103,7 +82,6 @@ __setup_sas_compat(struct ucontext_ia32* uc, ThreadSasEntry *sas)
 static inline void
 __setup_sas(struct rt_sigframe* sigframe, ThreadSasEntry *sas)
 {
-#ifdef CONFIG_X86_64
 	if (sigframe->is_native) {
 		struct rt_ucontext *uc	= &sigframe->native.uc;
 
@@ -113,9 +91,6 @@ __setup_sas(struct rt_sigframe* sigframe, ThreadSasEntry *sas)
 	} else {
 		__setup_sas_compat(&sigframe->compat.uc, sas);
 	}
-#else
-	__setup_sas_compat(&sigframe->uc, sas);
-#endif
 }
 
 static inline void _setup_sas(struct rt_sigframe* sigframe, ThreadSasEntry *sas)
diff --git a/criu/arch/x86/include/asm/types.h b/criu/arch/x86/include/asm/types.h
index 4a93ffdeb746..3ff7fc630a63 100644
--- a/criu/arch/x86/include/asm/types.h
+++ b/criu/arch/x86/include/asm/types.h
@@ -12,7 +12,6 @@
 
 #include "images/core.pb-c.h"
 
-#ifdef CONFIG_X86_64
 static inline int core_is_compat(CoreEntry *c)
 {
 	switch (c->thread_info->gpregs->mode) {
@@ -24,9 +23,6 @@ static inline int core_is_compat(CoreEntry *c)
 			return -1;
 	}
 }
-#else /* CONFIG_X86_64 */
-static inline int core_is_compat(CoreEntry *c) { return 0; }
-#endif /* CONFIG_X86_64 */
 
 #define CORE_ENTRY__MARCH CORE_ENTRY__MARCH__X86_64
 
diff --git a/criu/include/util-vdso.h b/criu/include/util-vdso.h
index 642cee737ec5..ad4a48eb227d 100644
--- a/criu/include/util-vdso.h
+++ b/criu/include/util-vdso.h
@@ -49,7 +49,7 @@ struct vdso_symtable {
 			},						\
 	}
 
-#if defined(CONFIG_X86_32) || defined(CONFIG_VDSO_32)
+#ifdef CONFIG_VDSO_32
 
 #define Ehdr_t		Elf32_Ehdr
 #define Sym_t		Elf32_Sym
@@ -60,7 +60,7 @@ struct vdso_symtable {
 #define ELF_ST_TYPE	ELF32_ST_TYPE
 #define ELF_ST_BIND	ELF32_ST_BIND
 
-#else /* !CONFIG_X86_32 */
+#else /* CONFIG_VDSO_32 */
 
 #define Ehdr_t		Elf64_Ehdr
 #define Sym_t		Elf64_Sym
@@ -75,7 +75,7 @@ struct vdso_symtable {
 #define ELF_ST_BIND	ELF64_ST_BIND
 #endif
 
-#endif /* !CONFIG_X86_32 */
+#endif /* CONFIG_VDSO_32 */
 
 /* Size of VMA associated with vdso */
 static inline unsigned long vdso_vma_size(struct vdso_symtable *t)
-- 
2.7.4



More information about the CRIU mailing list