2015-08-31 20 views
7

Chúng ta có thể khai báo thông tin nền tảng thiết bị trong file dts, chứ không phải là cứng mã hóa tất cả các dữ liệu vào hệ điều hành. Lấy kiến ​​trúc "cánh tay" làm ví dụ. nó hỗ trợ dts và chúng tôi sẽ lấy dts từ arch/arm/boot/dts/xx.dts. Chuyển đổi xx.dts này thành xx.dtb và được nạp với hình ảnh hạt nhân . Gần đây tôi đã gặp ACPI, khi tôi bắt gặp kiến ​​trúc x86, từ các tài liệu, những gì tôi hiểu là ACPI tương tự như cây thiết bị. Chúng ta có thể tuyên bố thông tin thông tin nền tảng thiết bị trong các bảng ACPI, nghi ngờ của tôi là nơi chính xác các bảng ACPI hiện. Làm thế nào tôi có thể tải thông tin này vào Linux. Lợi thế của việc sử dụng ACPI trên dts là gì. Hãy sửa tôi nếu tôi sai. Cảm ơn trướcSự khác nhau giữa DTS và ACPI

+2

bảng ACPI nằm trong firmware. Đặc biệt bạn quan tâm đến DSDT. Bạn cũng có thể ghi đè lên chúng (xem http://stackoverflow.com/questions/32177990/iommu-initialization-without-bios-support). – 0andriy

+0

Cảm ơn Andy cho bình luận của bạn, tôi muốn thêm thông tin thiết bị nền tảng trong Linux trong khi biên dịch cho (intel atom x86 dựa trên bảng), trong linux, nơi chính xác tôi có thể thêm thông tin này. Tương tự như cánh tay, nơi tôi đang thêm vào arch/arm/boot/xx.dts. – anikhan

+0

@anikhan, trên ARM bạn không chỉ cần đặt một cái gì đó trong xx.dts, bạn nói với firmware để tải các tập tin DTB biên soạn và vượt qua một con trỏ đến nó vào kernel được nạp. Trên x86, hạt nhân lấy tất cả thông tin nền tảng từ các bảng ACPI được cung cấp bởi chương trình cơ sở (thường được gọi là BIOS cho x86). Bạn không thể đặt thông tin nền tảng tùy ý ở đó. Nếu thiếu bất cứ điều gì, điều đó có nghĩa là BIOS của bạn không đủ tốt - nó không phát hiện được một thiết bị có thể cắm được, hoặc nó không cung cấp thông tin về phần cứng có dây/hàn của nền tảng. Sửa firmware, không phải Linux. –

Trả lời

0

IMHO

ACPI và DT được sử dụng cho mục đích tương tự. nhưng họ có những chức năng độc đáo. Bây giờ một ngày nỗ lực xác định cấu hình ACPI trong DT.

đều được sử dụng để giải quyết vấn đề khác nhau.

  1. Mục đích ACPI là cải thiện hiệu suất năng lượng.
  2. Mục đích DT để xóa các tệp nền tảng ngoài hạt nhân bên.

Cây thiết bị chủ yếu được chuyển đến hạt nhân Linux trước khi khởi động. chủ yếu là ACPI được tải trong khi hạt nhân Linux đang khởi động (kiểm tra Tài liệu/acpi/enumeration.txt để biết thêm thông tin)

cho bất kỳ điều nào khác chỉ cần nhận xét.

+0

https://events.static.linuxfound.org/sites/events/files/slides/unified_properties_API_0.pdf (đặc biệt là trượt 12) – 0andriy

Các vấn đề liên quan