Changeset View
Changeset View
Standalone View
Standalone View
share/man/man4/acpi.4
| Show First 20 Lines • Show All 334 Lines • ▼ Show 20 Lines | |||||
| driver comprises a set of drivers, which may be selectively disabled | driver comprises a set of drivers, which may be selectively disabled | ||||
| in case of problems. | in case of problems. | ||||
| To disable a sub-driver, list it in the kernel | To disable a sub-driver, list it in the kernel | ||||
| environment variable | environment variable | ||||
| .Va debug.acpi.disabled . | .Va debug.acpi.disabled . | ||||
| Multiple entries can be listed, separated by a space. | Multiple entries can be listed, separated by a space. | ||||
| .Pp | .Pp | ||||
| ACPI sub-devices and features that can be disabled: | ACPI sub-devices and features that can be disabled: | ||||
| .Bl -tag -width ".Li sysresource" | .Bl -tag -width "sysresource" | ||||
| .It Li all | .It Li all | ||||
| Disable all ACPI features and devices. | Disable all ACPI features and devices. | ||||
| .It Li acad | .It Li acad | ||||
| .Pq Vt device | .Pq Vt device | ||||
| Supports AC adapter. | Supports AC adapter. | ||||
| .It Li bus | .It Li bus | ||||
| .Pq Vt feature | .Pq Vt feature | ||||
| Probes and attaches subdevices. | Probes and attaches subdevices. | ||||
| ▲ Show 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | |||||
| .Pp | .Pp | ||||
| The first set of layers is for ACPI-CA components, and the second is for | The first set of layers is for ACPI-CA components, and the second is for | ||||
| .Fx | .Fx | ||||
| drivers. | drivers. | ||||
| The ACPI-CA layer descriptions include the prefix for the files they | The ACPI-CA layer descriptions include the prefix for the files they | ||||
| refer to. | refer to. | ||||
| The supported layers are: | The supported layers are: | ||||
| .Pp | .Pp | ||||
| .Bl -tag -compact -width ".Li ACPI_CA_DISASSEMBLER" | .Bl -tag -compact -width "ACPI_LV_AML_DISASSEMBLE" | ||||
| .It Li ACPI_UTILITIES | .It Li ACPI_UTILITIES | ||||
| Utility ("ut") functions | Utility ("ut") functions | ||||
| .It Li ACPI_HARDWARE | .It Li ACPI_HARDWARE | ||||
| Hardware access ("hw") | Hardware access ("hw") | ||||
| .It Li ACPI_EVENTS | .It Li ACPI_EVENTS | ||||
| Event and GPE ("ev") | Event and GPE ("ev") | ||||
| .It Li ACPI_TABLES | .It Li ACPI_TABLES | ||||
| Table access ("tb") | Table access ("tb") | ||||
| Show All 40 Lines | |||||
| .It Li ACPI_ALL_DRIVERS | .It Li ACPI_ALL_DRIVERS | ||||
| All the above | All the above | ||||
| .Fx | .Fx | ||||
| ACPI drivers | ACPI drivers | ||||
| .El | .El | ||||
| .Pp | .Pp | ||||
| The supported levels are: | The supported levels are: | ||||
| .Pp | .Pp | ||||
| .Bl -tag -compact -width ".Li ACPI_LV_AML_DISASSEMBLE" | .Bl -tag -compact -width "ACPI_LV_AML_DISASSEMBLE" | ||||
| .It Li ACPI_LV_INIT | .It Li ACPI_LV_INIT | ||||
| Initialization progress | Initialization progress | ||||
| .It Li ACPI_LV_DEBUG_OBJECT | .It Li ACPI_LV_DEBUG_OBJECT | ||||
| Stores to objects | Stores to objects | ||||
| .It Li ACPI_LV_INFO | .It Li ACPI_LV_INFO | ||||
| General information and progress | General information and progress | ||||
| .It Li ACPI_LV_REPAIR | .It Li ACPI_LV_REPAIR | ||||
| Repair a common problem with predefined methods | Repair a common problem with predefined methods | ||||
| ▲ Show 20 Lines • Show All 75 Lines • ▼ Show 20 Lines | |||||
| acpi_dsdt_name="/boot/acpi_dsdt.aml" # You may change this name. | acpi_dsdt_name="/boot/acpi_dsdt.aml" # You may change this name. | ||||
| .Ed | .Ed | ||||
| .Pp | .Pp | ||||
| In order to prepare your AML code, you will need the | In order to prepare your AML code, you will need the | ||||
| .Xr acpidump 8 | .Xr acpidump 8 | ||||
| and | and | ||||
| .Xr iasl 8 | .Xr iasl 8 | ||||
| utilities and some ACPI knowledge. | utilities and some ACPI knowledge. | ||||
| .Sh APM INTERFACE | |||||
| .Nm | |||||
| exports a legacy APM-BIOS application interface as a character device. | |||||
| Applications | |||||
| can control APM, or retrieve APM status information via this interface. | |||||
| .Nm | |||||
| exports the following interfaces. | |||||
| These symbols are defined in | |||||
| .In x86/include/apm_bios.h . | |||||
ziaee: This is where I found the ioctls when I git grepped | |||||
jhbUnsubmitted Not Done Inline ActionsThe old text is more correct. <machine/apm_bios.h> is the public header to use for these. This header is just an implementation detail so that it is shared between amd64 and i386. jhb: The old text is more correct. <machine/apm_bios.h> is the public header to use for these. | |||||
| .Pp | |||||
| .Bl -tag -compact -width "ACPI_LV_AML_DISASSEMBLE" | |||||
| .It Dv APMIO_SUSPEND | |||||
ziaeeAuthorUnsubmitted Done Inline ActionsI changed these to Dvs because they're ioctls, right? ziaee: I changed these to Dvs because they're ioctls, right? | |||||
| Suspend system | |||||
| .It Dv APMIO_GET | |||||
| Get power management information | |||||
| .It Dv APMIO_ENABLE | |||||
| .It Dv APMIO_DISABLE | |||||
| Enable / Disable power management | |||||
| .It Dv APMIO_GETPWSTATUS | |||||
| Get per battery information | |||||
| .It Dv APMIO_HALTCPU | |||||
| .It Dv APMIO_NOTHALTCPU | |||||
| Control execution of HLT in the kernel context switch routine | |||||
| .Pp | |||||
| Some APM implementations execute the HLT | |||||
| (Halt CPU until an interrupt occurs) | |||||
| instruction in the | |||||
| .Dq Em Idle CPU | |||||
| call, while others do not. | |||||
| Thus enabling this may result in | |||||
| redundant HLT executions because | |||||
| .Dq Em Idle CPU | |||||
| is called from the kernel context switch routine | |||||
| that inherently executes HLT. | |||||
| This may reduce peak system performance. | |||||
| .Pp | |||||
| Also the system hangs up if HLT instruction is disabled in the kernel | |||||
| context switch routine, and if the APM implementation of the machine | |||||
| does not execute HLT in | |||||
| .Dq Em Idle CPU . | |||||
| On some implementations that do not support CPU clock slowdown, | |||||
| APM might not execute HLT. | |||||
| .Nm | |||||
| disables | |||||
| .Dv APMIO_NOTHALTCPU | |||||
| operation on such machines. | |||||
| .Pp | |||||
| The current version of | |||||
| .Nm | |||||
| does not call | |||||
| .Dq Em Idle CPU | |||||
| from the kernel context switch routine if clock slowdown is not supported, | |||||
| and it executes HLT instruction by default. | |||||
| Therefore, there is | |||||
| no need to use these two operations in most cases. | |||||
| .El | |||||
| .Pp | |||||
| These interfaces are used by | |||||
| .Xr apm 8 . | |||||
| .Pp | |||||
| .It | |||||
| The | |||||
| .Nm | |||||
| APM-BIOS interface also polls and handles the following events: | |||||
| .Bl -column "xxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxx" "xxxxxxxx" | |||||
| .It Sy "Name" Ta Sy "Action" Ta Sy "Description" | |||||
| .It Dv "PMEV_STANDBYREQ" Ta No "suspend system" Ta "standby request" | |||||
| .It Dv "PMEV_SUSPENDREQ" Ta No "suspend system" Ta "suspend request" | |||||
| .It Dv "PMEV_USERSUSPENDREQ" Ta No "suspend system" Ta "user suspend request" | |||||
| .It Dv "PMEV_CRITSUSPEND" Ta No "suspend system" Ta "critical suspend request" | |||||
| .It Dv "PMEV_NORMRESUME" Ta No "resume system" Ta "normal resume" | |||||
| .It Dv "PMEV_CRITRESUME" Ta No "resume system" Ta "critical resume" | |||||
| .It Dv "PMEV_STANDBYRESUME" Ta No "resume system" Ta "standby resume" | |||||
| .It Dv "PMEV_BATTERYLOW" Ta No "notify message" Ta "battery low" | |||||
| .It Dv "PMEV_UPDATETIME" Ta No "adjust clock" Ta "update time" | |||||
| .El | |||||
| .Sh FILES | |||||
| .Bl -tag -compact | |||||
| .It Pa /dev/acpi | |||||
| .It Pa /dev/apm | |||||
| .El | |||||
| .Sh COMPATIBILITY | .Sh COMPATIBILITY | ||||
| ACPI is only found and supported on i386/ia32 and amd64. | ACPI is only found and supported on i386/ia32 and amd64. | ||||
ziaeeAuthorUnsubmitted Done Inline ActionsUnrelated, arm64 has acpi now too, right? ziaee: Unrelated, arm64 has acpi now too, right? | |||||
| .Sh SEE ALSO | .Sh SEE ALSO | ||||
| .Xr kenv 1 , | .Xr kenv 1 , | ||||
| .Xr acpi_thermal 4 , | .Xr acpi_thermal 4 , | ||||
| .Xr device.hints 5 , | .Xr device.hints 5 , | ||||
| .Xr loader.conf 5 , | .Xr loader.conf 5 , | ||||
| .Xr acpiconf 8 , | .Xr acpiconf 8 , | ||||
| .Xr acpidump 8 , | .Xr acpidump 8 , | ||||
| .Xr config 8 , | .Xr config 8 , | ||||
| Show All 37 Lines | |||||
This is where I found the ioctls when I git grepped