তারা লিনাক্সে পুরানো এআরএম সমর্থন বাদ দেওয়ার জন্য একটি প্রস্তাব চালু করেছে

লিনাক্সে পুরানো এআরএম সমর্থন সরান

আর্ন্ড বার্গম্যান, আর্ম-সোক শাখার লিনাক্স কার্নেল ডেভেলপার এবং SUSE-তে কার্নেল প্যাকেজের ম্যানেজার, একটি প্রকাশ করেছে প্রস্তাব যা সে টেবিলের উপর রাখে GCC ভিত্তিক কার্নেল অপসারণের সমস্যা এবং পুরানো ARM CPU, তাদের সম্পর্কিত ABI, নির্দেশনা সেট, এবং কার্নেল ক্ষমতা সমর্থন করার জন্য কোড টুল তৈরি করুন।

Arnd Bergmann, উল্লেখ করেছেন যে প্রস্তাবের ভিত্তি সমর্থন বন্ধ করা ARM CPU-র জন্য কার্নে পুরাতনl জিসিসিতে বন্ধ হওয়ার কারণে, যেহেতু অপসারণের জন্য প্রস্তাবিত কিছু CPU গুলি সাম্প্রতিক GCC শাখাগুলিতে আর সমর্থিত নয়, এবং অন্যগুলিকে ভবিষ্যতে প্রকাশে সরিয়ে ফেলার পরিকল্পনা করা হয়েছে।

এটি প্রয়োগ করে উল্লেখ করুন, কম্পাইলারে নতুন ফাংশনগুলির আধুনিকীকরণ এবং বাস্তবায়ন সহজতর হবে। এবংGCC-তে একটি আর্কিটেকচারের জন্য সমর্থন অপসারণের জন্য কার্নেল থেকে ন্যূনতম GCC সংস্করণ সমর্থিত হলে কার্নেল থেকে অপসারণ করতে হবে (বর্তমানে, কার্নেল কম্পাইল করার জন্য কমপক্ষে GCC সংস্করণ 5.1 প্রয়োজন)।

