หนึ่งในคุณสมบัติ RISC-V ที่ขาดหายไปในขณะนี้สำหรับเคอร์เนล Linux 6.4 ที่กำลังพัฒนาคือการไฮเบอร์เนตของระบบ/การสนับสนุนแบบ Suspend-to-Disk

ในการพัฒนาในช่วงหลายเดือนที่ผ่านมาและผ่านการตรวจสอบหลายรอบคือการสนับสนุน RISC-V hibernation/suspend-to-disk จาก ชุดแพตช์ก่อนหน้า:

“หากต้องการเปิดใช้งานการไฮเบอร์เนต/ระงับดิสก์ใน RISCV จำเป็นต้องเปิดใช้งานการกำหนดค่าด้านล่าง:

-CONFIG_HIBERNATION
-CONFIG_ARCH_HIBERNATION_HEADER
-CONFIG_ARCH_HIBERNATION_POSSIBLE

ที่ระดับสูง สิ่งนี้ ชุดประกอบด้วยการเปลี่ยนแปลงต่อไปนี้:
1) เปลี่ยน suspend_save_csrs() และ suspend_restore_csrs() เป็นฟังก์ชันสาธารณะ เนื่องจากฟังก์ชันเหล่านี้ใช้กันทั่วไปในการระงับ/ไฮเบอร์เนต
2) รีแฟคเตอร์โค้ดทั่วไปในฟังก์ชัน __cpu_resume_enter() และ __hibernate_cpu_resume( ) ฟังก์ชัน รหัสทั่วไปถูกใช้โดยการไฮเบอร์เนตและระงับ
3) ปรับปรุงฟังก์ชัน kernel_page_present() เพื่อรองรับหน้าขนาดใหญ่
4) เพิ่มฟังก์ชันระดับต่ำของ arch/riscv เพื่อรองรับการไฮเบอร์เนต/ระงับไปยังดิสก์

แพตช์ด้านบนอิงตามเคอร์เนล v6 3-rc4 และได้รับการทดสอบบนบอร์ด StarFive VF2 SBC และ Qemu (โดยใช้รูปแบบดิสก์ดิบ) ชุดนี้ไม่รองรับโหมดแพลตฟอร์ม ACPI”

การสนับสนุนการจำศีล RISC-V ในทางกลับกันคือ ส่งในวันศุกร์โดยเป็นส่วนหนึ่งของแพทช์ RISC-V เพิ่มเติมสำหรับ Linux 6.4.

Categories: IT Info