~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/ABI/testing/sysfs-firmware-acpi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/ABI/testing/sysfs-firmware-acpi (Version linux-6.12-rc7) and /Documentation/ABI/testing/sysfs-firmware-acpi (Version linux-5.10.229)


  1 What:           /sys/firmware/acpi/fpdt/       << 
  2 Date:           Jan 2021                       << 
  3 Contact:        Zhang Rui <rui.zhang@intel.com> << 
  4 Description:                                   << 
  5                 ACPI Firmware Performance Data << 
  6                 information for firmware perfo << 
  7                 S3 suspend and S3 resume. This << 
  8                 performance data retrieved fro << 
  9                                                << 
 10                 boot:                          << 
 11                         firmware_start_ns: Tim << 
 12                                 of firmware im << 
 13                         bootloader_load_ns: Ti << 
 14                                 loading the OS << 
 15                                 In nanoseconds << 
 16                         bootloader_launch_ns:  << 
 17                                 launching the  << 
 18                                 image. In nano << 
 19                         exitbootservice_start_ << 
 20                                 point when the << 
 21                                 ExitBootServic << 
 22                                 firmware. In n << 
 23                         exitbootservice_end_ns << 
 24                                 just prior to  << 
 25                                 back from the  << 
 26                                 UEFI compatibl << 
 27                 suspend:                       << 
 28                         suspend_start_ns: Time << 
 29                                 OS write to SL << 
 30                                 nanoseconds.   << 
 31                         suspend_end_ns: Timer  << 
 32                                 firmware write << 
 33                                 hardware entry << 
 34                 resume:                        << 
 35                         resume_count: A count  << 
 36                                 since the last << 
 37                         resume_avg_ns: Average << 
 38                                 logged since t << 
 39                                 including the  << 
 40                         resume_prev_ns: Timer  << 
 41                                 platform runti << 
 42                                 handoff to the << 
 43                                                << 
 44 What:           /sys/firmware/acpi/bgrt/            1 What:           /sys/firmware/acpi/bgrt/
 45 Date:           January 2012                        2 Date:           January 2012
 46 Contact:        Matthew Garrett <mjg@redhat.com      3 Contact:        Matthew Garrett <mjg@redhat.com>
 47 Description:                                        4 Description:
 48                 The BGRT is an ACPI 5.0 featur      5                 The BGRT is an ACPI 5.0 feature that allows the OS
 49                 to obtain a copy of the firmwa      6                 to obtain a copy of the firmware boot splash and
 50                 some associated metadata. This      7                 some associated metadata. This is intended to be used
 51                 by boot splash applications in      8                 by boot splash applications in order to interact with
 52                 the firmware boot splash in or      9                 the firmware boot splash in order to avoid jarring
 53                 transitions.                       10                 transitions.
 54                                                    11 
 55                 image: The image bitmap. Curre     12                 image: The image bitmap. Currently a 32-bit BMP.
 56                 status: 1 if the image is vali     13                 status: 1 if the image is valid, 0 if firmware invalidated it.
 57                 type: 0 indicates image is in      14                 type: 0 indicates image is in BMP format.
 58                                                    15 
 59                 ======== =====================     16                 ======== ===================================================
 60                 version: The version of the BG     17                 version: The version of the BGRT. Currently 1.
 61                 xoffset: The number of pixels      18                 xoffset: The number of pixels between the left of the screen
 62                          and the left edge of      19                          and the left edge of the image.
 63                 yoffset: The number of pixels      20                 yoffset: The number of pixels between the top of the screen
 64                          and the top edge of t     21                          and the top edge of the image.
 65                 ======== =====================     22                 ======== ===================================================
 66                                                    23 
 67 What:           /sys/firmware/acpi/hotplug/        24 What:           /sys/firmware/acpi/hotplug/
 68 Date:           February 2013                      25 Date:           February 2013
 69 Contact:        Rafael J. Wysocki <rafael.j.wys     26 Contact:        Rafael J. Wysocki <rafael.j.wysocki@intel.com>
 70 Description:                                       27 Description:
 71                 There are separate hotplug pro     28                 There are separate hotplug profiles for different classes of
 72                 devices supported by ACPI, suc     29                 devices supported by ACPI, such as containers, memory modules,
 73                 processors, PCI root bridges e     30                 processors, PCI root bridges etc.  A hotplug profile for a given
 74                 class of devices is a collecti     31                 class of devices is a collection of settings defining the way
 75                 that class of devices will be      32                 that class of devices will be handled by the ACPI core hotplug
 76                 code.  Those profiles are repr     33                 code.  Those profiles are represented in sysfs as subdirectories
 77                 of /sys/firmware/acpi/hotplug/     34                 of /sys/firmware/acpi/hotplug/.
 78                                                    35 
 79                 The following setting is avail     36                 The following setting is available to user space for each
 80                 hotplug profile:                   37                 hotplug profile:
 81                                                    38 
 82                 ======== =====================     39                 ======== =======================================================
 83                 enabled: If set, the ACPI core     40                 enabled: If set, the ACPI core will handle notifications of
 84                          hotplug events associ     41                          hotplug events associated with the given class of
 85                          devices and will allo     42                          devices and will allow those devices to be ejected with
 86                          the help of the _EJ0      43                          the help of the _EJ0 control method.  Unsetting it
 87                          effectively disables  !!  44                          effectively disables hotplug for the correspoinding
 88                          class of devices.         45                          class of devices.
 89                 ======== =====================     46                 ======== =======================================================
 90                                                    47 
 91                 The value of the above attribu     48                 The value of the above attribute is an integer number: 1 (set)
 92                 or 0 (unset).  Attempts to wri     49                 or 0 (unset).  Attempts to write any other values to it will
 93                 cause -EINVAL to be returned.      50                 cause -EINVAL to be returned.
 94                                                    51 
 95 What:           /sys/firmware/acpi/interrupts/     52 What:           /sys/firmware/acpi/interrupts/
 96 Date:           February 2008                      53 Date:           February 2008
 97 Contact:        Len Brown <lenb@kernel.org>         54 Contact:        Len Brown <lenb@kernel.org>
 98 Description:                                       55 Description:
 99                 All ACPI interrupts are handle     56                 All ACPI interrupts are handled via a single IRQ,
