.\" -*- coding: UTF-8 -*- .\" Written by Ralf Baechle (ralf@waldorf-gmbh.de), .\" Copyright (c) 1994, 1995 Waldorf GMBH .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH cacheflush 2 "5 lutego 2023 r." "Linux man\-pages 6.03" .SH NAZWA cacheflush \- wypróżnia zawartość bufora podręcznego z instrukcjami i/lub z danymi .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .PP \fBint cacheflush(void \fP\fIaddr\fP\fB[.\fP\fInbytes\fP\fB], int \fP\fInbytes\fP\fB, int \fP\fIcache\fP\fB);\fP .fi .PP \fIUwaga\fP: Na niektórych architekturach nie istnieje opakowanie glibc dla tego wywołania systemowego, zob. UWAGI. .SH OPIS \fBcacheflush\fP() wypróżnia zawartość wskazanego(\-ych) bufora(\-ów) podręcznego(\-ych) dla adresów przestrzeni użytkownika w zakresie od \fIaddr\fP to \fI(addr+nbytes\-1)\fP. Parametr \fIcache\fP może być jednym z: .TP \fBICACHE\fP Wypróżnia bufor z instrukcjami. .TP \fBDCACHE\fP Zapisuje z powrotem do pamięci i unieważnia dotknięte tym prawidłowe linie buforowe. .TP \fBBCACHE\fP Identyczne z \fB(ICACHE|DCACHE)\fP. .SH "WARTOŚĆ ZWRACANA" \fBcacheflush\fP() zwraca 0 po pomyślnym zakończeniu. W przypadku błędu zwraca \-1 i ustawia \fIerrno\fP wskazując jego rodzaj. .SH BŁĘDY .TP \fBEFAULT\fP Część lub cała przestrzeń od \fIaddr\fP do \fI(addr+nbytes\-1)\fP jest niedostępna. .TP \fBEINVAL\fP \fI cache\fP nie jest jednym z \fBICACHE\fP, \fBDCACHE\fP lub \fBBCACHE\fP (lecz zob. USTERKI). .SH STANDARDY Historycznie, niniejsze wywołanie systemowe było dostępne we wszystkich wariantach uniksowych na platformie MIPS, w tym na RISC/os, IRIX, Ultrix, NetBSD, OpenBSD i FreeBSD (oraz na niektórych nieuniksowych systemach operacyjnych działających na MIPS), zatem istnienie tego wywołania w MIPS\-owych systemach operacyjnych jest faktycznym standardem. .SS Zastrzeżenia \fBcacheflush\fP() nie powinien być używany przez przenośne programy. W Linuksie, wywołanie to pojawiło się początkowo na architekturze MIPS, lecz obecnie Linux udostępnia wywołanie systemowe \fBcacheflush\fP() na niektórych z innych architektur, lecz z odmiennymi argumentami. .SH UWAGI .SS "Warianty na różnych architekturach" glibc udostępnia opakowanie dla tego wywołania systemowego, z prototypem pokazanym w SKŁADNI, dla następujących architektur: ARC, CSKY, MIPS i NIOS2. .PP Na niektórych z innych architektur, Linux udostępnia to wywołanie systemowe, ale z innymi argumentami: .TP M68K: .nf \fBint cacheflush(unsigned long \fP\fIaddr\fP\fB, int \fP\fIscope\fP\fB, int \fP\fIcache\fP\fB,\fP \fB unsigned long \fP\fIlen\fP\fB);\fP .fi .TP SH: .nf \fBint cacheflush(unsigned long \fP\fIaddr\fP\fB, unsigned long \fP\fIlen\fP\fB, int \fP\fIop\fP\fB);\fP .fi .TP NDS32: .nf \fBint cacheflush(unsigned int \fP\fIstart\fP\fB, unsigned int \fP\fIend\fP\fB, int \fP\fIcache\fP\fB);\fP .fi .PP Na powyższych architekturach glibc nie udostępnia opakowania dla tego wywołania systemowego; należy je wywołać za pomocą \fBsyscall\fP(2). .SS "Alternatywa GCC" O ile nie jest konieczne dokładniejsza kontrola udostępniania przez to wywołanie systemowe, prawdopodobnie powinno się korzystać z wbudowanej funkcji GCC \fB__builtin___clear_cache\fP(), która zapewnia przenośny interfejs działający na wszystkich platformach obsługiwanych przez GCC i na kompatybilnych kompilatorach. .PP .in +4n .EX \fBvoid __builtin___clear_cache(void *\fP\fIbegin\fP\fB, void *\fP\fIend\fP\fB);\fP .EE .in .PP Na platformach, które nie wymagają opóźniania buforów, \fB__builtin___clear_cache\fP() nie daje efektów. .PP \fIUwaga\fP: Na niektórych kompilatorach kompatybilnych z GCC, prototyp tej wbudowanej funkcji używa dla parametrów \fIchar *\fP zamiast \fIvoid *\fP. .SH USTERKI Jądro Linux w wersji starszej niż Linux 2.6.11 ignoruje parametry \fIaddr\fP i \fInbytes\fP, co czyni tę funkcję dość kosztowną. Dlatego zawsze wypróżniane są wszystkie bufory. .PP Funkcja zachowuje się zawsze w sposób, jak gdyby argumentem \fIcache\fP był \fBBCACHE\fP i nie dokonuje żadnego sprawdzenia pod kątem błędów parametru \fIcache\fP. .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys , Andrzej Krzysztofowicz i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .