سيكون لدى Linux kernel 5.13 دعم أولي لوحدات المعالجة المركزية Apple M1

اقترح هيكتور مارتن أن يُدرج في نواة لينكس المجموعة الأولى من التصحيحات التي أعدها مشروع Asahi Linux، الذي يعمل على تكييف Linux مع أجهزة كمبيوتر Mac المزودة بشريحة Apple M1 ARM. تمت الموافقة على هذه التصحيحات بالفعل من قبل المشرف على فرع Linux SoC وتم قبولها في قاعدة بيانات Linux-next، والتي على أساسها تم تشكيل وظيفة kernel 5.13. من الناحية الفنية، يمكن أن يمنع لينوس تورفالدس تسليم التغييرات المقترحة، ولكن مثل هذا التطور يعتبر غير مرجح.

تتضمن التصحيحات دعمًا للمكونات غير التابعة لوحدة معالجة الرسومات في M1 SoC، مثل وحدة التحكم في المقاطعة، والمؤقت، وUART، وSMP، ووظائف الإدخال/الإخراج، وMMIO. لم تكتمل الهندسة العكسية لوحدة معالجة الرسومات بعد؛ توفر التصحيحات دعمًا لمخزن الإطارات المؤقت ووحدة التحكم التسلسلية للإخراج. تدعي الأجهزة أنها تدعم كمبيوتر Apple Mac mini، والذي يُستخدم كمنصة مرجعية في مشروع Asahi Linux (تتوفر تعليمات التثبيت التفصيلية).

بشكل منفصل، يتم تطوير محول الأجهزة المفتوحة، والذي يتم التعرف عليه على أنه تبسيط الاتصال بوحدة التحكم عبر منفذ تسلسلي وتصحيح الأخطاء. في شكلها الحالي، ونظرًا لاستخدام Apple لأوامر USB-PD غير القياسية في أجهزتها، فإن أسهل طريقة للوصول إلى وحدة التحكم هي الاتصال بجهاز كمبيوتر آخر يعتمد على شريحة Apple M1 باستخدام كابل USB C. طريقة أكثر تعقيدًا هو إنشاء وحدة فصل تعتمد على متحكم Arduino وشريحة FUSB30 ومحول UART-TTL.

قام المشروع أيضًا بإعداد أداة تحميل التشغيل m1n1، والتي تجعل من الممكن تحميل نواة Linux والحد الأدنى من بيئة النظام على أجهزة كمبيوتر Mac المزودة بوحدة المعالجة المركزية Apple M1. على أجهزة الكمبيوتر المزودة بوحدة معالجة مركزية M1، تسمح Apple عادةً بتحميل النوى غير الموقعة رقميًا دون الحاجة إلى كسر الحماية. تتيح هذه الميزة للمطورين تجربة نواة XNU الجديدة، ولكن تنشأ صعوبات عند محاولة تشغيل أنظمة أخرى، نظرًا لأن Apple تستخدم بروتوكول التمهيد الخاص بها وتنسيق شجرة الأجهزة المختلف. يعمل محمل الإقلاع m1n1 الذي يقترحه مشروع Asahi Linux كطبقة تتيح استخدام شجرة الأجهزة القياسية وبروتوكول التمهيد القياسي المستخدم في Linux kernel لـ ARM64. في المستقبل، تخطط m1n1 لإضافة القدرة على استدعاء U-Boot وGRUB لتنظيم عملية تمهيد نموذجية مشابهة لتلك المستخدمة في منصات ARM64 الأخرى.

المصدر: opennet.ru

إضافة تعليق