diff options
author | Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com> | 2022-02-21 15:15:52 +0300 |
---|---|---|
committer | Andrei Vagin <avagin@gmail.com> | 2022-04-29 03:53:52 +0300 |
commit | 4c7ece0bb7e407116b8ae42fdfde94c50ed683d3 (patch) | |
tree | 7b72b1d21b0758c412953e3bf0515fe1da12718b /criu | |
parent | 441310c2600e9f95e53a140a321981801c9941fd (diff) |
compel: add helpers to get/set instruction pointer
Signed-off-by: Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>
Diffstat (limited to 'criu')
-rw-r--r-- | criu/arch/aarch64/include/asm/types.h | 2 | ||||
-rw-r--r-- | criu/arch/arm/include/asm/types.h | 2 | ||||
-rw-r--r-- | criu/arch/mips/include/asm/types.h | 2 | ||||
-rw-r--r-- | criu/arch/ppc64/include/asm/types.h | 2 | ||||
-rw-r--r-- | criu/arch/s390/include/asm/types.h | 2 | ||||
-rw-r--r-- | criu/arch/x86/include/asm/types.h | 2 |
6 files changed, 12 insertions, 0 deletions
diff --git a/criu/arch/aarch64/include/asm/types.h b/criu/arch/aarch64/include/asm/types.h index c860af1cf..363c1cae2 100644 --- a/criu/arch/aarch64/include/asm/types.h +++ b/criu/arch/aarch64/include/asm/types.h @@ -22,6 +22,8 @@ typedef UserAarch64RegsEntry UserRegsEntry; #define TI_SP(core) ((core)->ti_aarch64->gpregs->sp) +#define TI_IP(core) ((core)->ti_aarch64->gpregs->pc) + static inline void *decode_pointer(uint64_t v) { return (void *)v; diff --git a/criu/arch/arm/include/asm/types.h b/criu/arch/arm/include/asm/types.h index cfcb8a136..93d2dc23d 100644 --- a/criu/arch/arm/include/asm/types.h +++ b/criu/arch/arm/include/asm/types.h @@ -21,6 +21,8 @@ typedef UserArmRegsEntry UserRegsEntry; #define TI_SP(core) ((core)->ti_arm->gpregs->sp) +#define TI_IP(core) ((core)->ti_arm->gpregs->ip) + static inline void *decode_pointer(u64 v) { return (void *)(u32)v; diff --git a/criu/arch/mips/include/asm/types.h b/criu/arch/mips/include/asm/types.h index 237471f3c..2c75b6a92 100644 --- a/criu/arch/mips/include/asm/types.h +++ b/criu/arch/mips/include/asm/types.h @@ -18,6 +18,8 @@ #define CORE_THREAD_ARCH_INFO(core) core->ti_mips +#define TI_IP(core) ((core)->ti_mips->gpregs->cp0_epc) + typedef UserMipsRegsEntry UserRegsEntry; static inline u64 encode_pointer(void *p) diff --git a/criu/arch/ppc64/include/asm/types.h b/criu/arch/ppc64/include/asm/types.h index fedeff22a..d60aadde5 100644 --- a/criu/arch/ppc64/include/asm/types.h +++ b/criu/arch/ppc64/include/asm/types.h @@ -19,6 +19,8 @@ typedef UserPpc64RegsEntry UserRegsEntry; #define CORE_THREAD_ARCH_INFO(core) core->ti_ppc64 +#define TI_IP(core) ((core)->ti_ppc64->gpregs->nip) + static inline void *decode_pointer(uint64_t v) { return (void *)v; diff --git a/criu/arch/s390/include/asm/types.h b/criu/arch/s390/include/asm/types.h index 7522cf2cd..abf12dec0 100644 --- a/criu/arch/s390/include/asm/types.h +++ b/criu/arch/s390/include/asm/types.h @@ -19,6 +19,8 @@ typedef UserS390RegsEntry UserRegsEntry; #define CORE_THREAD_ARCH_INFO(core) core->ti_s390 +#define TI_IP(core) ((core)->ti_s390->gpregs->psw_addr) + static inline u64 encode_pointer(void *p) { return (u64)p; diff --git a/criu/arch/x86/include/asm/types.h b/criu/arch/x86/include/asm/types.h index a0a8ed987..8919d0ae6 100644 --- a/criu/arch/x86/include/asm/types.h +++ b/criu/arch/x86/include/asm/types.h @@ -28,6 +28,8 @@ static inline int core_is_compat(CoreEntry *c) #define CORE_THREAD_ARCH_INFO(core) core->thread_info +#define TI_IP(core) ((core)->thread_info->gpregs->ip) + typedef UserX86RegsEntry UserRegsEntry; static inline u64 encode_pointer(void *p) |