.\" -*- coding: UTF-8 -*- .\" Copyright 2016, Eugene Syromyatnikov .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PR_SET_FP_MODE 2const "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم PR_SET_FP_MODE \- تعيين وضع الفاصلة العائمة للعملية المستدعية .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP /* تعريف ثوابت \fBPR_*\fP */ \fB#include \fP .P \fBint prctl(PR_SET_FP_MODE, unsigned long \fP\fImode\fP\fB);\fP .fi .SH الوصف في بنية MIPS، يمكن بناء كود مساحة المستخدم باستخدام ABI يسمح بالربط مع كود لديه متطلبات فاصلة عائمة (FP) أكثر تقييدًا. على سبيل المثال، قد يُبنى كود مساحة المستخدم لاستهداف ABI O32 FPXX ويُربط مع كود مبني لأحد ABIs الأكثر تقييدًا FP32 أو FP64. عند ربط كود أكثر تقييدًا، يصبح المتطلب العام للعملية هو استخدام وضع الفاصلة العائمة الأكثر تقييدًا. .P نظرًا لعدم امتلاك النواة وسيلة لمعرفة مسبقًا أي وضع يجب تنفيذ العملية به، ولأن هذه القيود قد تتغير على مدى عمر العملية، تُوفر عملية \fBPR_SET_FP_MODE\fP للسماح بالتحكم في وضع الفاصلة العائمة من مساحة المستخدم. .P .\" https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking وسيطة \fImode\fP هي قناع بت يصف وضع الفاصلة العائمة المستخدم: .TP \fBPR_FP_MODE_FR\fP عندما يكون هذا البت \fIغير مضبوط\fP (ما يُسمى وضع \fBFR=0\fP أو \fBFR0\fP)، تكون سجلات الفاصلة العائمة الـ32 بعرض 32 بت، وتُمثل السجلات ذات 64 بت كزوج من السجلات (مرقمة زوجية وفردية، حيث يحتوي السجل ذو الرقم الزوجي على الـ32 بت السفلى، ويحتوي السجل ذو الرقم الفردي على الـ32 بت العليا). .IP عندما يكون هذا البت \fIمضبوطًا\fP (على العتاد المدعوم)، تكون سجلات الفاصلة العائمة الـ32 بعرض 64 بت (ما يُسمى وضع \fBFR=1\fP أو \fBFR1\fP). لاحظ أن تطبيقات MIPS الحديثة (MIPS R6 والأحدث) تدعم وضع \fBFR=1\fP فقط. .IP يمكن للتطبيقات التي تستخدم ABI O32 FP32 العمل فقط عندما يكون هذا البت \fIغير مضبوط\fP (\fBFR=0\fP؛ أو يمكن استخدامها مع تمكين FRE، انظر أدناه). يمكن للتطبيقات التي تستخدم ABI O32 FP64 (وABI O32 FP64A، الموجود لتوفير القدرة على العمل مع كود FP32 الحالي؛ انظر أدناه) العمل فقط عندما يكون هذا البت \fIمضبوطًا\fP (\fBFR=1\fP). يمكن للتطبيقات التي تستخدم ABI O32 FPXX العمل مع أي من \fBFR=0\fP أو \fBFR=1\fP. .TP \fBPR_FP_MODE_FRE\fP تمكين محاكاة وضع الفاصلة العائمة 32 بت. عند تمكين هذا الوضع، يُحاكي عمليات الفاصلة العائمة 32 بت عن طريق رفع استثناء تعليمة محجوزة على كل تعليمة تستخدم تنسيقات 32 بت، ثم تعالج النواة التعليمة برمجيًا. (تكمن المشكلة في التناقض في معالجة السجلات الفردية التي هي الـ32 بت العليا من سجلات 64 بت ذات الأرقام الزوجية في وضع \fBFR=0\fP والأجزاء السفلى 32 بت من سجلات 64 بت الفردية في وضع \fBFR=1\fP.) يكون تمكين هذا البت ضروريًا عندما يجب أن يعمل كود مع ABI O32 FP32 مع كود متوافق مع ABIs O32 FPXX أو O32 FP64A (التي تتطلب وضع FPU \fBFR=1\fP) أو عندما يُنفذ على عتاد أحدث (MIPS R6 فصاعدًا) يفتقر إلى دعم وضع \fBFR=0\fP عند استخدام ثنائي مع ABI FP32. .IP لاحظ أن هذا الوضع يكون منطقيًا فقط عندما تكون FPU في وضع 64 بت (\fBFR=1\fP). .IP لاحظ أن استخدام المحاكاة بطبيعته له تأثير كبير على الأداء ويجب تجنبه إذا أمكن. .P في ABI N32/N64، يُستخدم وضع الفاصلة العائمة 64 بت دائمًا، لذا لا تكون محاكاة FPU مطلوبة وتعمل FPU دائمًا في وضع \fBFR=1\fP. .P هذه العملية مخصصة بشكل أساسي للاستخدام من قبل الرابط الديناميكي (\fBld.so\fP(8)). .SH "قيمة الإرجاع" عند النجاح، يُعاد الرقم 0. وعند حدوث خطأ، يُعاد الرقم \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEOPNOTSUPP\fP تحتوي \fImode\fP على قيمة غير صالحة أو غير مدعومة. .SH المعايير لينكس. MIPS فقط. .SH التاريخ .\" commit 9791554b45a2acc28247f66a5fd5bbc212a6b8c8 لينكس 4.0 (MIPS). .SH "انظر أيضًا" \fBprctl\fP(2)، \fBPR_GET_FP_MODE\fP(2const) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .