2

Я нашел поле в таблице DSDT, где я хочу изменить отсюда http://www.ztex.de/misc/c2ctl.e.html Как правило, я хочу изменить поле _PSS для процессора, чтобы я мог иметь больше частотные уровни доступны в интерфейсе драйвера CPUfreq. Я пытаюсь использовать эту команду для сбора таблицы DSDT с моего рабочего стола (Linux2.6.29, Intel CORE 2):

 cat /proc/acpi/dsdt > dsdt.aml 
 iasl -d dsdt.aml

Затем у меня есть файл dsdt.dsl, как показано ниже (очень длинный, поэтому я просто показываю начало файла):

    /*
     * Intel ACPI Component Architecture
     * AML Disassembler version 20090123
     *
     * Disassembly of dsdt.aml, Mon May  6 20:41:40 2013
     *
     *
     * Original Table Header:
     *     Signature        "DSDT"
     *     Length           0x00003794 (14228)
     *     Revision         0x01 **** ACPI 1.0, no 64-bit math support
     *     Checksum         0x46
     *     OEM ID           "DELL"
     *     OEM Table ID     "dt_ex"
     *     OEM Revision     0x00001000 (4096)
     *     Compiler ID      "INTL"
     *     Compiler Version 0x20050624 (537200164)
     */
    DefinitionBlock ("dsdt.aml", "DSDT", 1, "DELL", "dt_ex", 0x00001000)
    {
        Method (DBIN, 0, NotSerialized)
        {
            Noop
        }

        Scope (\)
        {
            Device (_SB.VBTN)
...................

Но я не могу найти поле _PSS, как показано на сайте, который я дал выше. Я не знаю почему? Я уверен, что текущий драйвер cpufreq показывает 4 доступных уровня частоты. Так что, по крайней мере, в таблице должно быть что-то, показывающее это .. верно? Кто-нибудь здесь играл за столом DSDT раньше? Спасибо,

1 ответ1

1

Существуют и другие таблицы, содержащие методы ACPI, и такие, кроме основного DSDT, есть также вторичные SSDT.

Есть несколько способов получить эти таблицы. В моем ядре 3.9 существует каталог /sys/firmware/acpi/tables :

$ ls /sys/firmware/acpi/tables/{DSDT,SSDT*}
/sys/firmware/acpi/tables/DSDT
/sys/firmware/acpi/tables/SSDT1
/sys/firmware/acpi/tables/SSDT2
# for i in /sys/firmware/acpi/tables/{DSDT,SSDT*}; do cp $i ${i##*/}.aml; done
$ iasl -d *.dat

Если у вашего ядра этого нет, вы также можете попробовать acpidump (не из iasl, а из дерева исходников ядра). Пример пакета для Arch Linux):

# acpidump > acpidump.txt
$ acpixtract acpidump.txt
$ iasl -d *.dat

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .