Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/drivers/hwtracing/coresight/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  coresight-cfg-pstop.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright(C) 2023  Marvell.
 * Based on coresight-cfg-afdo.c
 */


#include "coresight-config.h"

/* ETMv4 includes and features */
#if IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM4X)
#include "coresight-etm4x-cfg.h"

/* preload configurations and features */

/* preload in features for ETMv4 */

/* panic_stop feature */
static struct cscfg_parameter_desc gen_etrig_params[] = {
 {
  .name = "address",
  .value = (u64)panic,
 },
};

static struct cscfg_regval_desc gen_etrig_regs[] = {
 /* resource selector */
 {
  .type = CS_CFG_REG_TYPE_RESOURCE,
  .offset = TRCRSCTLRn(2),
  .hw_info = ETM4_CFG_RES_SEL,
  .val32 = 0x40001,
 },
 /* single address comparator */
 {
  .type = CS_CFG_REG_TYPE_RESOURCE | CS_CFG_REG_TYPE_VAL_64BIT |
   CS_CFG_REG_TYPE_VAL_PARAM,
  .offset =  TRCACVRn(0),
  .val32 = 0x0,
 },
 {
  .type = CS_CFG_REG_TYPE_RESOURCE,
  .offset = TRCACATRn(0),
  .val64 = 0xf00,
 },
 /* Driver external output[0] with comparator out */
 {
  .type = CS_CFG_REG_TYPE_RESOURCE,
  .offset = TRCEVENTCTL0R,
  .val32 = 0x2,
 },
 /* end of regs */
};

struct cscfg_feature_desc gen_etrig_etm4x = {
 .name = "gen_etrig",
 .description = "Generate external trigger on address match\n"
         "parameter \'address\': address of kernel address\n",
 .match_flags = CS_CFG_MATCH_CLASS_SRC_ETM4,
 .nr_params = ARRAY_SIZE(gen_etrig_params),
 .params_desc = gen_etrig_params,
 .nr_regs = ARRAY_SIZE(gen_etrig_regs),
 .regs_desc = gen_etrig_regs,
};

/* create a panic stop configuration */

/* the total number of parameters in used features */
#define PSTOP_NR_PARAMS ARRAY_SIZE(gen_etrig_params)

static const char *pstop_ref_names[] = {
 "gen_etrig",
};

struct cscfg_config_desc pstop_etm4x = {
 .name = "panicstop",
 .description = "Stop ETM on kernel panic\n",
 .nr_feat_refs = ARRAY_SIZE(pstop_ref_names),
 .feat_ref_names = pstop_ref_names,
 .nr_total_params = PSTOP_NR_PARAMS,
};

/* end of ETM4x configurations */
#endif /* IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM4X) */

Messung V0.5
C=94 H=85 G=89

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.