zoukankan      html  css  js  c++  java
  • ARM registers

    ARM registers

    arm register alias

    4.19archarm64kernelAsm-offsets.c

    DEFINE(S_X0, offsetof(struct pt_regs, regs[0]));
    DEFINE(S_X1, offsetof(struct pt_regs, regs[1]));
    
    DEFINE(S_X2, offsetof(struct pt_regs, regs[2]));
    
    DEFINE(S_X3, offsetof(struct pt_regs, regs[3]));
    
    DEFINE(S_X4, offsetof(struct pt_regs, regs[4]));
    
    DEFINE(S_X5, offsetof(struct pt_regs, regs[5]));
    
    DEFINE(S_X6, offsetof(struct pt_regs, regs[6]));
    
    DEFINE(S_X7, offsetof(struct pt_regs, regs[7]));
    
    DEFINE(S_X8, offsetof(struct pt_regs, regs[8]));
    
    DEFINE(S_X10, offsetof(struct pt_regs, regs[10]));
    
    DEFINE(S_X12, offsetof(struct pt_regs, regs[12]));
    
    DEFINE(S_X14, offsetof(struct pt_regs, regs[14]));
    
    DEFINE(S_X16, offsetof(struct pt_regs, regs[16]));
    
    DEFINE(S_X18, offsetof(struct pt_regs, regs[18]));
    
    DEFINE(S_X20, offsetof(struct pt_regs, regs[20]));
    
    DEFINE(S_X22, offsetof(struct pt_regs, regs[22]));
    
    DEFINE(S_X24, offsetof(struct pt_regs, regs[24]));
    
    DEFINE(S_X26, offsetof(struct pt_regs, regs[26]));
    
    DEFINE(S_X28, offsetof(struct pt_regs, regs[28]));
    
    DEFINE(S_LR, offsetof(struct pt_regs, regs[30]));
    
    DEFINE(S_SP, offsetof(struct pt_regs, sp));
    
    #ifdef CONFIG_COMPAT
    
    DEFINE(S_COMPAT_SP, offsetof(struct pt_regs, compat_sp));
    
    #endif
    
    DEFINE(S_PSTATE, offsetof(struct pt_regs, pstate));
    
    DEFINE(S_PC, offsetof(struct pt_regs, pc));

    arch/arm64/include/asm/ptrace.h

    struct pt_regs {
        union {
            struct user_pt_regs user_regs;
            struct {
                u64 regs[31];
                u64 sp;
                u64 pc;
                u64 pstate;
            };
        };
        u64 orig_x0;
    #ifdef __AARCH64EB__
        u32 unused2;
        s32 syscallno;
    #else
        s32 syscallno;
        u32 unused2;
    #endif
        u64 sdei_ttbr1;
        /* Only valid when ARM64_HAS_IRQ_PRIO_MASKING is enabled. */
        u64 pmr_save;
        u64 stackframe[2];
    
        /* Only valid for some EL1 exceptions. */
        u64 lockdep_hardirqs;
        u64 exit_rcu;
    };
  • 相关阅读:
    IOS开发--常用的基本GDB命令
    iOS 开发技巧-制作环形进度条
    提高Objective-C代码质量心机一:简化写法
    iOS 删除 Main.storyboard 和 LaunchScreen.storyboard
    iOS扫一扫功能开发
    ASP.NET中Json的处理
    WebService的使用
    嵌入Web资源的方法
    URL重写 UrlRewrite
    ASP.NET全局文件与防盗链
  • 原文地址:https://www.cnblogs.com/aspirs/p/15420781.html
Copyright © 2011-2022 走看看