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

Quelle  arc_aux.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2016-2017 Synopsys, Inc. (www.synopsys.com)
 */


#ifndef __SOC_ARC_AUX_H__
#define __SOC_ARC_AUX_H__

#ifdef CONFIG_ARC

#define read_aux_reg(r)  __builtin_arc_lr(r)

/* gcc builtin sr needs reg param to be long immediate */
#define write_aux_reg(r, v) __builtin_arc_sr((unsigned int)(v), r)

#else /* !CONFIG_ARC */

static inline int read_aux_reg(u32 r)
{
 return 0;
}

/*
 * function helps elide unused variable warning
 * see: https://lists.infradead.org/pipermail/linux-snps-arc/2016-November/001748.html
 */

static inline void write_aux_reg(u32 r, u32 v)
{
 ;
}

#endif

#define READ_BCR(reg, into)    \
{       \
 unsigned int tmp;    \
 tmp = read_aux_reg(reg);   \
 if (sizeof(tmp) == sizeof(into)) {  \
  into = *((typeof(into) *)&tmp);  \
 } else {     \
  extern void bogus_undefined(void); \
  bogus_undefined();   \
 }      \
}

#define WRITE_AUX(reg, into)    \
{       \
 unsigned int tmp;    \
 if (sizeof(tmp) == sizeof(into)) {  \
  tmp = (*(unsigned int *)&(into)); \
  write_aux_reg(reg, tmp);  \
 } else  {     \
  extern void bogus_undefined(void); \
  bogus_undefined();   \
 }      \
}


#endif

Messung V0.5
C=92 H=100 G=95

¤ Dauer der Verarbeitung: 0.11 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.