Commit Graph

79 Commits

Author SHA1 Message Date
Konstantin Belousov
b57a73f8e7 If x86 CPU implementation of the MWAIT instruction reasonably
interacts with interrupts, query ACPI and use MWAIT for entrance into
Cx sleep states.  Support C1 "I/O then halt" mode.  See Intel'
document 302223-007 "Intelб╝ Processor Vendor-Specific ACPI Interface
Specification" for description.

Move the acpi_cpu_c1() function into x86/cpu_machdep.c and use
it instead of inlining "sti; hlt" sequence in several places.

In the acpi(4) man page, besides documenting the dev.cpu.N.cx_methods
sysctl, correct the names for dev.cpu.N.{cx_usage,cx_lowest,cx_supported}
sysctls.

Both jkim and avg have some other patches implementing the mwait
functionality; this work is unrelated.  Linux does not rely on the
ACPI to provide correct tables describing Cx modes.  Instead, the
driver has pre-defined knowledge of the CPU models, it was supplied by
Intel.

Tested by:    pho (previous versions)
Sponsored by:	The FreeBSD Foundation
2015-05-09 12:28:48 +00:00
Alexander Motin
9f4fae3950 Remove mostly obsolete hint to disable LAPIC timers.
It is partially covered by new code and partially by new CPUs.

PR:		195016
Submitted by:	tobias.rehbein@web.de
MFC after:	1 week
2014-11-14 22:01:14 +00:00
Marcel Moolenaar
e7d939bda2 Remove ia64.
This includes:
o   All directories named *ia64*
o   All files named *ia64*
o   All ia64-specific code guarded by __ia64__
o   All ia64-specific makefile logic
o   Mention of ia64 in comments and documentation

This excludes:
o   Everything under contrib/
o   Everything under crypto/
o   sys/xen/interface
o   sys/sys/elf_common.h

Discussed at: BSDcan
2014-07-07 00:27:09 +00:00
Baptiste Daroussin
6c89995002 use .Mt to mark up email addresses consistently (final part)
PR:		191174
Submitted by:	Franco Fichtner <franco at lastsummer.de>
2014-06-26 21:46:14 +00:00
Christian Brueffer
0782e8fa23 Fix markup and grammar. 2014-06-23 13:24:00 +00:00
Mitsuru IWASAKI
3f5178b3f5 Add note on SYSCTL VARIABLES. 2014-06-22 02:48:27 +00:00
Andriy Gapon
947bb4a4a5 acpi.4: machdep.cpu_idle_hlt no longer exists
MFC after:	1 week
2012-09-11 06:14:03 +00:00
Jung-uk Kim
1df130f1d4 Merge ACPICA 20120816. 2012-08-16 20:54:52 +00:00
Jung-uk Kim
92fa7e24cb Complete commit message for r235024:
Use MADT to match ACPI Processor objects to CPUs.  MADT and DSDT/SSDTs may
list CPUs in different orders, especially for disabled logical cores.  Now
we match ACPI IDs from the MADT with Processor objects, strictly order CPUs
accordingly, and ignore disabled cores.  This prevents us from executing
methods for other CPUs, e. g., _PSS for disabled logical core, which may not
exist.  Unfortunately, it is known that there are a few systems with buggy
BIOSes that do not have unique ACPI IDs for MADT and Processor objects.  To
work around these problems, 'debug.acpi.cpu_unordered' tunable is added.
Set this to a non-zero value to restore the old behavior.
Many thanks to jhb for pointing me to the right direction and the manual
page change.

