Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/crypto/caam/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

SSL debugfs.c   Interaktion und
PortierbarkeitC

 
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/* Copyright 2019, 2023 NXP */

#include <linux/debugfs.h>
#include "compat.h"
#include "debugfs.h"
#include "regs.h"
#include "intern.h"

static int caam_debugfs_u64_get(void *data, u64 *val)
{
 *val = caam64_to_cpu(*(u64 *)data);
 return 0;
}

static int caam_debugfs_u32_get(void *data, u64 *val)
{
 *val = caam32_to_cpu(*(u32 *)data);
 return 0;
}

DEFINE_DEBUGFS_ATTRIBUTE(caam_fops_u32_ro, caam_debugfs_u32_get, NULL, "%llu\n");
DEFINE_DEBUGFS_ATTRIBUTE(caam_fops_u64_ro, caam_debugfs_u64_get, NULL, "%llu\n");

#ifdef CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI
/*
 * This is a counter for the number of times the congestion group (where all
 * the request and response queueus are) reached congestion. Incremented
 * each time the congestion callback is called with congested == true.
 */

static u64 times_congested;

void caam_debugfs_qi_congested(void)
{
 times_congested++;
}

void caam_debugfs_qi_init(struct caam_drv_private *ctrlpriv)
{
 debugfs_create_file("qi_congested", 0444, ctrlpriv->ctl,
       ×_congested, &caam_fops_u64_ro);
}
#endif

void caam_debugfs_init(struct caam_drv_private *ctrlpriv,
         struct caam_perfmon __force *perfmon,
         struct dentry *root)
{
 /*
 * FIXME: needs better naming distinction, as some amalgamation of
 * "caam" and nprop->full_name. The OF name isn't distinctive,
 * but does separate instances
 */


 ctrlpriv->ctl = debugfs_create_dir("ctl", root);

 debugfs_create_file("rq_dequeued", 0444, ctrlpriv->ctl,
       &perfmon->req_dequeued, &caam_fops_u64_ro);
 debugfs_create_file("ob_rq_encrypted", 0444, ctrlpriv->ctl,
       &perfmon->ob_enc_req, &caam_fops_u64_ro);
 debugfs_create_file("ib_rq_decrypted", 0444, ctrlpriv->ctl,
       &perfmon->ib_dec_req, &caam_fops_u64_ro);
 debugfs_create_file("ob_bytes_encrypted", 0444, ctrlpriv->ctl,
       &perfmon->ob_enc_bytes, &caam_fops_u64_ro);
 debugfs_create_file("ob_bytes_protected", 0444, ctrlpriv->ctl,
       &perfmon->ob_prot_bytes, &caam_fops_u64_ro);
 debugfs_create_file("ib_bytes_decrypted", 0444, ctrlpriv->ctl,
       &perfmon->ib_dec_bytes, &caam_fops_u64_ro);
 debugfs_create_file("ib_bytes_validated", 0444, ctrlpriv->ctl,
       &perfmon->ib_valid_bytes, &caam_fops_u64_ro);

 /* Controller level - global status values */
 debugfs_create_file("fault_addr", 0444, ctrlpriv->ctl,
       &perfmon->faultaddr, &caam_fops_u32_ro);
 debugfs_create_file("fault_detail", 0444, ctrlpriv->ctl,
       &perfmon->faultdetail, &caam_fops_u32_ro);
 debugfs_create_file("fault_status", 0444, ctrlpriv->ctl,
       &perfmon->status, &caam_fops_u32_ro);

 if (ctrlpriv->optee_en)
  return;

 /* Internal covering keys (useful in non-secure mode only) */
 ctrlpriv->ctl_kek_wrap.data = (__force void *)&ctrlpriv->ctrl->kek[0];
 ctrlpriv->ctl_kek_wrap.size = KEK_KEY_SIZE * sizeof(u32);
 debugfs_create_blob("kek", 0444, ctrlpriv->ctl,
       &ctrlpriv->ctl_kek_wrap);

 ctrlpriv->ctl_tkek_wrap.data = (__force void *)&ctrlpriv->ctrl->tkek[0];
 ctrlpriv->ctl_tkek_wrap.size = KEK_KEY_SIZE * sizeof(u32);
 debugfs_create_blob("tkek", 0444, ctrlpriv->ctl,
       &ctrlpriv->ctl_tkek_wrap);

 ctrlpriv->ctl_tdsk_wrap.data = (__force void *)&ctrlpriv->ctrl->tdsk[0];
 ctrlpriv->ctl_tdsk_wrap.size = KEK_KEY_SIZE * sizeof(u32);
 debugfs_create_blob("tdsk", 0444, ctrlpriv->ctl,
       &ctrlpriv->ctl_tdsk_wrap);
}

Messung V0.5
C=93 H=97 G=94

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.10Angebot  Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können  ¤

*Eine klare Vorstellung vom Zielzustand






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.