Como o kernel sabe qual árvore de dispositivos carregar?

5

A árvore de dispositivos é usada em tempo de execução nos dispositivos ARM para identificar e carregar os drivers corretos com sua configuração. Mas quando olho para o DT carregado em /proc/device-tree no meu telefone, por exemplo, existem muitas configurações não relacionadas à plataforma real. Por exemplo, cerca de 15 configurações de exibição diferentes que esse dispositivo específico nunca usou e nunca será. Até agora eu pensei que apenas o DT relevante fosse incluído no kernel e carregado, mas parece que todos os DTS da pasta /arch de origem relacionada foram carregados. Como o kernel seleciona o caminho certo para a plataforma? Isso não é um pouco redundante?

    
por user32569 10.06.2018 / 21:52

1 resposta

0

Acho que não é porque o Kernel carrega todos os DTS. Na verdade, uma imagem de firmware do ARM pode conter mais de um dts dentro, mas carrega apenas no dts quando está inicializando. Você vê o dispositivo redundante int /proc/device-tree porque sua árvore de dispositivos os definiu. Mesmo o seu telefone não tem esse dispositivo, você ainda pode definir esse dispositivo, de causa, esses dispositivos não podem funcionar e podem quebrar seu kernel.

    
por 19.06.2018 / 02:44