Reported by:	Harris, James R (james dot r dot harris at intel dot com)
Tested by:	Harris, James R (james dot r dot harris at intel dot com)
Reviewed by:	jhb
MFC after:	1 month
2012-05-04 18:54:51 +00:00
Jung-uk Kim
e5751426ad Use MADT to match ACPI Processor objects to CPUs. MADT and DSDT/SSDTs may
list CPUs in different orders, especially for disabled logical cores.  Now
we match ACPI IDs from the MADT with Processor objects, strictly order CPUs
accordingly, and ignore disabled cores.  This prevents us from executing
methods for other CPUs, e. g., _PSS for disabled logical core, which may not
exist.  Unfortunately, it is known that there are a few systems with buggy
BIOSes that do not have unique ACPI IDs for MADT and Processor objects.  To
work around these problems
2012-05-04 18:24:38 +00:00
Jung-uk Kim
cc6455afff Add ACPI_LV_REPAIR debug level, available since ACPICA 20091214 (r200553).
MFC after:	3 days
2012-03-22 17:01:25 +00:00
Jung-uk Kim
4c52cad2f9 Merge ACPICA 20120320. 2012-03-20 21:37:52 +00:00
Jung-uk Kim
66f369d023 Document newly added loader tunables "hw.acpi.install_interface" and
"hw.acpi.remove_interface".
2010-10-26 21:22:55 +00:00
Jung-uk Kim
ac731af567 Use AcpiReset() from ACPICA instead of rolling our own, which is actually
incomplete.  If FADT says the register is available, enable the capability
by default.  Remove the previous default value from acpi(4).
2010-10-13 00:21:53 +00:00
Alexander Motin
ccf87a1089 Recommend disabling LAPIC timer instead whole APIC for fixing C3 state.
PR:		docs/147180
Submitted by:	Tobias Rehbein
2010-06-02 08:43:18 +00:00
Jung-uk Kim
ef47c93f6c Document a new sysctl variable and a loader tunable. 2010-03-09 19:19:07 +00:00
Ruslan Ermilov
aa4a335bae Use the newly brought %U macro. 2010-01-15 16:01:22 +00:00
Jung-uk Kim
240d2af5fe Reflect debug level changes from the recent ACPICA import. 2009-06-08 21:48:13 +00:00
Ruslan Ermilov
81ae4b8da9 Markup fixes. 2006-09-18 15:24:20 +00:00
Nate Lawson
1843f0c337 The acpi module is no different from others. If it is loaded while the kernel
has it compiled in, it will be rejected with "module acpi already present!"
and no strange behavior.

MFC after:	1 day
2006-08-10 06:32:16 +00:00
Yaroslav Tykhiy
03335ffbe9 Fix things I misadvised to Nate Lawson:
- "Ns No" is redundant, so reduce it to just "Ns";
- use Li to mark up CPU and system power states because here they are
  just strings to be typed literally (add more such mark-up as well);
- the best practice of typesetting tells us to use an en-dash to
  indicate a closed range; fortunately, groff_char(7) provides such a symbol.

In addition, consistently use a comma between independent clauses
coordinated by a conjunction.

Pointed out by:	ru (mark-up part)
MFC after:	3 days
2006-08-07 07:28:47 +00:00
Nate Lawson
13a8aa9f71 Improve quoting of the S1-S5 states. Suggested by yar@.
Add a workaround for conflicts between ACPI Cx CPU idling and LAPIC timer.

MFC after:	1 day
2006-08-04 07:19:01 +00:00
Nate Lawson
93870c0550 Document many of the sysctls in acpi. Bump the date on acpi_thermal.4
because I forgot to on the last change.

MFC after:	1 day
2006-07-29 21:47:24 +00:00
Nate Lawson
b46f4324ff Move the reset beep tunable/sysctl to debug.acpi.resume_beep. This makes
more sense than under hw.acpi.  Also, document this in the man page.
2006-06-10 08:06:16 +00:00
Christian Brueffer
e862bc666e Correct the interrupt override information.
PR:		93429
Submitted by:	Michaël Grünewald <michael.grunewald@laposte.net>
MFC after:	3 days
2006-05-01 11:56:18 +00:00
Wojciech A. Koszek
ba526146e7 Note that ACPI_DEBUG depends on DDB.
Reviewed by:	njl
Approved by:	cognet (mentor)
MFC after:	3 days
2006-03-01 16:31:37 +00:00
Hiroki Sato
44cb3ab02e Fix typos and use consistent section names in manual pages:
s/SYSCTLS/SYSCTL VARIABLES/
 s/TUNABLES/LOADER TUNABLES/
 s/CAVEAT/CAVEATS/
 s/DESCIPTION/DESCRIPTION/

