.\" -*- coding: UTF-8 -*- .\" Copyright 1994-1995, Waldorf GMBH .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH cacheflush 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم cacheflush \- مسح محتويات خبيئة التعليمات و/أو البيانات .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint cacheflush(\fPint nbytes; \fB void \fP\fIaddr\fP\fB[\fP\fInbytes\fP\fB], int \fP\fInbytes\fP\fB, int \fP\fIcache\fP\fB);\fP .fi .P \fIملاحظة\fP: في بعض البنى، لا يوجد غلاف glibc لاستدعاء النظام هذا؛ انظر الإصدارات. .SH الوصف \fBcacheflush\fP() يمسح محتويات الخبيئة (الخبائن) المشار إليها لعناوين المستخدم في النطاق من \fIaddr\fP إلى \fI(addr+nbytes\-1)\fP. يمكن أن يكون \fIcache\fP واحدًا مما يلي: .TP \fBICACHE\fP مسح خبيئة التعليمات. .TP \fBDCACHE\fP الكتابة العكسية إلى الذاكرة وإبطال أسطر الخبيئة الصالحة المتأثرة. .TP \fBBCACHE\fP مثل \fB(ICACHE|DCACHE)\fP. .SH "قيمة الإرجاع" \fBcacheflush\fP() يُرجع 0 عند النجاح. عند الخطأ، يُرجع \-1 ويضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEFAULT\fP بعض أو كل نطاق العنوان من \fIaddr\fP إلى \fI(addr+nbytes\-1)\fP غير قابل للوصول. .TP \fBEINVAL\fP \fIcache\fP ليس واحدًا من \fBICACHE\fP أو \fBDCACHE\fP أو \fBBCACHE\fP (ولكن انظر الأخطاء). .SH الإصدارات لا ينبغي استخدام \fBcacheflush\fP() في البرامج المعدة لتكون محمولة. في لينكس، ظهر هذا الاستدعاء أولاً على بنية MIPS، ولكن في الوقت الحالي، يوفر لينكس استدعاء النظام \fBcacheflush\fP() على بعض البنى الأخرى، ولكن مع وسائط مختلفة. .SS "متغيرات خاصة بالبنية" يوفر glibc غلافًا لاستدعاء النظام هذا، مع النموذج الأولي الموضح في الملخص، للبنى التالية: ARC وCSKY وMIPS وNIOS2. .P في بعض البنى الأخرى، يوفر لينكس استدعاء النظام هذا، مع وسائط مختلفة: .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\fIsize\fP\fB);\fP .fi .TP SH: .nf \fBint cacheflush(unsigned long \fP\fIaddr\fP\fB, unsigned long \fP\fIsize\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 .P في البنى المذكورة أعلاه، لا يوفر glibc غلافًا لاستدعاء النظام هذا؛ استدعه باستخدام \fBsyscall\fP(2). .SS "بديل GCC" ما لم تكن بحاجة إلى التحكم الدقيق الذي يوفره استدعاء النظام هذا، فربما ترغب في استخدام الدالة المضمنة في GCC \fB__builtin___clear_cache\fP()، التي توفر واجهة محمولة عبر المنصات المدعومة من GCC والمترجمات المتوافقة: .P .in +4n .EX \fBvoid __builtin___clear_cache(void *\fP\fIbegin\fP\fB, void *\fP\fIend\fP\fB);\fP .EE .in .P في المنصات التي لا تتطلب مسح خبيئة التعليمات، لا يكون لـ \fB__builtin___clear_cache\fP() أي تأثير. .P \fIملاحظة\fP: في بعض المترجمات المتوافقة مع GCC، يستخدم النموذج الأولي لهذه الدالة المضمنة \fIchar *\fP بدلاً من \fIvoid *\fP للمعاملات. .SH المعايير تاريخيًا، كان استدعاء النظام هذا متاحًا في جميع متغيرات MIPS UNIX بما في ذلك RISC/os وIRIX وUltrix وNetBSD وOpenBSD وFreeBSD (وأيضًا في بعض أنظمة تشغيل MIPS غير UNIX)، بحيث يكون وجود هذا الاستدعاء في أنظمة تشغيل MIPS معيارًا واقعيًا. .SH العلل نوى لينكس الأقدم من لينكس 2.6.11 تتجاهل الوسيطين \fIaddr\fP و \fInbytes\fP، مما يجعل هذه الدالة باهظة التكلفة نسبيًا. لذلك، يتم دائمًا مسح الخبيئة بأكملها. .P تتصرف هذه الدالة دائمًا كما لو أن \fBBCACHE\fP قد مرر للوسيط \fIcache\fP ولا تقوم بأي تدقيق للأخطاء على الوسيط \fIcache\fP. .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .