Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have found a field in DSDT table where I want to modify from here Generally, I want to modify the _PSS field about the processor so that I can have more frequency levels available in the CPUfreq driver interface. I try to use this command to dissemble the DSDT table from my Desktop(Linux2.6.29,Intel CORE 2):

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

Then I have a file dsdt.dsl as following(very long, so I just show the beginning of the file):

     * 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)

        Scope (\)
            Device (_SB.VBTN)

But I can not find the _PSS field as shown in the website I have given above. I do not know why? I am sure the current cpufreq driver shows 4 frequency levels available. So at least there should be something in the table showing this..right? Has anybody here played with the DSDT table before? Thanks,

share|improve this question
And even in the ACPI spec, I have seen the _PSS field (just search for PSS). Why doesn't my file have this.... – Hao Shen May 7 '13 at 2:20
up vote 1 down vote accepted

There are other tables that contain ACPI methods and such, besides the primary DSDT there are also secondary SSDTs.

There are multiple ways to retrieve these tables. On my 3.9 kernel, there exist a /sys/firmware/acpi/tables directory:

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

If your kernel does not have that, you can also try acpidump (not from iasl, but the kernel source tree. Example package for Arch Linux):

# acpidump > acpidump.txt
$ acpixtract acpidump.txt
$ iasl -d *.dat
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .