• Alan Kao's avatar
    riscv/ftrace: Add dynamic function tracer support · c15ac4fd
    Alan Kao authored
    We now have dynamic ftrace with the following added items:
    
    * ftrace_make_call, ftrace_make_nop (in kernel/ftrace.c)
      The two functions turn each recorded call site of filtered functions
      into a call to ftrace_caller or nops
    
    * ftracce_update_ftrace_func (in kernel/ftrace.c)
      turns the nops at ftrace_call into a call to a generic entry for
      function tracers.
    
    * ftrace_caller (in kernel/mcount-dyn.S)
      The entry where each _mcount call sites calls to once they are
      filtered to be traced.
    
    Also, this patch fixes the semantic problems in mcount.S, which will be
    treated as only a reference implementation once we have the dynamic
    ftrace.
    
    Cc: Greentime Hu <greentime@andestech.com>
    Signed-off-by: default avatarAlan Kao <alankao@andestech.com>
    Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
    c15ac4fd
ftrace.c 3.13 KB