lkml.org 
[lkml]   [2011]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH v7 3.2-rc2 6/30] uprobes: define fixups.

    During the first insertion of a probepoint, instruction is analyzed for
    fixups and cached in the per-uprobe struct. On a probehit, the cached
    fixup is used. Fixup analysis and caching is done in arch-specific
    code.

    Signed-off-by: Jim Keniston <jkenisto@us.ibm.com>
    Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    ---
    include/linux/uprobes.h | 12 ++++++++++++
    1 files changed, 12 insertions(+), 0 deletions(-)

    diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h
    index fa2b663..dd308fa 100644
    --- a/include/linux/uprobes.h
    +++ b/include/linux/uprobes.h
    @@ -33,6 +33,17 @@ struct vm_area_struct;
    #define MAX_UINSN_BYTES 4
    #endif

    +#define uprobe_opcode_sz sizeof(uprobe_opcode_t)
    +
    +/* Post-execution fixups. Some architectures may define others. */
    +
    +/* No fixup needed */
    +#define UPROBES_FIX_NONE 0x0
    +/* Adjust IP back to vicinity of actual insn */
    +#define UPROBES_FIX_IP 0x1
    +/* Adjust the return address of a call insn */
    +#define UPROBES_FIX_CALL 0x2
    +
    struct uprobe_consumer {
    int (*handler)(struct uprobe_consumer *self, struct pt_regs *regs);
    /*
    @@ -53,6 +64,7 @@ struct uprobe {
    struct inode *inode; /* Also hold a ref to inode */
    loff_t offset;
    int copy;
    + u16 fixups;
    u8 insn[MAX_UINSN_BYTES];
    };



    \
     
     \ /
      Last update: 2011-11-18 12:37    [W:0.021 / U:62.184 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site