.\" -*- coding: UTF-8 -*- .\" Written by Ralf Baechle (ralf@waldorf-gmbh.de), .\" Copyright (c) 1994, 1995 Waldorf GMBH .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CACHEFLUSH 2 "21. Dezember 2020" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG cacheflush \- Befehls\- und/oder Datencache(s) zurückschreiben und freigeben .SH ÜBERSICHT .nf \fB#include \fP .PP \fBint cacheflush(char *\fP\fIAdr\fP\fB, int \fP\fIaByte\fP\fB, int \fP\fIcache\fP\fB);\fP .fi .PP \fIHinweis:\fP Auf einigen Architekturen gibt es keinen Glibc\-Wrapper für diesen Systemaufruf; siehe ANMERKUNGEN. .SH BESCHREIBUNG \fBcacheflush\fP() schreibt den Inhalt der angegebenen Cache(s) für den Benutzeradressbereich \fIAdr\fP bis \fI(Adr+aByte\-1)\fP in den Speicher zurück. \fIcache\fP ist eine der folgenden Konstanten: .TP \fBICACHE\fP den Befehlscache freigeben. .TP \fBDCACHE\fP zurück in den Speicher schreiben und die betroffenen Bereiche des Caches für ungültig erklären, also freigeben. .TP \fBBCACHE\fP identisch mit \fB(ICACHE\fP|\fIDCACHE)\fP. .SH RÜCKGABEWERT \fBcacheflush\fP() gibt 0 bei Erfolg oder \-1 im Fehlerfall zurück. Sollten Fehler erkannt werden, ist der Fehler in \fIerrno\fP kodiert. .SH FEHLER .TP \fBEFAULT\fP Auf den Adressbereich von \fIAdr\fP bis \fI(Adr+aByte\-1)\fP kann (ganz oder teilweise) nicht zugegriffen werden. .TP \fBEINVAL\fP Dem Parameter \fIcache\fP ist keiner der Werte \fBICACHE\fP, \fBDCACHE\fP oder \fBBCACHE\fP zugewiesen (siehe aber auch FEHLER). .SH "KONFORM ZU" Historisch war dieser Systemaufruf auf allen MIPS\-UNIX\-Varianten, inklusive RISC/os, IRIX, Ultrix, NetBSD, OpenBSD und FreeBSD (und auf einigen nicht\-UNIX\-MIPS\-Betriebssystemen) verfügbar, so dass die Existenz dieses Aufrufs in MIPS\-Betriebssystemen der de\-facto\-Standard ist. .SS Vorsicht \fBcacheflush\fP() sollte nicht in Programmen verwandt werden, die portabel sein sollen. Unter Linux erschien dieser Aufruf zuerst auf der MIPS\-Architektur, heutzutage stellt Linux einen Systemaufruf \fBcacheflush\fP() aber auch auf einigen anderen Architekturen zur Verfügung, allerdings mit anderen Argumenten. .SH ANMERKUNGEN .SS "Architektur\-spezifische Varianten" Glibc stellt einen Wrapper für die Architekturen ARC, CSKY, MIPS und NIOS2 für diesen Systemaufruf bereit, dessen Prototyp in der ÜBERSICHT gezeigt ist. .PP Auf einigen anderen Architekturen stellt Linux diesen Systemaufruf mit anderen Argumenten bereit: .TP M68K: .nf \fBint cacheflush(unsigned long \fP\fIAdr\fP\fB, int \fP\fIscope\fP\fB, int \fP\fIcache\fP\fB,\fP \fB unsigned long \fP\fIlaenge\fP\fB);\fP .fi .TP SH: .nf \fBint cacheflush(unsigned long \fP\fIAdr\fP\fB, unsigned long \fP\fIlaenge\fP\fB, int \fP\fIop\fP\fB);\fP .fi .TP NDS32: .nf \fBint cacheflush(unsigned int \fP\fIstart\fP\fB, unsigned int \fP\fIende\fP\fB, int \fP\fIcache\fP\fB);\fP .fi .PP Auf den obigen Architekturen stellt Glibc keinen Wrapper für diesen Systemaufruf bereit; rufen Sie ihn mittels \fBsyscall\fP(2) auf. .SS GCC\-Alternative Sie werden wahrscheinlich die in GCC eingebaute Funktion \fB__builtin___clear_cache\fP() verwenden wollen, die eine portierbare Schnittstelle über die von GCC und kompatiblen Compilern unterstützten Plattformen bereitstellt, außer Sie benötigen die feinere Steuerung, die dieser Systemaufruf bereitstellt. .PP .in +4n .EX \fBvoid __builtin___clear_cache(void *\fP\fIanfang\fP\fB, void *\fP\fIende\fP\fB);\fP .EE .in .PP Auf Plattformen, bei denen der Instruktionszwischenspeicher nicht rausgeschrieben werden muss, hat \fB__builtin___clear_cache\fP() keine Auswirkung. .PP \fIHinweis\fP: Auf einigen GCC\-kompatiblen Compilern verwendet der Prototyp für diese eingebaute Funktion \fIchar *\fP anstatt \fIvoid *\fP für die Parameter. .SH FEHLER Linux\-Kernel älter als Version 2.6.11 ignorieren die Argumente \fIAdr\fP und \fIaByte\fP. Dadurch wird die Funktion relativ aufwändig. Daher wird immer der ganze Cache freigegeben. .PP Die Funktion verhält sich immer so, als ob \fBBCACHE\fP als Argument für \fIcache\fP übergeben worden wäre und führt keine Fehlerprüfung auf dem Argument \fIcache\fP durch. .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Baechle , Martin Eberhard Schauer und Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .