No description
Find a file
Cyrill Gorcunov 3eb28f9fbc restore: Restore FPU state
Since at moment we stick with sigreturn restore
we need to form a proper FPU frame and set a pointer
to it inside sigreturn frame.

For this sake we read the FPU image and here are two
cases are possible

 - no fpu data at all -- nothing to restore, simpliest
   case

 - xsave frame is present but the host cpu supports only
   fxsave instruction: we refuse to continue, since it means
   there are no ymm registers on the machine where we're trying
   to restore

 - fxsave frame is present but the host cpu has xsave feature:
   at moment we refuse to continue, requiring complete match
   between "checkpoint and restore hosts", but in real we could
   extend logic and form complete xsave frame from fxsave and
   continue processing

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-12-21 17:35:43 +04:00
arch/x86 exec: Implement basic remote syscall execution 2012-12-18 00:26:37 +03:00
Documentation doc: Add syscalls execution description 2012-12-18 00:39:20 +03:00
include restore: Reserve space in restorer for FPU frame 2012-12-21 17:35:42 +04:00
pie restore: Restore FPU state 2012-12-21 17:35:43 +04:00
protobuf checkpoint: Add dumping of FPU state 2012-12-21 17:35:39 +04:00
test zdtm: Extend inotify00 test to have ghost file used 2012-12-06 11:11:22 +04:00
.gitignore Update .gitignore 2012-07-09 15:03:38 +04:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
COPYING Add COPYING file 2011-12-05 14:11:05 +04:00
cpu.c cpu: Add code to fetch/test cpuinfo data 2012-12-21 17:35:34 +04:00
cr-check.c check: Check for SO_BINDTODEVICE is get-able 2012-12-04 16:35:58 +03:00
cr-dump.c checkpoint: Add dumping of FPU state 2012-12-21 17:35:39 +04:00
cr-exec.c exec: Implement basic remote syscall execution 2012-12-18 00:26:37 +03:00
cr-restore.c restore: Restore FPU state 2012-12-21 17:35:43 +04:00
cr-show.c show: Show *-s for zero sequences in hexdump output 2012-12-10 19:19:24 +03:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
crtools.c exec: Initial skeleton 2012-12-17 22:56:06 +03:00
eventfd.c eventfd: Add LOG_PREFIX 2012-08-20 15:14:43 +04:00
eventpoll.c files: Hide pslist selection logic into file desc handlers 2012-09-14 21:53:51 +04:00
fifo.c fd: Remove per-filetype make_gen_id abstraction 2012-08-11 22:41:29 +04:00
file-ids.c protobuf: Start switching our image entries to Google's protobuf 2012-07-17 07:10:41 +04:00
files-reg.c ghost-files: Save device and inode in image 2012-12-06 11:11:10 +04:00
files.c fd: Consolidate . and .. checks in various readdir callers 2012-11-29 21:12:51 +03:00
image.c tty: Add show method 2012-09-12 20:00:55 +04:00
inotify.c inotify: Use ghost files if the watchee is a deleted file, v2 2012-12-06 11:11:19 +04:00
ipc_ns.c show: Factor out skipping of data dump into show_image_data 2012-12-10 18:57:54 +03:00
kcmp-ids.c parasite: remove excessive header deps from parasite.h and friends 2012-05-30 12:50:18 +04:00
libnetlink.c libnetlink: Make sure there is no error happened when dumping is done 2012-11-06 13:41:36 +04:00
log.c log: Don't show time stamp on pr_msg 2012-11-06 13:37:15 +04:00
Makefile cpu: Add code to fetch/test cpuinfo data 2012-12-21 17:35:34 +04:00
mount.c mnt: Don't allocate PATH_MAX on stack for pivot path 2012-12-06 16:20:19 +03:00
namespaces.c crtools: use a special function for executing external utils 2012-09-28 14:09:58 +04:00
net.c Revert "net: Introduce netdev index to name resolver" 2012-11-28 20:27:16 +03:00
netfilter.c netfilter: add ability to block ipv6 connections 2012-11-23 16:36:22 +04:00
parasite-syscall.c parasite: add ability to execute more than one crtools dump simultaneously 2012-12-20 16:07:44 +04:00
pipes.c files: Formalize fd restore priorities 2012-09-14 22:09:22 +04:00
proc_parse.c cpu: Add code to fetch/test cpuinfo data 2012-12-21 17:35:34 +04:00
protobuf.c protobuf: Drop dangling \Space 2012-11-11 13:28:59 +04:00
pstree.c pstree: Remove unneeded arg from prepare_pstree_for_shell_job 2012-12-10 15:54:12 +03:00
ptrace.c ptrace: Remove dead code 2012-12-04 23:33:06 +04:00
rbtree.c code: Fix spaced indentation where found 2012-08-11 21:36:03 +04:00
README Drop kernel patching from README 2012-01-29 16:26:36 +04:00
shmem.c shmem: Get rid of static array of dumped shmem areas 2012-08-17 00:20:58 +04:00
signalfd.c fd: Remove per-filetype make_gen_id abstraction 2012-08-11 22:41:29 +04:00
sk-inet.c socket: don't fail if DIAG_SHUTDOWN is absent 2012-11-29 17:43:32 +04:00
sk-packet.c packet: Support mmap-ing of packet sockets 2012-11-02 16:00:18 +03:00
sk-queue.c show: Factor out skipping of data dump into show_image_data 2012-12-10 18:57:54 +03:00
sk-tcp.c tcp: check a state in refresh_inet_sk (v2) 2012-11-20 17:17:51 +04:00
sk-unix.c socket: don't fail if DIAG_SHUTDOWN is absent 2012-11-29 17:43:32 +04:00
sockets.c sk: Rework bound-dev dump/restore according to new API 2012-11-28 20:24:42 +03:00
sysctl.c parasite: remove excessive header deps from parasite.h and friends 2012-05-30 12:50:18 +04:00
tty.c tty: Fix slave peer index accounting 2012-12-11 20:58:11 +04:00
util-net.c fown: get pid and uid-s from parasite 2012-09-05 16:41:14 +04:00
util.c util: Fix vma printing message (pass 2) 2012-11-29 18:16:00 +03:00
uts_ns.c code: Remove trailing whitespaces over .c and .h files 2012-08-11 21:34:35 +04:00

crtools
=======

An utility to checkpoint/restore tasks.

Some code snippets are borrowed from

 - Linux kernel (http://kernel.org/)
 - git (http://git-scm.com/)
 - kvm-tools (https://github.com/penberg/linux-kvm)
 - ptrace-parasite (https://code.google.com/p/ptrace-parasite/)

Many thanks to these projects.

Licensed under GPLv2 (http://www.gnu.org/licenses/gpl-2.0.txt)