Scroll to navigation

s390_guarded_storage(2) System Calls Manual s390_guarded_storage(2)

الاسم

s390_guarded_storage - عمليات مع ميزة التخزين المحروس لمعمارية z/Architecture

المكتبة

مكتبة سي المعيارية (libc، -lc)

موجز

#include <asm/guarded_storage.h> /* تعريف ثوابت GS_* */
#include <sys/syscall.h>         /* تعريف ثوابت SYS_* */
#include <unistd.h>
int syscall(SYS_s390_guarded_storage, int command,
            struct gs_cb *gs_cb);

ملاحظة: لا توفر glibc غلافًا لـ s390_guarded_storage()، مما يستلزم استخدام syscall(2).

الوصف

استدعاء النظام s390_guarded_storage() يمكّن استخدام ميزة التخزين المحروس (ميزة خاصة بمعمارية z/Architecture) لعمليات مساحة المستخدم.

ميزة التخزين المحروس هي ميزة عتادية تسمح بتعليم ما يصل إلى 64 منطقة ذاكرة (اعتبارًا من z14) كمحروسة؛ قراءة مؤشر بتعليمات "تحميل محروس" (LGG) أو "تحميل منطقي وإزاحة محروس" (LLGFSG) ستؤدي إلى فحص نطاق للقيمة المحملة واستدعاء معالج مساحة مستخدم (مُعد مسبقًا) إذا تأثرت إحدى المناطق المحروسة.

وسيطة command تشير إلى الوظيفة التي سيتم تنفيذها. الأوامر التالية مدعومة:

تمكين ميزة التخزين المحروس للمهمة المستدعية. المحتوى الأولي لكتلة التحكم في التخزين المحروس سيكون جميع الأصفار. بعد التمكين، يمكن لرمز مساحة المستخدم استخدام تعليمة "تحميل ضوابط التخزين المحروس" (LGSC) (أو غلاف الدالة load_gs_cb() المقدم في ملف الرأس asm/guarded_storage.h) لتحميل كتلة تحكم عشوائية. بينما تكون المهمة ممكنة، سيحفظ النواة ويستعيد المحتوى المستدعي لسجلات التخزين المحروس عند تبديل السياق.
تعطيل استخدام ميزة التخزين المحروس للمهمة المستدعية. ستتوقف النواة عن حفظ واستعادة محتوى سجلات التخزين المحروس، ويُفقد المحتوى الخاص بالمهمة لهذه السجلات.
تعيين كتلة تحكم تخزين محروس بث إلى تلك المقدمة في وسيطة gs_cb. يُستدعى هذا لكل خيط ويربط كتلة تحكم تخزين محروس محددة بالمهمة المستدعية. ستُستخدم كتلة التحكم هذه في أمر البث GS_BROADCAST.
مسح كتلة التحكم في التخزين المحروس للبث. لن تحتوي كتلة التحكم في التخزين المحروس بعد الآن على الارتباط الذي أنشأه أمر GS_SET_BC_CB.
إرسال بث إلى جميع أشقاء الخيط للمهمة المستدعية. كل شقيق أنشأ كتلة تحكم تخزين محروس بث سيحمل كتلة التحكم هذه وسيتم تمكينه للتخزين المحروس. تُستهلك كتلة التحكم في التخزين المحروس للبث؛ البث الثاني دون تحديث كتلة التحكم المخزنة بـ GS_SET_BC_CB لن يكون له أي تأثير.

وسيطة gs_cb تحدد عنوان بنية كتلة تحكم تخزين محروس وتُستخدم حاليًا فقط بواسطة أمر GS_SET_BC_CB؛ جميع الأوامر الأخرى المذكورة أعلاه تتجاهل هذه الوسيطة.

قيمة الإرجاع

عند النجاح، تكون قيمة الإرجاع لـ s390_guarded_storage() هي 0.

عند الخطأ، تُعاد القيمة -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

كان command هو GS_SET_BC_CB وفشلت نسخ بنية كتلة التحكم في التخزين المحروس المشار إليها بواسطة وسيطة gs_cb.
القيمة المقدمة في وسيطة command لم تكن صالحة.
كان command أحد GS_ENABLE أو GS_SET_BC_CB، وفشل تخصيص كتلة تحكم تخزين محروس جديدة.
ميزة التخزين المحروس غير مدعومة من قبل العتاد.

المعايير

لينكس على s390.

التاريخ

لينكس 4.12، النظام z14.

ملاحظات

وصف ميزة التخزين المحروس مع التعليمات ذات الصلة وتخطيطات بنية كتلة التحكم في التخزين المحروس وقائمة معلمات حدث التخزين المحروس متاح في "مبادئ تشغيل z/Architecture" بدءًا من الإصدار الثاني عشر.

بنية gs_cb تحتوي على حقل gsepla (عنوان قائمة معلمات حدث التخزين المحروس)، وهو مؤشر مساحة مستخدم إلى بنية قائمة معلمات حدث التخزين المحروس (التي تحتوي على عنوان معالج الأحداث المذكور أعلاه في حقل gseha)، وتخطيطها متاح كتعريف نوع بنية gs_epl في ملف الرأس asm/guarded_storage.h.

انظر أيضًا

syscall(2)

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

22 فبراير 2026 صفحات دليل لينكس (لم تصدر بعد)