mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-29 05:18:00 +00:00
parasite-syscall.c: moved the routine parasite_setup_regs() to the file arch/x86/crtools.c.
Signed-off-by: Alexander Kartashov <alekskartashov@parallels.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
ec64246863
commit
3b4aa70aef
@ -1,5 +1,20 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "asm/types.h"
|
||||
#include "compiler.h"
|
||||
#include "ptrace.h"
|
||||
#include "asm/processor-flags.h"
|
||||
#include "protobuf.h"
|
||||
#include "../protobuf/core.pb-c.h"
|
||||
#include "../protobuf/creds.pb-c.h"
|
||||
#include "parasite-syscall.h"
|
||||
#include "syscall.h"
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
#include "cpu.h"
|
||||
#include "fpu.h"
|
||||
#include "elf.h"
|
||||
#include "parasite-syscall.h"
|
||||
|
||||
/*
|
||||
@ -17,3 +32,14 @@ static inline void __check_code_syscall(void)
|
||||
BUILD_BUG_ON(sizeof(code_syscall) != BUILTIN_SYSCALL_SIZE);
|
||||
BUILD_BUG_ON(!is_log2(sizeof(code_syscall)));
|
||||
}
|
||||
|
||||
void parasite_setup_regs(unsigned long new_ip, user_regs_struct_t *regs)
|
||||
{
|
||||
regs->ip = new_ip;
|
||||
|
||||
/* Avoid end of syscall processing */
|
||||
regs->orig_ax = -1;
|
||||
|
||||
/* Make sure flags are in known state */
|
||||
regs->flags &= ~(X86_EFLAGS_TF | X86_EFLAGS_DF | X86_EFLAGS_IF);
|
||||
}
|
||||
|
@ -4,4 +4,6 @@
|
||||
extern const char code_syscall[];
|
||||
extern const int code_syscall_size;
|
||||
|
||||
void parasite_setup_regs(unsigned long new_ip, user_regs_struct_t *regs);
|
||||
|
||||
#endif
|
||||
|
@ -55,18 +55,6 @@ static struct vma_area *get_vma_by_ip(struct list_head *vma_area_list, unsigned
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Note it's destructive on @regs */
|
||||
static void parasite_setup_regs(unsigned long new_ip, user_regs_struct_t *regs)
|
||||
{
|
||||
regs->ip = new_ip;
|
||||
|
||||
/* Avoid end of syscall processing */
|
||||
regs->orig_ax = -1;
|
||||
|
||||
/* Make sure flags are in known state */
|
||||
regs->flags &= ~(X86_EFLAGS_TF | X86_EFLAGS_DF | X86_EFLAGS_IF);
|
||||
}
|
||||
|
||||
/* we run at @regs->ip */
|
||||
static int __parasite_execute(struct parasite_ctl *ctl, pid_t pid, user_regs_struct_t *regs)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user