2015-08-31 11 views
7

Possiamo dichiarare le informazioni sul dispositivo della piattaforma nel file dts, piuttosto che codificare tutti i dati nel sistema operativo. Prendendo come esempio l'architettura "a braccio". Supporta i dts e noi prendiamo dts da arch/arm/boot/dts/xx.dts. Converti questo xx.dts in xx.dtb e caricato con l'immagine del kernel . Di recente mi sono imbattuto in ACPI, quando ho trovato l'architettura x86, dai documenti, quello che ho capito è ACPI è simile all'albero del dispositivo. Possiamo dichiarare le informazioni sulle informazioni della piattaforma nella tabella ACPI, il mio dubbio è dove si trovano esattamente queste tabelle ACPI . Come posso caricare queste informazioni su Linux. Qual è il vantaggio dell'utilizzo di ACPI su dts. Perfavore, correggimi se sbaglio. Grazie in anticipoDifferenza tra i dts e ACPI

+2

Le tabelle ACPI si trovano nel firmware. In particolare sei interessato a DSDT. Puoi anche sostituirli (consulta http://stackoverflow.com/questions/32177990/iommu-initialization-without-bios-support). – 0andriy

+0

Grazie Andy per il tuo commento, voglio aggiungere le informazioni sulla piattaforma della piattaforma in Linux durante la compilazione per (scheda basata su intel atom x86), in linux dove posso aggiungere esattamente queste informazioni. Simile a arm, dove sto aggiungendo in arch/arm/boot/xx.dts. – anikhan

+0

@anikhan, su ARM non si limita a mettere qualcosa in xx.dts, si dice al firmware di caricare il file dtb compilato e di passare un puntatore al kernel caricato. Su x86 il kernel prende tutte le informazioni sulla piattaforma dalle tabelle ACPI fornite dal firmware (che in genere viene chiamato BIOS per x86). Non puoi inserire informazioni sulla piattaforma arbitrarie lì. Se manca qualcosa, significa che il tuo BIOS non è abbastanza buono - o non rileva un dispositivo collegabile, o non fornisce informazioni su una parte cablata/saldata della piattaforma. Correggere il firmware, non Linux. –

risposta

0

IMHO

ACPI e DT sono utilizzati per scopi simili. ma hanno funzioni uniche. Ora un giorno lo sforzo di definire le configurazioni ACPI in DT.

entrambi utilizzati per risolvere diversi problemi.

  1. Lo scopo di ACPI era migliorare l'efficienza energetica.
  2. DT scopo di rimuovere i file di piattaforma fuori dal kernel laterale.

La struttura dei dispositivi viene passata principalmente al kernel di Linux prima dell'avvio. per lo più ACPI viene caricato mentre il kernel di Linux è in fase di avvio (controllare Documentation/acpi/enumeration.txt per maggiori informazioni)

per qualsiasi altra cosa basta commentare.

+0

https://events.static.linuxfound.org/sites/events/files/slides/unified_properties_API_0.pdf (in particolare diapositiva 12) – 0andriy