100                 the System Control Interrupt (     57                 the System Control Interrupt (SCI), which appears
101                 as "acpi" in /proc/interrupts.     58                 as "acpi" in /proc/interrupts.
102                                                    59 
103                 However, one of the main funct     60                 However, one of the main functions of ACPI is to make
104                 the platform understand random     61                 the platform understand random hardware without
105                 special driver support.  So wh     62                 special driver support.  So while the SCI handles a few
106                 well known (fixed feature) int     63                 well known (fixed feature) interrupts sources, such
107                 as the power button, it can al     64                 as the power button, it can also handle a variable
108                 number of a "General Purpose E     65                 number of a "General Purpose Events" (GPE).
109                                                    66 
110                 A GPE vectors to a specified h     67                 A GPE vectors to a specified handler in AML, which
111                 can do a anything the BIOS wri     68                 can do a anything the BIOS writer wants from
112                 OS context.  GPE 0x12, for exa     69                 OS context.  GPE 0x12, for example, would vector
113                 to a level or edge handler cal     70                 to a level or edge handler called _L12 or _E12.
114                 The handler may do its busines     71                 The handler may do its business and return.
115                 Or the handler may send send a     72                 Or the handler may send send a Notify event
116                 to a Linux device driver regis     73                 to a Linux device driver registered on an ACPI device,
117                 such as a battery, or a proces     74                 such as a battery, or a processor.
118                                                    75 
119                 To figure out where all the SC     76                 To figure out where all the SCI's are coming from,
120                 /sys/firmware/acpi/interrupts      77                 /sys/firmware/acpi/interrupts contains a file listing
121                 every possible source, and the     78                 every possible source, and the count of how many
122                 times it has triggered::           79                 times it has triggered::
123                                                    80 
124                   $ cd /sys/firmware/acpi/inte     81                   $ cd /sys/firmware/acpi/interrupts
125                   $ grep . *                       82                   $ grep . *
126                   error:             0             83                   error:             0
127                   ff_gbl_lock:       0   enabl     84                   ff_gbl_lock:       0   enable
128                   ff_pmtimer:        0  invali     85                   ff_pmtimer:        0  invalid
129                   ff_pwr_btn:        0   enabl     86                   ff_pwr_btn:        0   enable
130                   ff_rt_clk:         2  disabl     87                   ff_rt_clk:         2  disable
131                   ff_slp_btn:        0  invali     88                   ff_slp_btn:        0  invalid
132                   gpe00:             0  invali     89                   gpe00:             0  invalid
133                   gpe01:             0   enabl     90                   gpe01:             0   enable
134                   gpe02:           108   enabl     91                   gpe02:           108   enable
135                   gpe03:             0  invali     92                   gpe03:             0  invalid
136                   gpe04:             0  invali     93                   gpe04:             0  invalid
137                   gpe05:             0  invali     94                   gpe05:             0  invalid
138                   gpe06:             0   enabl     95                   gpe06:             0   enable
139                   gpe07:             0   enabl     96                   gpe07:             0   enable
140                   gpe08:             0  invali     97                   gpe08:             0  invalid
141                   gpe09:             0  invali     98                   gpe09:             0  invalid
142                   gpe0A:             0  invali     99                   gpe0A:             0  invalid
143                   gpe0B:             0  invali    100                   gpe0B:             0  invalid
144                   gpe0C:             0  invali    101                   gpe0C:             0  invalid
145                   gpe0D:             0  invali    102                   gpe0D:             0  invalid
146                   gpe0E:             0  invali    103                   gpe0E:             0  invalid
147                   gpe0F:             0  invali    104                   gpe0F:             0  invalid
148                   gpe10:             0  invali    105                   gpe10:             0  invalid
149                   gpe11:             0  invali    106                   gpe11:             0  invalid
150                   gpe12:             0  invali    107                   gpe12:             0  invalid
151                   gpe13:             0  invali    108                   gpe13:             0  invalid
152                   gpe14:             0  invali    109                   gpe14:             0  invalid
153                   gpe15:             0  invali    110                   gpe15:             0  invalid
154                   gpe16:             0  invali    111                   gpe16:             0  invalid
155                   gpe17:          1084   enabl    112                   gpe17:          1084   enable
156                   gpe18:             0   enabl    113                   gpe18:             0   enable
157                   gpe19:             0  invali    114                   gpe19:             0  invalid
158                   gpe1A:             0  invali    115                   gpe1A:             0  invalid
159                   gpe1B:             0  invali    116                   gpe1B:             0  invalid
160                   gpe1C:             0  invali    117                   gpe1C:             0  invalid
161                   gpe1D:             0  invali    118                   gpe1D:             0  invalid
162                   gpe1E:             0  invali    119                   gpe1E:             0  invalid
163                   gpe1F:             0  invali    120                   gpe1F:             0  invalid
164                   gpe_all:        1192            121                   gpe_all:        1192
165                   sci:            1194            122                   sci:            1194
166                   sci_not:           0            123                   sci_not:           0
167                                                   124 
168                 ===========  =================    125                 ===========  ==================================================
169                 sci          The number of tim    126                 sci          The number of times the ACPI SCI
170                              has been called a    127                              has been called and claimed an interrupt.
171                                                   128 
172                 sci_not      The number of tim    129                 sci_not      The number of times the ACPI SCI
173                              has been called a    130                              has been called and NOT claimed an interrupt.
174                                                   131 
175                 gpe_all      count of SCI caus    132                 gpe_all      count of SCI caused by GPEs.
176                                                   133 
177                 gpeXX        count for individ    134                 gpeXX        count for individual GPE source
178                                                   135 
179                 ff_gbl_lock  Global Lock          136                 ff_gbl_lock  Global Lock
180                                                   137 
181                 ff_pmtimer   PM Timer             138                 ff_pmtimer   PM Timer
182                                                   139 
183                 ff_pwr_btn   Power Button         140                 ff_pwr_btn   Power Button
184                                                   141 
185                 ff_rt_clk    Real Time Clock      142                 ff_rt_clk    Real Time Clock
186                                                   143 
187                 ff_slp_btn   Sleep Button         144                 ff_slp_btn   Sleep Button
188                                                   145 
189                 error        an interrupt that    146                 error        an interrupt that can't be accounted for above.
190                                                   147 
191                 invalid      it's either a GPE    148                 invalid      it's either a GPE or a Fixed Event that
192                              doesn't have an e    149                              doesn't have an event handler.
193                                                   150 
194                 disable      the GPE/Fixed Eve    151                 disable      the GPE/Fixed Event is valid but disabled.
195                                                   152 
196                 enable       the GPE/Fixed Eve    153                 enable       the GPE/Fixed Event is valid and enabled.
197                 ===========  =================    154                 ===========  ==================================================
198                                                   155 
199                 Root has permission to clear a    156                 Root has permission to clear any of these counters.  Eg.::
200                                                   157 
201                   # echo 0 > gpe11                158                   # echo 0 > gpe11
202                                                   159 
203                 All counters can be cleared by    160                 All counters can be cleared by clearing the total "sci"::
204                                                   161 
205                   # echo 0 > sci                  162                   # echo 0 > sci
206                                                   163 
207                 None of these counters has an     164                 None of these counters has an effect on the function
208                 of the system, they are simply    165                 of the system, they are simply statistics.
209                                                   166 
210                 Besides this, user can also wr    167                 Besides this, user can also write specific strings to these files
211                 to enable/disable/clear ACPI i    168                 to enable/disable/clear ACPI interrupts in user space, which can be
212                 used to debug some ACPI interr    169                 used to debug some ACPI interrupt storm issues.
213                                                   170 
214                 Note that only writing to VALI    171                 Note that only writing to VALID GPE/Fixed Event is allowed,
215                 i.e. user can only change the     172                 i.e. user can only change the status of runtime GPE and
216                 Fixed Event with event handler    173                 Fixed Event with event handler installed.
217                                                   174 
218                 Let's take power button fixed     175                 Let's take power button fixed event for example, please kill acpid
219                 and other user space applicati    176                 and other user space applications so that the machine won't shutdown
220                 when pressing the power button    177                 when pressing the power button::
221                                                   178 
222                   # cat ff_pwr_btn                179                   # cat ff_pwr_btn
223                   0     enabled                   180                   0     enabled
224                   # press the power button for    181                   # press the power button for 3 times;
225                   # cat ff_pwr_btn                182                   # cat ff_pwr_btn
226                   3     enabled                   183                   3     enabled
227                   # echo disable > ff_pwr_btn     184                   # echo disable > ff_pwr_btn
228                   # cat ff_pwr_btn                185                   # cat ff_pwr_btn
229                   3     disabled                  186                   3     disabled
230                   # press the power button for    187                   # press the power button for 3 times;
231                   # cat ff_pwr_btn                188                   # cat ff_pwr_btn
232                   3     disabled                  189                   3     disabled
233                   # echo enable > ff_pwr_btn      190                   # echo enable > ff_pwr_btn
234                   # cat ff_pwr_btn                191                   # cat ff_pwr_btn
235                   4     enabled                   192                   4     enabled
236                   /*                              193                   /*
237                    * this is because the statu    194                    * this is because the status bit is set even if the enable
238                    * bit is cleared, and it tr    195                    * bit is cleared, and it triggers an ACPI fixed event when
239                    * the enable bit is set aga    196                    * the enable bit is set again
240                    */                             197                    */
241                   # press the power button for    198                   # press the power button for 3 times;
242                   # cat ff_pwr_btn                199                   # cat ff_pwr_btn
243                   7     enabled                   200                   7     enabled
244                   # echo disable > ff_pwr_btn     201                   # echo disable > ff_pwr_btn
245                   # press the power button for    202                   # press the power button for 3 times;
246                   # echo clear > ff_pwr_btn       203                   # echo clear > ff_pwr_btn     /* clear the status bit */
247                   # echo disable > ff_pwr_btn     204                   # echo disable > ff_pwr_btn
248                   # cat ff_pwr_btn                205                   # cat ff_pwr_btn
249                   7     enabled                   206                   7     enabled
250                                                   207 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php