• Alexander Kartashov's avatar
    protobuf: added description of messages to store the AArch64 CPU state · c524562c
    Alexander Kartashov authored
    These messages are constructed in the same spirit as ARM and x86 ones
    except for two major points:
    
    * general-purpose registers are stored in a variable-length array
      of uint64's: the architecture provides 32 general-purpose registers
      that makes it unfeasible to create a separate protobuf field
      for each of them since it requires a lot of "copy-paste" to convert
      between the struct pt_regs and protobuf message; the length of
      the array storing registers is to be checked by the architecture-
      dependent CRIU code;
    
    * AArch64 FP/SIMD registers are 128 bit long while protobuf lacks
      the support for integers of this size; the FP/SIMD registers
      are stored in an array of uint64, two consecutive elements
      of the array represent a single FP/SIMD register.
    Signed-off-by: 's avatarAlexander Kartashov <alekskartashov@parallels.com>
    Signed-off-by: 's avatarChristopher Covington <cov@codeaurora.org>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    c524562c
core-aarch64.proto 482 Bytes