Tôi đang làm việc trên phiên bản đã sửa đổi của hạt nhân 2.6.35 cho Olinuxino, nền tảng dựa trên ARM9. Tôi đang cố gắng sửa đổi trình điều khiển quản lý nguồn (phần kiến trúc cụ thể).Tắt (linux) linux từ hạt nhân-không gian
Bộ vi xử lý là Freescale i.MX23. Bộ xử lý này có một "đặc biệt" pin, được gọi là PSWITCH, mà gây ra một ngắt được xử lý bởi trình điều khiển quản lý điện năng. Nếu nút này được bấm, hệ thống sẽ chuyển sang chế độ chờ. Điều này được thực hiện trong trình điều khiển bằng cách gọi số pm_suspend(PM_SUSPEND_STANDBY)
.
Khi thiết lập phần cứng của tôi, thay vào đó, hãy tắt hệ thống. Vì vậy, câu hỏi của tôi là:
Cách ưa thích cho quy trình không gian hạt nhân để kích hoạt hệ thống dừng/tắt nguồn là gì?
Tôi cho rằng có một chức năng nhỏ gọi là tốt, nhưng tôi không thể tìm thấy nó cho đến nay.
Mã hạt nhân của tôi (tệp tôi đang làm là arch/arm/mach-mx23/pm.c) có thể tìm thấy ở đây: github.com/spairal/linux-for-lobster, mặc dù câu hỏi của tôi yêu cầu một cách tiếp cận hạt nhân Linux chung.
Bạn có thể thực hiện 'strace' trên' init 0' và xem các syscalls nào được thực hiện. –