About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / ABI / testing / sysfs-firmware-acpi




Custom Search

Based on kernel version 3.9. Page generated on 2013-05-02 22:53 EST.

1	What:		/sys/firmware/acpi/bgrt/
2	Date:		January 2012
3	Contact:	Matthew Garrett <mjg@redhat.com>
4	Description:
5			The BGRT is an ACPI 5.0 feature that allows the OS
6			to obtain a copy of the firmware boot splash and
7			some associated metadata. This is intended to be used
8			by boot splash applications in order to interact with
9			the firmware boot splash in order to avoid jarring
10			transitions.
11	
12			image: The image bitmap. Currently a 32-bit BMP.
13			status: 1 if the image is valid, 0 if firmware invalidated it.
14			type: 0 indicates image is in BMP format.
15			version: The version of the BGRT. Currently 1.
16			xoffset: The number of pixels between the left of the screen
17				 and the left edge of the image.
18			yoffset: The number of pixels between the top of the screen
19				 and the top edge of the image.
20	
21	What:		/sys/firmware/acpi/interrupts/
22	Date:		February 2008
23	Contact:	Len Brown <lenb@kernel.org>
24	Description:
25			All ACPI interrupts are handled via a single IRQ,
26			the System Control Interrupt (SCI), which appears
27			as "acpi" in /proc/interrupts.
28	
29			However, one of the main functions of ACPI is to make
30			the platform understand random hardware without
31			special driver support.  So while the SCI handles a few
32			well known (fixed feature) interrupts sources, such
33			as the power button, it can also handle a variable
34			number of a "General Purpose Events" (GPE).
35	
36			A GPE vectors to a specified handler in AML, which
37			can do a anything the BIOS writer wants from
38			OS context.  GPE 0x12, for example, would vector
39			to a level or edge handler called _L12 or _E12.
40			The handler may do its business and return.
41			Or the handler may send send a Notify event
42			to a Linux device driver registered on an ACPI device,
43			such as a battery, or a processor.
44	
45			To figure out where all the SCI's are coming from,
46			/sys/firmware/acpi/interrupts contains a file listing
47			every possible source, and the count of how many
48			times it has triggered.
49	
50			$ cd /sys/firmware/acpi/interrupts
51			$ grep . *
52			error:	     0
53			ff_gbl_lock:	   0   enable
54			ff_pmtimer:	  0  invalid
55			ff_pwr_btn:	  0   enable
56			ff_rt_clk:	 2  disable
57			ff_slp_btn:	  0  invalid
58			gpe00:	     0	invalid
59			gpe01:	     0	 enable
60			gpe02:	   108	 enable
61			gpe03:	     0	invalid
62			gpe04:	     0	invalid
63			gpe05:	     0	invalid
64			gpe06:	     0	 enable
65			gpe07:	     0	 enable
66			gpe08:	     0	invalid
67			gpe09:	     0	invalid
68			gpe0A:	     0	invalid
69			gpe0B:	     0	invalid
70			gpe0C:	     0	invalid
71			gpe0D:	     0	invalid
72			gpe0E:	     0	invalid
73			gpe0F:	     0	invalid
74			gpe10:	     0	invalid
75			gpe11:	     0	invalid
76			gpe12:	     0	invalid
77			gpe13:	     0	invalid
78			gpe14:	     0	invalid
79			gpe15:	     0	invalid
80			gpe16:	     0	invalid
81			gpe17:	  1084	 enable
82			gpe18:	     0	 enable
83			gpe19:	     0	invalid
84			gpe1A:	     0	invalid
85			gpe1B:	     0	invalid
86			gpe1C:	     0	invalid
87			gpe1D:	     0	invalid
88			gpe1E:	     0	invalid
89			gpe1F:	     0	invalid
90			gpe_all:    1192
91			sci:	1194
92			sci_not:     0	
93	
94			sci - The number of times the ACPI SCI
95			has been called and claimed an interrupt.
96	
97			sci_not - The number of times the ACPI SCI
98			has been called and NOT claimed an interrupt.
99	
100			gpe_all - count of SCI caused by GPEs.
101	
102			gpeXX - count for individual GPE source
103	
104			ff_gbl_lock - Global Lock
105	
106			ff_pmtimer - PM Timer
107	
108			ff_pwr_btn - Power Button
109	
110			ff_rt_clk - Real Time Clock
111	
112			ff_slp_btn - Sleep Button
113	
114			error - an interrupt that can't be accounted for above.
115	
116			invalid: it's either a GPE or a Fixed Event that
117				doesn't have an event handler.
118	
119			disable: the GPE/Fixed Event is valid but disabled.
120	
121			enable: the GPE/Fixed Event is valid and enabled.
122	
123			Root has permission to clear any of these counters.  Eg.
124			# echo 0 > gpe11
125	
126			All counters can be cleared by clearing the total "sci":
127			# echo 0 > sci
128	
129			None of these counters has an effect on the function
130			of the system, they are simply statistics.
131	
132			Besides this, user can also write specific strings to these files
133			to enable/disable/clear ACPI interrupts in user space, which can be
134			used to debug some ACPI interrupt storm issues.
135	
136			Note that only writting to VALID GPE/Fixed Event is allowed,
137			i.e. user can only change the status of runtime GPE and
138			Fixed Event with event handler installed.
139	
140			Let's take power button fixed event for example, please kill acpid
141			and other user space applications so that the machine won't shutdown
142			when pressing the power button.
143			# cat ff_pwr_btn
144			0	enabled
145			# press the power button for 3 times;
146			# cat ff_pwr_btn
147			3	enabled
148			# echo disable > ff_pwr_btn
149			# cat ff_pwr_btn
150			3	disabled
151			# press the power button for 3 times;
152			# cat ff_pwr_btn
153			3	disabled
154			# echo enable > ff_pwr_btn
155			# cat ff_pwr_btn
156			4	enabled
157			/*
158			 * this is because the status bit is set even if the enable bit is cleared,
159			 * and it triggers an ACPI fixed event when the enable bit is set again
160			 */
161			# press the power button for 3 times;
162			# cat ff_pwr_btn
163			7	enabled
164			# echo disable > ff_pwr_btn
165			# press the power button for 3 times;
166			# echo clear > ff_pwr_btn	/* clear the status bit */
167			# echo disable > ff_pwr_btn
168			# cat ff_pwr_btn
169			7	enabled
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.