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

Quelle  cacheflush_no.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _M68KNOMMU_CACHEFLUSH_H
#define _M68KNOMMU_CACHEFLUSH_H

/*
 * (C) Copyright 2000-2010, Greg Ungerer <gerg@snapgear.com>
 */

#include <linux/mm.h>
#include <asm/mcfsim.h>

#define flush_cache_all()   __flush_cache_all()
#define flush_dcache_range(start, len)  __flush_dcache_all()
#define flush_icache_range(start, len)  __flush_icache_all()

void mcf_cache_push(void);

static inline void __clear_cache_all(void)
{
#ifdef CACHE_INVALIDATE
 __asm__ __volatile__ (
  "movec %0, %%CACR\n\t"
  "nop\n\t"
  : : "r" (CACHE_INVALIDATE) );
#endif
}

static inline void __flush_cache_all(void)
{
#ifdef CACHE_PUSH
 mcf_cache_push();
#endif
 __clear_cache_all();
}

/*
 * Some ColdFire parts implement separate instruction and data caches,
 * on those we should just flush the appropriate cache. If we don't need
 * to do any specific flushing then this will be optimized away.
 */

static inline void __flush_icache_all(void)
{
#ifdef CACHE_INVALIDATEI
 __asm__ __volatile__ (
  "movec %0, %%CACR\n\t"
  "nop\n\t"
  : : "r" (CACHE_INVALIDATEI) );
#endif
}

static inline void __flush_dcache_all(void)
{
#ifdef CACHE_PUSH
 mcf_cache_push();
#endif
#ifdef CACHE_INVALIDATED
 __asm__ __volatile__ (
  "movec %0, %%CACR\n\t"
  "nop\n\t"
  : : "r" (CACHE_INVALIDATED) );
#else
 /* Flush the write buffer */
 __asm__ __volatile__ ( "nop" );
#endif
}

/*
 * Push cache entries at supplied address. We want to write back any dirty
 * data and then invalidate the cache lines associated with this address.
 */

static inline void cache_push(unsigned long paddr, int len)
{
 __flush_cache_all();
}

/*
 * Clear cache entries at supplied address (that is don't write back any
 * dirty data).
 */

static inline void cache_clear(unsigned long paddr, int len)
{
 __clear_cache_all();
}

#include <asm-generic/cacheflush.h>

#endif /* _M68KNOMMU_CACHEFLUSH_H */

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

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