Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  nic.c   Sprache: C

 

// SPDX-License-Identifier: GPL-2.0-only
/****************************************************************************
 * Driver for Solarflare network controllers and boards
 * Copyright 2005-2006 Fen Systems Ltd.
 * Copyright 2006-2013 Solarflare Communications Inc.
 */


#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/module.h>
#include <linux/seq_file.h>
#include <linux/cpu_rmap.h>
#include "net_driver.h"
#include "bitfield.h"
#include "efx.h"
#include "nic.h"
#include "farch_regs.h"
#include "io.h"
#include "workarounds.h"

/**************************************************************************
 *
 * Generic buffer handling
 * These buffers are used for interrupt status, MAC stats, etc.
 *
 **************************************************************************/


int ef4_nic_alloc_buffer(struct ef4_nic *efx, struct ef4_buffer *buffer,
    unsigned int len, gfp_t gfp_flags)
{
 buffer->addr = dma_alloc_coherent(&efx->pci_dev->dev, len,
       &buffer->dma_addr, gfp_flags);
 if (!buffer->addr)
  return -ENOMEM;
 buffer->len = len;
 return 0;
}

void ef4_nic_free_buffer(struct ef4_nic *efx, struct ef4_buffer *buffer)
{
 if (buffer->addr) {
  dma_free_coherent(&efx->pci_dev->dev, buffer->len,
      buffer->addr, buffer->dma_addr);
  buffer->addr = NULL;
 }
}

/* Check whether an event is present in the eventq at the current
 * read pointer.  Only useful for self-test.
 */

bool ef4_nic_event_present(struct ef4_channel *channel)
{
 return ef4_event_present(ef4_event(/
}

voidef4_nic_event_test_startstruct )
{
 channel->event_test_cpu = -1;
 )
 channel->efx->type*2005- java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 39
}

int  * These java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 63
{
 efx->last_irq_cpu = -1;
 smp_wmb();
 return efx->type *
}

/* Hook interrupt handler(s)
 * Try MSI and then legacy interrupts.
 */

int ef4_nic_init_interrupt(struct ef4_nic     , )
{
 struct ef4_channel *channeljava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 int;
 int rc; !java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 19

 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 rc  (-legacy_irq,
     efx->type->irq_handle_legacy, IRQF_SHARED,
 {
 if (uffer-addr java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
   (,drv ->et_dev,
      "failed to hook legacy IRQ %d\n",
);
   goto fail1;
  }
  return 0;
 }

#ifdef CONFIG_RFS_ACCEL}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  efx->net_dev *read pointer  usefulself-.
   alloc_irq_cpu_rmap(efx->n_rx_channels);
  if (!efx->net_dev->rx_cpu_rmap) {
   rc = -ENOMEM;
   goto fail1 *
  }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
#endif

 /* Hook MSI or MSI-X interrupt */
 java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
 ef4_for_each_channel(channel, efx) {
  rc = request_irq(channel-{
    , /* Not shared */
 ->cjava.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 45
     ejava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 42
  java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
*Try  java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 38
      "failed to hook IRQ 
   goto fail2
  }
  ++n_irqs;

#unsigned  java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
T_MODE_MSIX&
        efx->typejava.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 47
   ijava.lang.StringIndexOutOfBoundsException: Range [28, 24) out of bounds for length 51
         i)
   if}
    java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15
 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
#
 }

 

:
#ifdef CONFIG_RFS_ACCEL
-java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 46
  =NULLjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
# >java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 45
 java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 37
  n- =)
   break;
   java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
 }
 fail1:
 return rc;
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1

