Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/mips/lib/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  strnlen_user.S   Sprache: Sparc

 
/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (c) 1996, 1998, 1999, 2004 by Ralf Baechle
 * Copyright (c) 1999 Silicon Graphics, Inc.
 */

#include <linux/export.h>
#include <asm/asm.h>
#include <asm/asm-offsets.h>
#include <asm/regdef.h>

#define EX(insn,reg,addr,handler)   \
9: insn reg, addr;    \
 .section __ex_table,"a";   \
 PTR_WD 9b, handler;    \
 .previous

/*
 * Return the size of a string including the ending NUL character up to a
 * maximum of a1 or 0 in case of error.
 *
 * Note: for performance reasons we deliberately accept that a user may
 *  make strlen_user and strnlen_user access the first few KSEG0
 *  bytes.  There's nothing secret there. On 64-bit accessing beyond
 *  the maximum is a tad hairier ...
 */

LEAF(__strnlen_user_asm)
 move  v0, a0
 PTR_ADDU a1, a0   # stop pointer
1:
#ifdef CONFIG_CPU_DADDI_WORKAROUNDS
 .set  noat
 li  AT, 1
#endif
 beq  v0, a1, 1f  # limit reached?
#ifdef CONFIG_EVA
 .set push
 .set eva
 EX(lbe, t0, (v0), .Lfault)
 .set pop
#else
 EX(lb, t0, (v0), .Lfault)
#endif
 .set  noreorder
 bnez  t0, 1b
1:
#ifndef CONFIG_CPU_DADDI_WORKAROUNDS
  PTR_ADDIU v0, 1
#else
  PTR_ADDU v0, AT
 .set  at
#endif
 .set  reorder
 PTR_SUBU v0, a0
 jr  ra
 END(__strnlen_user_asm)

.Lfault:
 move  v0, zero
 jr  ra

 EXPORT_SYMBOL(__strnlen_user_asm)

Messung V0.5
C=97 H=100 G=98

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© 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.