Skip to content
  • Alex Bennée's avatar
    a622d64e
    plugins: new hwprofile plugin · a622d64e
    Alex Bennée authored
    
    
    This is a plugin intended to help with profiling access to various
    bits of system hardware. It only really makes sense for system
    emulation.
    
    It takes advantage of the recently exposed helper API that allows us
    to see the device name (memory region name) associated with a device.
    
    You can specify arg=read or arg=write to limit the tracking to just
    reads or writes (by default it does both).
    
    The pattern option:
    
      -plugin ./tests/plugin/libhwprofile.so,arg=pattern
    
    will allow you to see the access pattern to devices, eg:
    
      gic_cpu @ 0xffffffc010040000
        off:00000000, 8, 1, 8, 1
        off:00000000, 4, 1, 4, 1
        off:00000000, 2, 1, 2, 1
        off:00000000, 1, 1, 1, 1
    
    The source option:
    
      -plugin ./tests/plugin/libhwprofile.so,arg=source
    
    will track the virtual source address of the instruction making the
    access:
    
      pl011 @ 0xffffffc010031000
        pc:ffffffc0104c785c, 1, 4, 0, 0
        pc:ffffffc0104c7898, 1, 4, 0, 0
        pc:ffffffc010512bcc, 2, 1867, 0, 0
    
    You cannot mix source and pattern.
    
    Finally the match option allow you to limit the tracking to just the
    devices you care about.
    
    Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
    Tested-by: default avatarRobert Foley <robert.foley@linaro.org>
    Reviewed-by: default avatarRobert Foley <robert.foley@linaro.org>
    Message-Id: <20210213130325.14781-4-alex.bennee@linaro.org>
    a622d64e
    plugins: new hwprofile plugin
    Alex Bennée authored
    
    
    This is a plugin intended to help with profiling access to various
    bits of system hardware. It only really makes sense for system
    emulation.
    
    It takes advantage of the recently exposed helper API that allows us
    to see the device name (memory region name) associated with a device.
    
    You can specify arg=read or arg=write to limit the tracking to just
    reads or writes (by default it does both).
    
    The pattern option:
    
      -plugin ./tests/plugin/libhwprofile.so,arg=pattern
    
    will allow you to see the access pattern to devices, eg:
    
      gic_cpu @ 0xffffffc010040000
        off:00000000, 8, 1, 8, 1
        off:00000000, 4, 1, 4, 1
        off:00000000, 2, 1, 2, 1
        off:00000000, 1, 1, 1, 1
    
    The source option:
    
      -plugin ./tests/plugin/libhwprofile.so,arg=source
    
    will track the virtual source address of the instruction making the
    access:
    
      pl011 @ 0xffffffc010031000
        pc:ffffffc0104c785c, 1, 4, 0, 0
        pc:ffffffc0104c7898, 1, 4, 0, 0
        pc:ffffffc010512bcc, 2, 1867, 0, 0
    
    You cannot mix source and pattern.
    
    Finally the match option allow you to limit the tracking to just the
    devices you care about.
    
    Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
    Tested-by: default avatarRobert Foley <robert.foley@linaro.org>
    Reviewed-by: default avatarRobert Foley <robert.foley@linaro.org>
    Message-Id: <20210213130325.14781-4-alex.bennee@linaro.org>
Loading