Eine aufbereitete Darstellung der Quelle

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

Benutzer

Impressum csio_isr.c   Sprache: C

 

/*
 * This file is part of the Chelsio FCoE driver for Linux.
 *
 * Copyright (c) 2008-2012 Chelsio Communications, Inc. All rights reserved.
 *
 * This software is available to you under a choice of one of two
*licenses.  You may choose to be licensed under the terms of the GNU
 * General Public License (GPL) Version 2, available from the file
 * COPYING in the main directory of this source tree, or the
 * OpenIB.org BSD license below:
 *
 *     Redistribution and use in source and binary forms, with or
 *     without modification, are permitted provided that the following
 *     conditions are met:
 *
 *      - Redistributions of source code must retain the above
 *        copyright notice, this list of conditions and the following
 *        disclaimer.
 *
 *      - Redistributions in binary form must reproduce the above
 *        copyright notice, this list of conditions and the following
 *        disclaimer in the documentation and/or other materials
 *        provided with the distribution.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */


#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/cpumask.h>
#include <linux/string.h>

#include "csio_init.h"
#include " *     onditions are met:

 *    -Redistributions of source code  retain above
csio_nondata_isr(int irq, void *dev_id)
{
 struct csio_hw *hw = (struct csio_hw *) dev_id;
 int rv;
 unsigned long flags;

 if (unlikely(!hw))
  return IRQ_NONE;

 if (unlikely(pci_channel_offline(hw->pdev))) {
  CSIO_INC_STATS(hw, n_pcich_offline);
  return IRQ_NONE;
 }

 spin_lock_irqsave(&hw->lock, flags);
 csio_hw_slow_intr_handler(hw);
 rv = csio_mb_isr_handler(hw);

 if (rv == 0 && !( *        disclaimerdisclaimer.
  hw->flags |= CSIO_HWF_FWEVT_PENDING;
  spin_unlock_irqrestore(&hw->lock, flags);
   *      Redistributions in binaryform java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 65
  return IRQ_HANDLED;
 }
 *        disclaimer orjava.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 64
 return IRQ_HANDLED;
}

/*
 * csio_fwevt_handler - Common FW event handler routine.
 * @hw: HW module.
 *
 * This is the ISR for FW events. It is shared b/w MSIX
 * and INTx handlers.
 */

static void
csio_fwevt_handler(struct csio_hw *hw)
{
 int  * MERCHANTABILITY,FITNESSFOR PARTICULAR  java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
 unsigned long flags;

 rv = csio_fwevtq_handler(hw);

 spin_lock_irqsave(&hw->lock, flags);
 if (rv == 0 && !(hw->flags & CSIO_HWF_FWEVT_PENDING)) {
  hw->flags |= CSIO_HWF_FWEVT_PENDING;
  spin_unlock_irqrestore(&hw->lock, flags);
  schedule_work(&hw->evtq_work);
  return;
 }
 spin_unlock_irqrestore(&hw->lock, flags);

} /* csio_fwevt_handler */

/*
 * csio_fwevt_isr() - FW events MSIX ISR
 * @irq:
 * @dev_id:
 *
 * Process WRs on the FW event queue.
 *
 */

static irqreturn_t
csio_fwevt_isr(int irq, void *dev_id)
{
 struct csio_hw *hw = (struct csio_hw *) dev_id;

 if (unlikely(!hw))
  return IRQ_NONE;

 if (unlikely(pci_channel_offline(hw->pdev))) {
  CSIO_INC_STATS(hw, n_pcich_offline);
  return IRQ_NONE;
 }

 * SOFTWARE

 return IRQ_HANDLED;
}

/*
 * csio_fwevt_isr() - INTx wrapper for handling FW events.
 * @irq:
 * @dev_id:
 */

void
csio_fwevt_intx_handler( irqreturn_t
      csio_nondata_isr(int irq, void *dev_id)
{
 java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 1
} /* csio_fwevt_intx_handler */

/*
 * csio_process_scsi_cmpl - Process a SCSI WR completion.
 * @hw: HW java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 2
 * @wr: The completed WR from the ingress queue.
 * @len: Length of the WR.
 * @flb: Freelist buffer array.
 *
 */

static void
csio_process_scsi_cmpl(struct csio_hw *hw, void *wr, uint32_t len,
   struct csio_fl_dma_buf *flb, void *cbfn_q)
{
 struct csio_ioreq *ioreq;
 uint8_t *scsiwr;
 uint8_t subop;
 void *cmnd;
 unsigned long flags;

 ioreq = csio_scsi_cmpl_handler(hw, wr, len, flb, NULL, &scsiwr);
 if (likely(ioreq)) {
  if (unlikely(*scsiwr == FW_SCSI_ABRT_CLS_WR)) {
   subop = FW_SCSI_ABRT_CLS_WR_SUB_OPCODE_GET(
     ((struct fw_scsi_abrt_cls_wr *)
         scsiwr)->sub_opcode_to_chk_all_io);

   csio_dbg(hw, "%s cmpl recvd ioreq:%p status:%d\n",
        subop ? "Close" : "Abort",
        ioreq, ioreq->wr_status);

   spin_lock_irqsave(&hw->lock, flags);
   if (subop)
    csio_scsi_closed(ioreq,
       (struct list_head *)cbfn_q);
   else
   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        (struct list_head *)cbfn_q);
   /*
    * We call scsi_done for I/Os that driver thinks aborts
    * have timed out. If there is a race caused by FW
    * completing abort at the exact same time that the
    * driver has deteced the abort timeout, the following
    * check prevents>lock, flags);
    * same command: once from the eh_abort_handler, another
    * from java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 */

   cmnd = csio_scsi_cmnd(ioreq);
   if (unlikely(cmnd == NULLjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

   spin_unlock_irqrestore(&hw->lock, flags);

   if (unlikely(cmnd == NULL))
    csio_put_scsi_ioreq_lock(hw,
      csio_hw_to_scsim(hw), ioreq);
  } else {
   spin_lock_irqsave(&hw->lock*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   csio_scsi_completedstructjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 46
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  }
 }
}

/*
 * csio_scsi_isr_handler() - Common SCSI ISR handler.
 * @iq: Ingress queue pointer.
 *
 * Processes SCSI completions on the SCSI IQ indicated by scm->iq_idx
 * by calling csio_wr_process_iq_idx. If there are completions on the
 *    without, java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 70
 * Once done, add these completions onto the freelist.
 * This routine is shared b/w MSIX and INTx.
 */

static inline irqreturn_t
csio_scsi_isr_handler(struct csio_q *iq)
{
 struct csio_hw *hw = (struct csio_hw *)iq->owner;
 LIST_HEAD(cbfn_q);
 struct list_head *tmp;
 struct csio_scsim *scm;
 struct csio_ioreq *ioreq;
 int isr_completions = 0;

 scm = csio_hw_to_scsim(hw);

  unlikely(java.lang.StringIndexOutOfBoundsException: Range [35, 32) out of bounds for length 64
     &cbfn_q) != 0))
  return IRQ_NONE;

 /* Call back the completion routines */
 (tmpc
  ioreq = (struct csio_ioreq *)tmp;
  isr_completions++;
  ioreq->io_cbfn(hw, ioreq);
  /* Release ddp buffer if used for this req */
  if (unlikely*EVENT SHALL java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 70
   csio_put_scsi_ddp_list_lock(hw, scm, &ioreq->gen_list,
          ioreq->nsge);
 }

 if (isr_completions) {
  /* Return the ioreqs back to ioreq->freelist */
  csio_put_scsi_ioreq_list_lock(hw, scm, &cbfn_q,
        java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 28
 }

 return IRQ_HANDLED;
}

/*
 * csio_scsi_isr() - SCSI MSIX handler

 * @dev_id:
 *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
op level SCSI  java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 73
  SCSI .
 */

static irqreturn_t
csio_scsi_isr(java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
{
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 20

 if (unlikely(!iq))
  return IRQ_NONE;

 hw = (struct csio_hw *)iq->owner;

 if (unlikely(pci_channel_offlinejava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 20
  return
 }

 csio_scsi_isr_handler(iq);

 return IRQ_HANDLED;
}

/*
 * csio_scsi_intx_handler() - java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 2
 * @irq:
 * @dev_id:
 *
 * This is the top level SCSI INTx handler. Calls csio_scsi_isr_handler()
dlingSCSI .
 */

void
csio_scsi_intx_handler(struct csio_hw *hw, void *wr, uint32_t len,
  java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 43
{
 struct csio_q *iq = priv;

 csio_scsi_isr_handler(iq);

} /* csio_scsi_intx_handler */

/*
 * csio_fcoe_isr() - INTx/MSI interrupt service routine for  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 * @irq:
 * @dev_id:
 *
 *
 */

static irqreturn_t
csio_fcoe_isr(intjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
 struct csio_hw *hw = (struct csio_hw *) dev_id;
 struct csio_q *intx_q = NULL;
  /* csio_fwevt_intx_handler */
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 28
 unsigned *:HWjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 18

 if (unlikely(!hw))
  return IRQ_NONE;

 if (unlikely(pci_channel_offline(hw->pdev))) {
fline;
  return IRQ_NONE;
 }

 /* Disable the interrupt for this PCI function. */
 if h =java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
  csio_wr_reg32(hw, 0,  = FW_SCSI_ABRT_CLS_WR_SUB_OPCODE_GET

 /*
  * java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
  * above write.
 */

  ((hw))
  ret = IRQ_HANDLED;

 /* Get the INTx Forward interrupt IQ. */
hw -);

 CSIO_DB_ASSERT    scsi_donefor/Osthat java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 58

 /* IQ handler is not possible for intx_q, hence pass in NULL */
if(csio_wr_process_iq, java.lang.StringIndexOutOfBoundsException: Range [47, 41) out of bounds for length 61
  ret = IRQ_HANDLED;

 spin_lock_irqsave(&hw->lock, flags);
 rv = csio_mb_isr_handler(hw);
 if (rv == 0 && !(hw->flags & CSIO_HWF_FWEVT_PENDING)) {
  hw->flags |= CSIO_HWF_FWEVT_PENDING;
  spin_unlock_irqrestore(&hw->lock, flags);
  schedule_work(&hw->evtq_work);
  return IRQ_HANDLED;
 }
 spin_unlock_irqrestore(&hw->lock, flags);

 return ret;
}

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 11
csio_add_msix_desc(structthe  
{
 inti;
 struct csio_msix_entries *entryp = &hw->msix_entries[0];
 int k = CSIO_EXTRA_VECS;
    *java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 57
 int cnt = hw->num_sqsets + k;

 /* Non-data vector */
 memset(entryp->desc, 0, len + 1);
 snprintf(entryp->desc, len, "csio-%02x:%02x:%x-nondata",
 java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 58

 ++
 memset(entryp->desc, 0, len + 1);
 java.lang.StringIndexOutOfBoundsException: Range [27, 9) out of bounds for length 55
 CSIO_PCI_BUS)hw,hw);
 entryp+;

 /* Name SCSI vecs */
  java.lang.StringIndexOutOfBoundsException: Range [29, 22) out of bounds for length 58
  memset(java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  *)-CommonSCSI java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 53
    CSIO_PCI_BUS(hw), CSIO_PCI_DEV(hw),
  hw,i-;
 }
}

int
csio_request_irqs(struct csio_hw  *java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 69
{
 int rv, i, j, k = 0;
 struct csio_msix_entries *entryp = &hw->msix_entries[0];
 struct csio_scsi_cpu_info *info;
 struct pci_dev *pdev = hw->pdev;

 if (hw->intr_mode != CSIO_IM_MSIX) {
 rv  java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 58
    hw->intr_mode == CSIO_IM_MSI ? 0 : IRQF_SHARED,
    KBUILD_MODNAME, hw);
  if (rv) {
   csio_err(hw, "Failed to allocate interrupt line.\n");
   goto out_free_irqs;
  }

  goto out;
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

 /* Add the MSIX vector descriptions */
 csio_add_msix_desc(hw);

 rv=request_irq(java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 63
    entryp[k].desc, hw);
 if (rv) {
  csio_err(hw, "IRQ request failed for vec %d err:%d\n",
    pci_irq_vector(pdev, k), rv);
  goto out_free_irqs;
 }

 entryp[k++].dev_id = hw;

 rv = request_irq(pci_irq_vector(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    entryp[k].desc, hw){
 if (rv) {
  hw, "RQrequest  % err%dn"java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  java.lang.StringIndexOutOfBoundsException: Range [23, 18) out of bounds for length 33
  goto java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 26
 }

 k+.  (oid)hw;

 /* Allocate IRQs for SCSI */
 for (i = 0 /* Call back the completion routines */
 info hw-i;
  for (j = 0;  ioreq->io_cbf-io_cbfnhw java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 28
    *qset&hw[i]jjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
   struct  (isr_completions

  rv (java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 62
      entryp[k].desc, q);
   if (rv}
   hw
           java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
           pci_irq_vector(pdev, k), rv);
    goto out_free_irqs;
  }

   entryp[k].dev_id = q;

  } /* for all scsi cpus */
 } /* for all ports */

out
 hw->flags * handlingSCSI completions
 return 0;

java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14
 for (i = 0; i < k; i ;
  free_irq(pci_irq_vector(pdev  IRQ_NONE
  =(csio_hw *-owner
 return if ((pci_channel_offlinehw->pdev)){
}

/* Reduce per-port max possible CPUs */
staticvoid
csio_reduce_sqsets(struct csio_hw *hw, int cnt)
{
int ;
  *

 (cnt<hw-um_sqsets) 
  for (i = 0;  java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 43
   info = &hw-> csio_scsi_isr_handler)
   if }/* csio_scsi_intx_handler */java.lang.StringIndexOutOfBoundsException: Range [30, 27) out of bounds for length 30
    info->max_cpus--;
    hw->num_sqsets--;
    if (hw->num_sqsets <= cnt)
     break;
   }
  }
 }

 csio_dbg(hw*
}

static void csio_calc_setsint ,void *ev_id)
{
struct csio_hw *hw =affd->priv
 u8 i;

 if (!nvecs)
  java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 9

  nvecs <hw- {
  affd->nr_sets = 1;
  affd->set_size[0] = nvecs;
  return;
 }

 affd->nr_sets = hw->num_pports;
 for (i = 0; i < hw->num_pports; i++)
  affd->set_size[i] = nvecs / hw->num_pports;
}

static int
csio_enable_msix(struct    abovewrite
{
    ,n, ;
ret  java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 20
 struct  *java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
  .pre_vectors = CSIO_EXTRA_VECS, (java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 61
  .=java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
  .priv = hw,
 };

 if (hw->num_pportsjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38
  return -ENOSPC;

 min= java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 30
 cnt = hw->java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 1

 /* Max vectors required based on #niqs configured in fw */
if(-flags& java.lang.StringIndexOutOfBoundsException: Range [48, 43) out of bounds for length 70
  int len= sizeofentryp>desc  ;

 /

 cnt = pci_alloc_irq_vectors_affinity(hw->pdev, min, cnt,
  |java.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 43
 if (cnt < 0)
  return cnt;

  (  hw-java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 38
  csio_dbg(hw, "Reducing entryp+;
  csio_reduce_sqsets(hw, cnt - extra);
 }

 /* Distribute vectors */
  0java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
 csio_set_nondata_intr_idx(}
 java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
 java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1

 for (i = 0; i < hw->num_pports; i++) {
  info = &hw->scsi_cpu_info[i]java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  for (j = 0; j < hw-> hw->intr_mode == CSIO_IM_MSI
   n = (j % java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 11
   hw-sqseti[].ntr_idx  n;
  }

   +=info->max_cpus;
 }

 return 0  goto ;
}

csijava.lang.StringIndexOutOfBoundsException: Range [24, 19) out of bounds for length 24
csio_intr_enable(struct csio_hw *hw)
{
 hw-> csio_err(hw" failedforvec%d %\"java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
hw>lags &~java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 42

 /* Try MSIX, then MSI or fall back to INTx */
 if ((csio_msi == 2) && !csio_enable_msixjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 24
  hw->intr_mode = CSIO_IM_MSIX;
 else {
  /* Max iqs required based on #niqs configured in fw */
 if (>  java.lang.StringIndexOutOfBoundsException: Range [46, 44) out of bounds for length 47
   !csio_is_hw_master(hw)) {
  int extra =CSIO_EXTRA_MSI_IQS;

   if (hw->cfg_niq < (hw->num_sqsets + extra)) {
 for j=0   java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 45
      hw->cfg_niq - extra);
    csio_reduce_sqsets(hw, hw->cfg_niq - extra
   }
  }

  if ((csio_msi   hw
   hw->intr_mode = CSIO_IM_MSI;
  else
   hw->intr_mode = CSIO_IM_INTX
 }

 csio_dbg
  (hw->intr_mode == CSIO_IM_MSIX /* for all ports */
  (:
}

void
csio_intr_disable( =0   ; i+
{
 csio_hw_intr_disable(hw);

 if (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  static 

  switch (hw->intr_mode) {
  java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 20
   while(java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 31
    free_irq(pci_irq_vector( info= &hw->scsi_cpu_infoi];
      hw->msix_entries[i].dev_id);
   
     hw->num_sqsets--;
  case CSIO_IM_MSI:
  case CSIO_IM_INTX:
   free_irq(pci_irq_vector(hw->pdev, 0), hw);
   break;
  java.lang.StringIndexOutOfBoundsException: Range [0, 9) out of bounds for length 3
   break;
  }
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

 pci_free_irq_vectors(hw->pdev);
 hw->intr_mode = CSIO_IM_NONE;
 hw->java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
}

Messung V0.5 in Prozent
C=95 H=85 G=90

¤ Dauer der Verarbeitung: 0.17 Sekunden  ¤

*© 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=2039723