Reviewed by:	ru
MFC after:	3 days
2005-07-15 17:35:26 +00:00
Ruslan Ermilov
4f06896130 Assorted markup fixes and minor wordsmithing.
Approved by:	re
2005-06-15 13:31:23 +00:00
Nate Lawson
26db811ebd Document the debug.acpi.max_threads tunable. 2005-04-22 23:21:09 +00:00
Tom Rhodes
401cdd95a8 Note that debug.acpi.disabled can also disable the video.
PR:			77693
Tested/submitted by:	John Prather <jprather@axon.cdc.uci.edu>
MFC:			1 day
2005-02-23 07:23:35 +00:00
Nate Lawson
6b6a920e28 Bump date. Reminded by: ru 2005-02-13 21:23:23 +00:00
Nate Lawson
47bc6a5e25 Update documentation of tunables. 2005-02-13 20:26:04 +00:00
Nate Lawson
f4e8f997fe Note changes to throttling sysctls and new power_profile(8) cpufrq support. 2005-02-06 21:31:41 +00:00
Kirill Ponomarev
f6832a8239 Remove trailing spaces.
MFC after:	3 days
2005-01-02 18:26:13 +00:00
Nate Lawson
401b484ba2 Add more information about debugging output. 2004-12-14 19:55:54 +00:00
Ruslan Ermilov
2010c542b2 Minor mdoc(7) tweaks, excellent work Nate! 2004-12-14 09:24:48 +00:00
Nate Lawson
edd84e4843 Checkpoint reworking the man page to be more useful to non-developers,
document some debug output variables, etc.  Mdoc assistance welcome.
2004-12-14 01:07:44 +00:00
Nate Lawson
276cd9216d Unify ACPI_DEBUG support for all OEM drivers under ACPI_OEM. Since more than
one will never be supported on the same platform, this does not hurt
debugging.

MFC after:	3 days
2004-12-13 23:31:46 +00:00
Mark Santcroos
53ce39bedf Document ACPI tunable hw.acpi.serialize_methods.
Also reorder tunables.

Approved by:	njl
MFC after:	1 week
2004-12-04 23:26:46 +00:00
Nate Lawson
287460e87c Update the man page with new info about overriding your DSDT.
MFC after:	3 days
2004-10-05 20:42:16 +00:00
Ruslan Ermilov
2410103c1d mdoc(7) fixes. 2004-07-07 19:57:16 +00:00
Mark Santcroos
55c71dc9b0 mdoc changes.
Reviewed by:	ru
Approved by:	njl
2004-06-30 20:49:34 +00:00
Mark Santcroos
07e2d0461f Document BIOS blacklist.
Approved by:	njl
2004-06-30 19:54:29 +00:00
Ruslan Ermilov
bf7f20c2b6 Assorted markup, spelling, and grammar fixes. 2004-06-16 08:33:57 +00:00
Nate Lawson
a2afe45a8a Rework acpi_cpu_idle() to select the next idle state before sleeping, not
after.  Unify the paths for all Cx states.  Remove cpu_idle_busy and
instead do the little profiling we need before re-enabling interrupts.
Use 1 quantum as estimate for C1 sleep duration since the timer interrupt
is the main reason we wake.

While here, change the cx_history sysctl to cx_usage and report statistics
for which idle states were used in terms of percent.  This seems more
intuitive than counters.  Remove the cx_stats structure since it's no
longer used.  Update the man page.

Change various types which do not need explicit size.
2004-06-05 07:02:18 +00:00
Nate Lawson
ccc09458fa Change hw.acpi.cpu.cx_lowest to accept values in the form of C1,
C2, ...  Update power_profile to use the new format.  Update the
man page to reflect this and give more info on Cx states.
2004-05-07 05:22:38 +00:00
Nate Lawson
18974fe842 Add the "new" acad disabling feature. 2004-04-20 17:45:47 +00:00
Nate Lawson
4e376d58dc Add a "quirks" value to disable quirks handling for a given boot.
Also, disable quirks if booting with a custom DSDT.  Add a quirk
to disable loading ACPI so known bad systems can be completely
blacklisted.
2004-03-04 04:42:59 +00:00
Nate Lawson
3184cf5a6b Add support for quirks for acpi tables. Key off OEM vendor and revision.
Sort acpi debug values.  Change "disable" to "disabled" to match rest of
the kernel.  Remove debugging from acpi_toshiba since it was only used for
probe/attach.
2004-03-03 03:02:17 +00:00
Nate Lawson
e821c36489 Some markup fixes, change some devices to a feature. 2004-02-22 00:50:00 +00:00