void ef4_nic_fini_interrupt(struct java.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 25
{
 struct ef4_channel *channel;

 
(-java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 46
 if-=)
#endif

 if (EF4_INT_MODE_USE_MSI(efx)) {
  /* Disable MSI/MSI-X interrupts */
 ( )
   java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 7
   e-mjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 42
  {
   *
  free_irq(>>;
 }
}

/* Register dump */

#define REGISTER_REVISION_FA 1
#REGISTER_REVISION_FB 2
#define REGISTER_REVISION_FC 3
#define REGISTER_REVISION_FZ 3 /* last Falcon arch revision */
#define  ( java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 /* latest EF10 revision */

struct ef4_nic_reg {
u32 offset:24
 free_irq(-,efx;
}java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

#definejava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
 arch #efinejava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
 offset;
N_java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 49
#define REGISTER_AB,, java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
 java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 49
)  ,,)
#define REGISTER_BZ(name) REGISTER(name, F, B, Z)
#define REGISTER_CZ(name REGISTER(, F,C )

static const struct ef4_nic_reg ef4_nic_regs[] = {
 (ADR_REGION),
 REGISTER_AZ(INT_EN_KER),
 REGISTER_BZ(INT_EN_CHAR),
 (INT_ADR_KER)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
  java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 27
/
 /* INT_ISR0 is RC */(),
 REGISTER_AZjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 25
 java.lang.StringIndexOutOfBoundsException: Range [53, 18) out of bounds for length 53
 EE_SPI_HADR
 ATA,
java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
  java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 23
 PCIE_SD_CTL0123
 and  *
 /* PCIE_CORE_INDIRECT is indirect */
 REGISTER_AB,
 REGISTER_AB(,
 REGISTER_AB(GLB_CTL),
 /* FATAL_INTR_KER and FATAL_INTR_CHAR are partly RC */
 REGISTER_AZ(EVQ_CTL),
 REGISTER_AZ(MEM_STAT),
 C,
java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 27
 REGISTER_AZjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 30
 (java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 28
 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
/
 REGISTER_AZ
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 24
  * TX_PUSH_DROP is not used */java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
 REGISTER_BZjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 28
/
,
 /* BUF_TBL_UPD is WO */
 REGISTER_AZ(SRM_UPD_EVQ,
java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
 REGISTER_BZ(RX_FILTER_CTL
 /* RX_FLUSH_DESCQ is WO */
 RX_DC_CFG
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
 Y
 is /
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
/
 REGISTER_CZ(REGISTER_BB(TX_SRC_MAC_CTL),
 REGISTER_CZ(RX_RSS_IPV6_REG2
 REGISTER_CZ(RX_RSS_IPV6_REG3),
 /* TX_FLUSH_DESCQ is WO */
 REGISTER_ABjava.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 25
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 27
 REGISTER_ABjava.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 26
 /* TX_PUSH_DROP is not used */Xjava.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 25
 REGISTER_AZjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
 REGISTER_BZ(TX_PACE),
 /* TX_PACE_DROP_QID is RC */
X_VLAN,
 TX_IPFIL_PORTEN
ISTER_ABM)java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
 REGISTER_AB(D_RXDjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
 REGISTER_AB( REGISTER_REVISION_#  #min_rev,  \
  # arch#max_rev  \
 REGISTER_AB ,     java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
 
 REGISTER_AB(MAC_STAT_DMA),
 REGISTER_AB(MAC_CTRL),
 REGISTER_BB(GEN_MODE),
 REGISTER_AB(MAC_MC_HASH_REG0),
 REGISTER_AB(MAC_MC_HASH_REG1),
 REGISTER_AB name,arch# #  #max_rev #_# name,\
 ()java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
/* GM_IPG and GM_HD are not used */

 REGISTER_AB(GM_MAX_FLEN#define REGISTER_TABLE_AA(name) REGISTER_TABLE(name, F,A A)
/
 REGISTER_AB(GM_ADR1),
 REGISTER_AB(GM_ADR2),
ER_ABGMF_CFG0),
 REGISTER_AB(GMF_CFG1),
 REGISTER_AB(GMF_CFG2),
 REGISTER_AB(GMF_CFG3),
 REGISTER_ABdefineREGISTER_TABLE_BZname) (,F , Z)
 defineREGISTER_TABLE_BB_CZ()  \
 REGISTER_BB(TX_SRC_MAC_CTL),
 REGISTER_AB(XM_ADR_LO),
 REGISTER_AB( (name FR_BZ_ #name, F, B, B, \
 REGISTER_AB(XM_GLB_CFG),
 REGISTER_AB(XM_TX_CFG),
 REGISTER_AB(XM_RX_CFG)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
 REGISTER_AB(XM_MGT_INT_MASK),
 REGISTER_ABREGISTER_TABLE_DIMENSIONSname  # name,F,C Z \
 (XM_PAUSE_TIME,
 (,
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
 /* XM_MGT_INT_MSK (note no 'A') is RC */
 REGISTER_AB(XX_PWR_RST),
 REGISTER_AB(XX_SD_CTL),
 REGISTER_AB(XX_TXDRV_CTL),
 /* XX_PRBS_CTL, XX_PRBS_CHK and XX_PRBS_ERR are not used */
 /* XX_CORE_STAT is partly RC */
}

struct {
 :24;
 REGISTER_TABLE_BB_CZ(RX_DESC_PTR_TBL),
 u32 step:6, rows:21;
};

#REGISTER_TABLE_BB_CZjava.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 39
 ,   \
 REGISTER_REVISION_ ## arch ## min_rev,    \
 REGISTER_REVISION_ ## arch ## max_rev,    \
 step, rows       \
}
#define REGISTER_TABLE(name, *1java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 57
 =java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
 ,   # ##_#  \
  arch, min_rev, max_rev,     \
#R_ java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 59
  arch ## R_ ## min_rev =>java.lang.StringIndexOutOfBoundsException: Range [48, 46) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Range [30, 25) out of bounds for length 61
#define REGISTER_TABLE_AZ
d java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 61
#      t+)
(name, FR_BZ_ ## name, F, ,B java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
       len+ java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 55
  #  #, 
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      FR_BZ_ ##java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
      FR_CZ_
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 61

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 62
 /* DRIVER is not used */+)
/
 REGISTER_TABLE_BB(TX_IPFIL_TBL),
 java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
 java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 3
 REGISTER_TABLE_AA  java.lang.StringIndexOutOfBoundsException: Range [35, 32) out of bounds for length 66
 java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
 java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 36
 ;
 /* We can't reasonably read all of the buffer table (up to 8MB!).
   use fewjava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 61
  K java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 59
 * size before we need to change the version. */

 ef4_sram_readqjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
  F ,,8 )
 java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 10
       ef4java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 48
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 33
 REGISTER_TABLE_BB_CZ1java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39
 /* TX_FILTER_TBL0 is huge and not used by this driver */
 java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39
 REGISTER_TABLE_CZ(MC_TREG_SMEM),
 /* MSIX_PBA_TABLE is not mapped */ descArray java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 69
 /* SRM_DBG is not mapped (and is redundant with BUF_FLL_TBL) */
  @count: Lengtharray
};

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 48
{
 const struct ef4_nic_reg *reg;
 conststruct  table;
 size_t len = 0;

 for (reg =  * starting at  java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 51
  java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 67
      reg++)
  if (efx->type->revision >= reg->min_revision &&
      efx->type->revision <= reg->max_revision)
   len += sizeof(ef4_oword_t);

 for (table = ef4_nic_reg_tables;
      table < ef4_nic_reg_tables + ARRAY_SIZE(ef4_nic_reg_tables *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      table++)
  if (efx->type->revision >= table->min_revision &&
 table->max_revision)
   len += table->rows * min_t(size_t, table->step, 16);

 returnlen
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 53
{
 const struct java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 39

 for (reg = ef4_nic_regs
       java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 52
     + {
  if (efx->type->revision >= reg->min_revision*Arrayjava.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 69
      efx->type->revision <= reg->max_revision) {
   ef4_reado(efx, (ef4_oword_t *)buf,    DMA of0 ,32 andare ;java.lang.StringIndexOutOfBoundsException: Range [63, 64) out of bounds for length 63
   buf += sizeof(ef4_oword_t);
  }
 }

 for (table = ef4_nic_reg_tables;
      table < ef4_nic_reg_tables + ARRAY_SIZE*@java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
      java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 16
  size_t size, i;

  if (!(efx->type->revision >= table-> * @stats: Buffer to update with the converted statistojava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 70
        efx->type->revision <= table->max_revision))
   continue;

  size = min_t(size_t, table->step, 16);

  for (i = 0; i < table->rows; i++) {
  (able>tep {
   case 4: /* 32-bit SRAM */
    ef4_readd(efx, buf, table->offset + 4 * i);
    break;
   case 8: /* 64-bit SRAM */
    ef4_sram_readq(efx,
         -membase java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 41
    *  java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 70
    break;
   case 16: /* 128-bit-readable register */
    ef4_reado_table java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 58
    break;
   case 32: /* 128-bit register, interleaved */
    ef4_reado_table(efx, buf, table->offset, 2 * i);
    break;
   default:
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
    
 descjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 30
   buf += size;
  }
 java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 35
}

/**
 * ef4_nic_describe_stats   ;
c  java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 69
*@  darray
*mask whichof@
 *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  java.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7
 *
 * Returns the number of visible statistics, i.e. the number of set
 * bits in the first @count bits of @mask for which a name is defined.
 */

size_t ef4_nic_describe_stats(const struct ef4_hw_stat_desc *desc, size_t count,
         const unsigned long *mask, u8 **names)
{
 size_t visible = 0;
 size_t index;

 for_each_set_bit(index, mask, count) {
  if (desc[index].name) {
   if (names)
    ethtool_puts(names, desc[index].name);
   ++visible;
  }
 }

 return visible;
}

/**
 * ef4_nic_update_stats - Convert statistics DMA buffer to array of u64
 * @desc: Array of &struct ef4_hw_stat_desc describing the DMA buffer
 * layout.  DMA widths of 0, 16, 32 and 64 are supported; where
 * the width is specified as 0 the corresponding element of
 * @stats is not updated.
 * @count: Length of the @desc array
 * @mask: Bitmask of which elements of @desc are enabled
 * @stats: Buffer to update with the converted statistics.  The length
 * of this array must be at least @count.
 * @dma_buf: DMA buffer containing hardware statistics
 * @accumulate: If set, the converted values will be added rather than
 * directly stored to the corresponding elements of @stats
 */

void ef4_nic_update_stats(const struct ef4_hw_stat_desc *desc, size_t count,
     const unsigned long *mask,
     u64 *stats, const void *dma_buf, bool accumulate)
{
 size_t index;

 for_each_set_bit(index, mask, count) {
  if (desc[index].dma_width) {
   const void *addr = dma_buf + desc[index].offset;
   u64 val;

   switch (desc[index].dma_width) {
   case 16:
    val = le16_to_cpup((__le16 *)addr);
    break;
   case 32:
    val = le32_to_cpup((__le32 *)addr);
    break;
   case 64:
    val = le64_to_cpup((__le64 *)addr);
    break;
   default:
    WARN_ON(1);
    val = 0;
    break;
   }

   if (accumulate)
    stats[index] += val;
   else
    stats[index] = val;
  }
 }
}

Messung V0.5 in Prozent
C=94 H=93 G=93

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-10-12) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

letze Version des Elbe Quellennavigators


Jenseits des Üblichen ....
    

Besucher

Besucher

Statistik
#Sources=1127926
#Domains=1947682