Architecture
From Linux Checkpoint / Restart Wiki
OBSOLETE CONTENT
This wiki has been archived and the content is no longer updated.
Supported architectures
The following architectures are currently supported:
- x86-32, x86-64
- PowerPC
- s390
- ARM
Compatibility of 32-bit/64-bit kernels
Original | Original | Restart | Target | ARCHITECTURE | |||||
---|---|---|---|---|---|---|---|---|---|
Program | Kernel | Program | Kernel | x86 | PowerPC | ||||
64 bit | 64 bit | 64 bit | 64 bit | OK (1) | OK (1) | ||||
32 bit | 32 bit | 32 bit | 32 bit | OK (1) | OK (1) | ||||
32 bit | 64 bit | 32 bit | 64 bit | OK (1) | OK (1) | ||||
32 bit | 32 bit | 32 bit | 64 bit | (2) | (2) | ||||
32 bit | 64 bit | 32 bit | 32 bit | (2) | (2) | ||||
32 bit | any | 64 bit | 64 bit | (3) | (3) | ||||
64 bit | 64 bit | 32 bit | 64 bit | (3) | (3) |
(1) These cases are "homogeneous", with conditions equal at checkpoint and restart. These cases work.
(2) These cases consider 32 bit program, and vary only the environment - the kernel may change from 32 to 64 or back. For these to work, userspace will have to modify (at least) the arch-id of the checkpoint image, and perhaps other fields.
(3) These cases consider the restart program itself with different bit-ness than the checkpointed program. Transition may occur in either direction. For these, we will have userspace use execve() to re-launch itself with the proper bit-ness per process during the tree construction.