Changes

Jump to navigation Jump to search
491 bytes added ,  13:47, 18 August 2017
m
Xemul moved page Compel TODO before release to Compel TODO: Released already
Line 1: Line 1:  
[[Category: Compel]]
 
[[Category: Compel]]
 +
 +
{{Note|[[Compel]] is already released}}
    
==== Check and fix non-x86 arches ====
 
==== Check and fix non-x86 arches ====
Line 9: Line 11:  
==== Tune the API ====
 
==== Tune the API ====
 
Right now we have some stuff that just got into compel/include/uapi/ when we moved the code around and should be hidden. Naming could probably be better too. Configuring the infection context is also FIXME-able.
 
Right now we have some stuff that just got into compel/include/uapi/ when we moved the code around and should be hidden. Naming could probably be better too. Configuring the infection context is also FIXME-able.
 +
 +
==== Fix the compel_main environment ====
 +
 +
Currently compel parasite code is RPC-only, but there are signs of compel_main (e.g. __export_std_compel_start). Need to clean this out.
    
==== Rectify parasite loading ====
 
==== Rectify parasite loading ====
 
For now the prepared parasite ELF should be converted into a C header file, then compiled with infection code, then libcompel can inject it into victim. Reorganizing the code so that it loads the ELF itself is tempting.
 
For now the prepared parasite ELF should be converted into a C header file, then compiled with infection code, then libcompel can inject it into victim. Reorganizing the code so that it loads the ELF itself is tempting.
   −
* Made C-header loading MUCH nicer with pre-generated macros.
+
: {{Done}} Made C-header loading MUCH nicer with pre-generated macros.
    
==== Make .so version of the library ====
 
==== Make .so version of the library ====
 
For now the libcompel.a is built, so only static linkage is possible. Making it .so should not be a big deal, it mostly depends on the API rectification task (API should be extendable and backward compatible).
 
For now the libcompel.a is built, so only static linkage is possible. Making it .so should not be a big deal, it mostly depends on the API rectification task (API should be extendable and backward compatible).
   −
* <code>make compel/libcompel.so</code> works
+
: {{Done}} <code>make compel/libcompel.so</code> works
    
==== Save/Restore SAS in standalone mode ====
 
==== Save/Restore SAS in standalone mode ====
Line 25: Line 31:  
==== Sanitize logging ====
 
==== Sanitize logging ====
 
Nowadays we just set FD to put logs into.
 
Nowadays we just set FD to put logs into.
 +
 +
==== Untie task state numbers ====
 +
 +
The TASK_ALIVE and others are literally and numerically coincide between compel and criu.
 +
 +
: {{Done}} <code>COMPEL_TASK_FOO</code>s are in compel and <code>TASK_BAR</code>s are in criu and correspond to each other

Navigation menu