Где присутствует таблица acpi

Мы добавляем драйвер pn54xx для модуля nfc (подключенного к процессору intel e3845 с использованием интерфейса i2c) в ядре ubuntu (16.04 LTS xenial), ядро ​​Linux 4.15 для архитектуры x86. Мне нужно знать, где добавить аппаратную информацию, связанную с (gpio,i2c) pin в случае архитектуры x86.

1 ответ

Не уверен, где вы будете добавлять GPIO и информацию, относящуюся к оборудованию, но каталог, который вы ищете, находится в /sys, который является центром файлов, связанных с шинами, устройствами, прошивкой, ядром, модулями и другими важными вещами.

Где таблица ACPI присутствует?

Для большинства вещей, связанных с acpi Вы можете найти его в этом каталоге:

/sys/firmware/acpi/

В каких таблицах также присутствуют /tables, На моей системе это показывает это:

root@C0deDaedalus:~# ls -l /sys/firmware/acpi/tables
total 0
-r-------- 1 root root   132 Oct  1 12:13 APIC
-r-------- 1 root root   160 Oct  1 12:13 ASF!
-r-------- 1 root root    56 Oct  1 12:13 BGRT
-r-------- 1 root root    40 Oct  1 13:33 BOOT
-r-------- 1 root root   176 Oct  1 12:13 DMAR
-r-------- 1 root root 78367 Oct  1 12:13 DSDT
drwxr-xr-x 2 root root     0 Oct  1 12:13 dynamic
-r-------- 1 root root   268 Oct  1 12:13 FACP
-r-------- 1 root root    64 Oct  1 12:13 FACS
-r-------- 1 root root   156 Oct  1 12:13 FIDT
-r-------- 1 root root    68 Oct  1 12:13 FPDT
-r-------- 1 root root    56 Oct  1 12:13 HPET
-r-------- 1 root root    60 Oct  1 12:13 MCFG
-r-------- 1 root root   957 Oct  1 12:13 SSDT1
-r-------- 1 root root  1311 Oct  1 12:13 SSDT2
-r-------- 1 root root  2932 Oct  1 12:13 SSDT3
-r-------- 1 root root   455 Oct  1 12:13 SSDT4
-r-------- 1 root root 16812 Oct  1 12:13 SSDT5
-r-------- 1 root root    66 Oct  1 12:13 UEFI

Игра с таблицами ACPI

Прежде чем приступить к редактированию каких-либо файлов, вам необходимо знать, что файлы таблиц ACPI имеют решающее значение для функциональности ядра. Таким образом, выполните следующие действия:

  • Возьмите резервную копию любой таблицы, которую нужно отредактировать.

    cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
    
  • Затем декомпилируйте таблицу, используя iasl:

    iasl -d dsdt.dat
    
  • Внесите необходимые изменения.

  • Перекомпилируйте фиксированную структуру таблицы.

    iasl -tc dsdt.dsl
    

    Вы можете попробовать вариант -ic для C включите файл для вставки в исходный код ядра & Если он не выдаёт ошибок / предупреждений, вам следует хорошо идти.

Не стесняйтесь добавлять более подробно.

Другие вопросы по тегам