আর্কিটেকচার, চিপস এবং এক্সটেনশনের মধ্যে যেগুলি কার্নেল থেকে সরানোর প্রস্তাব করা হয়েছে, নিম্নলিখিতগুলি উল্লেখ করা হয়েছে:

  • ARMv3: GCC-9 এ সরানো হয়েছে, তাই ন্যূনতম কম্পাইলার সংস্করণ বৃদ্ধির সাথে সাথে এটি অবশেষে কার্নেল থেকে সরানো হবে।
  • ARMv4: StrongARM এবং FA526 CPU-এর জন্য ব্যবহৃত, এখনও কিছু বোর্ডে। এমনকি নতুন চিপগুলি 20 বছরের কাছাকাছি। ডেবিয়ানের শেষ সংস্করণ যা তাদের সমর্থন করেছিল লেনি (5.0)। ARMv4T কোর (ARM720T, ARM920T এবং ARM922T) সহ ছয়টি SoC পরিবার এখনও সমর্থিত। যদিও তারা পুরানো, তাদের ARMv4 এর চেয়ে বেশি ব্যবহারকারী এবং বিকাশকারী রয়েছে। ডেবিয়ান স্ট্রেচ (9.0) তাদের সমর্থন করার জন্য সর্বশেষ ছিল।
  • ARMv5: সমর্থিত প্ল্যাটফর্মগুলির প্রায় এক তৃতীয়াংশ ARMv5 ব্যবহার করে, তবে বেশিরভাগই তাদের সমর্থনের শেষের কাছাকাছি।
  • ARMv6 তাড়াতাড়ি: NXP i.MX1136 এবং OMAP0xx-এ ARM31r24p রয়েছে, প্রধানত Nokia N8xx ট্যাবলেট। SMP সহ কার্নেল সমর্থন করার জন্য বিশেষ হ্যাক প্রয়োজন। একটি প্যাচ রয়েছে যা ARMv6 কে ARMv7 এর সাথে সামঞ্জস্যপূর্ণ থেকে ARMv5 এর সাথে সামঞ্জস্যপূর্ণ হতে পরিবর্তন করে, তবে এটির জন্য আরও কাজ করতে হবে।
  • ARMv6K
    ARMv7-M: Cortex-M3/M4/M7 হল MMU ছাড়া সমর্থিত একমাত্র কোর, বর্তমানে 5টি মাইক্রোকন্ট্রোলার প্ল্যাটফর্মে। এগুলি 2027 সালে সরানো যেতে পারে, তবে GCC-এর এখনও অন্যান্য অপারেটিং সিস্টেমে তাদের সমর্থন করতে হবে।
  • iWMMXt: iWMMXt-এর জন্য কোনো পরিচিত অবশিষ্ট ব্যবহারকারী নেই, এবং ARMv7 PJ4 CPU-এর জন্য সমর্থন সরানো হয়েছে। এটি শুধুমাত্র Intel/Marvell PXA এবং MMP1 এ সমর্থিত।
  • ARMv5 বিগ এন্ডিয়ান কার্নেল (BE32): শুধুমাত্র একটি SoC এটি ব্যবহার করে, Intel IXP4xx। ডেবিয়ান এটিকে লিটল-এন্ডিয়ান মোডে সমর্থন করেছিল, কিন্তু ড্রাইভারগুলি LE তে ভেঙে গেছে।
  • ARMv7 বিগ এন্ডিয়ান কার্নেল (BE8)
  • Param_struct প্রাক ATAGS: এটি 2001 সালে অবমূল্যায়ন করা হয়েছিল, "5 বছরে" নির্মূল করা হবে, যা ইতিমধ্যে ঘটেছে।
  • ATAGS ভিত্তিক প্লেট ফাইল: উপরের পরিষ্কারের পরে, 29টি SoC প্ল্যাটফর্মে 10টি বোর্ড ফাইল বাকি আছে।
  • OABI কার্নেল: কার্যত সবাই আজ EABI ব্যবহার করে, এবং GCC-4.8-এ লক্ষ্য হিসাবে OABI সমর্থন সরিয়ে দেওয়া হয়েছিল। কার্নেল এখনও -mabi=apcs-gnu-এর সাথে OABI হিসাবে তৈরি করার অনুমতি দেয়, ডিফল্টরূপে ARMv4/ARMv5 কার্নেলে ব্যবহৃত হয়।
  • OABI কম্প্যাট মোড: এটি একটি EABI কার্নেলের সাথে OABI বাইনারি চালানোর অনুমতি দেয়।
  • NWFPE
  • হাইমেম: বেশিরভাগ ARM মেশিন CONFIG_VMSPLIT_2GB ব্যবহার করে হাইমেম সাপোর্ট ছাড়াই 2GB পর্যন্ত ফিজিক্যাল মেমরির সমাধান করতে পারে। 15 সালে Cortex-A2012 এর সাথে বড় মেশিনগুলি উপস্থিত হয়েছিল, দ্রুত 64-বিট চিপ দ্বারা প্রতিস্থাপিত হয়েছিল।
  • স্পারসেম: ঐতিহ্যগত স্পারসেমেমের সমর্থন অপসারণের বিষয়ে আলোচনা রয়েছে। এটি তাদের সমস্ত RAM ব্যবহার করার জন্য হাইমেম প্রয়োজন এমন মেশিনগুলির সাথেও সম্পর্কিত
  • RiscPC: এটি সমর্থিত প্রাচীনতম প্ল্যাটফর্ম, এবং শেষ পর্যন্ত সরানো হবে, কারণ এটি ARMv9 অপসারণের কারণে GCC-3 বা উচ্চতর সাথে কাজ করে না।
  • SA1100, ফুটব্রিজ: অন্যান্য স্ট্রংএআরএম-ভিত্তিক প্ল্যাটফর্ম, শুধুমাত্র নস্টালজিয়ার জন্য প্রাসঙ্গিক।
  • মিথুন, মোক্সআর্ট: উভয়েই ফ্যারাডে FA526 CPU কোর ব্যবহার করে, যা StrongARM এর মত ARMv4 এর পরিবর্তে থাম্ব দিয়ে ARMv4 প্রয়োগ করে। চিপগুলিও 20 বছরের বেশি পুরানো, তবে কার্নেল কোড আপডেট করা হয়েছে এবং এটি রক্ষণাবেক্ষণের বোঝা নয়।
  • PXA বোর্ড ফাইল: PXA কোডে দুটি প্লেট ফাইল বাকি আছে যা দুই বছর আগে সরানো হয়নি, আশা করছি এটি DT-তে রূপান্তর করতে সাহায্য করবে
  • OMAP1: ডিটি সমর্থন ছাড়াই একমাত্র ARMv4T/ARMv5 প্ল্যাটফর্ম, এটিকে কিছু সময়ে অপসারণের লক্ষ্যে পরিণত করে।
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
  • OMAP24xx
  • iMX31, 1136r0 সহ রিয়েলভিউ/ ইন্টিগ্রেটর
  • S3C64xx (Cragganmore): ডিভাইসট্রি সমর্থন ছাড়া এটিই একমাত্র ARMv6K বোর্ড, এবং বোর্ড ফাইলে অন্যান্য সমস্ত বোর্ড ফাইলের মতো জটিলতা রয়েছে। arch/arm/mach-s3c/Kconfig.s3c64xx এটিকে পরের বছরের শুরুতে অপসারণের জন্য তালিকাভুক্ত করে, যা প্ল্যাটফর্ম অবকাঠামো এবং ড্রাইভারগুলির একটি বড় পরিচ্ছন্নতার অনুমতি দেবে।
  • Orion5x, mv78xx0, ডোভ বোর্ড ফাইল: PXA-এর মতো, এগুলি DT রূপান্তরের দিকে অগ্রগতির জন্য মুলতুবি রেখেছিল, কিন্তু mv78xx0-এ কিছু ছোটখাট সংশোধন ছাড়া কিছুই ঘটেনি। বিপরীতে, ডেবিয়ান ব্যবহারকারীদের অভাবের কারণে orion5x কার্নেল বাইনারি সরিয়ে দিয়েছে, তাই এটি সম্পূর্ণ হওয়ার সম্ভাবনা অনেক কম বলে মনে হচ্ছে।
  • iMX35, WM8750, AST2500, BCM2835: এই চারটি সমস্ত ARMv6K প্ল্যাটফর্ম এবং ভালভাবে সমর্থিত, যদিও শুধুমাত্র AST2500 এবং BCM2835 এর একটি সক্রিয় ব্যবহারকারী বেস রয়েছে।
  • Stm32f4/f7/h7 মাইক্রোকন্ট্রোলার: এগুলিই একমাত্র নন-এমএমইউ আর্ম চিপ যা ক্রমাগত উন্নয়ন দেখতে পায় কারণ ST তার বিদ্যমান গ্রাহকদের সমর্থন করে চলেছে।

অবশেষে, এটি উল্লেখ করা উচিত এই পরিকল্পনা এখনও RFC পর্যায়ে আছে, যে, সম্প্রদায় আলোচনার জন্য প্রকাশিত. অনুমোদিত হলে, ডিসেম্বরে প্রত্যাশিত, Linux 6.12 কার্নেলে পুরানো ARM প্রসেসর অপসারণ শুরু করার প্রস্তাব করা হয়েছে। অপসারণ করা প্রথম প্রার্থীরা হল ARMv4 (ARMv4T না সরিয়ে), iWMMXt, BE32 এবং OABI।

উৎস: https://lkml.org