Как выгрузить оверлей, загруженный с помощью ACPI_CONFIG_SYSFS - PullRequest
0 голосов
/ 11 июля 2020

https://www.kernel.org/doc/html/latest/admin-guide/acpi/ssdt-overlays.html дает следующий метод загрузки оверлея

cd /config/acpi/table
mkdir my_ssdt
cat ~/ssdt.aml > my_ssdt/aml

Этот метод работает только один раз. После загрузки файла aml я не могу его перезагрузить.

[1901.153829] ACPI configfs: таблица уже загружена

Есть ли способ выгрузить aml файл? На данный момент я пытаюсь загрузить перечислимое устройство с помощью ACPI. Поскольку я новичок в ACPI и Overlays, я обновляю файл asl, чтобы исправить проблемы, перекомпилировал и попытался загрузить. а затем перепроверьте.

Итак, есть ли способ перезагрузить повторно созданный файл aml?

1 Ответ

2 голосов
/ 11 июля 2020

Ядро документация действительно не описывает этот момент. Однако, если вы посмотрите на исходный код поддержки ACPI ConfigFS, вы можете увидеть, что он поддерживает удаление элементов. Это базовая функция c API ConfigFS, а именно реакция на системный вызов rmdir(). Таким образом, это означает, что простое удаление папки - это то, что вам нужно для выгрузки таблицы:

rm -rf /sys/kernel/config/acpi/table/my_ssdt

Обратите внимание, что это функция отладки, и ее правильная работа не гарантируется для всех возможных типов таблиц. В ядре только SPI, I2 C и устройства платформы могут быть освобождены.

Также обратите внимание, что таблицы выгрузки не были в ядре до тех пор, пока не появится коммит Выгрузить SSDT при удалении записи configfs .

...