• James Clark's avatar
    perf cs-etm: Refactor initialisation of kernel start address · 6f38e115
    James Clark authored
    The kernel start address is already cached in the machine struct once it
    is initialised, so storing it in the cs_etm struct is unnecessary.
    
    It also depends on kernel maps being available to be initialised.
    Therefore cs_etm__setup_queues() isn't an appropriate place to call it
    because it could be called before processing starts. It would be better
    to initialise it at the point when it is needed, then we can be sure
    that all the necessary maps are available. Also by calling
    machine__kernel_start() multiple times it can be initialised at some
    point, even if it failed to initialise previously due to missing maps.
    
    In a later commit cs_etm__setup_queues() will be moved which is the
    motivation for this change.
    Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: default avatarJames Clark <james.clark@arm.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Al Grant <al.grant@arm.com>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: coresight@lists.linaro.org
    Link: https://lore.kernel.org/r/20210721150202.32065-2-james.clark@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    6f38e115
cs-etm.c 84.2 KB