kernel/acpi: Remove the old APM emulation code.
authorSascha Wildner <saw@online.de>
Thu, 22 Feb 2018 06:50:13 +0000 (07:50 +0100)
committerSascha Wildner <saw@online.de>
Thu, 22 Feb 2018 06:51:28 +0000 (07:51 +0100)
This is no longer needed by anything. The <machine/apm_bios.h> header
with APM ioctl defines can go as well.

While here, do a little adjustment of comments and manual pages too.

Pointed-out-by: ivadasz
Makefile_upgrade.inc
etc/rc.resume
etc/rc.suspend
share/man/man9/ioctl.9
sys/platform/pc64/acpica/acpi_machdep.c
sys/platform/pc64/include/apm_bios.h [deleted file]
sys/sys/kbio.h
sys/sys/param.h
usr.sbin/kbdcontrol/kbdmap.5

index 71f25db..f3bf807 100644 (file)
@@ -3371,6 +3371,7 @@ TO_REMOVE+=/usr/share/man/man8/rshd.8.gz
 TO_REMOVE+=/usr/share/calendar/de_AT.ISO_8859-15
 TO_REMOVE+=/usr/share/man/man9/timeout.9.gz
 TO_REMOVE+=/usr/share/man/man9/untimeout.9.gz
+TO_REMOVE+=/usr/include/machine/apm_bios.h
 
 .if !defined(WANT_INSTALLER)
 TO_REMOVE+=/usr/sbin/dfuibe_installer
index 6f0b211..f063bce 100644 (file)
@@ -27,7 +27,7 @@
 # $FreeBSD: src/etc/rc.resume,v 1.9 2008/07/21 22:55:40 thompsa Exp $
 #
 
-# sample run command file for APM Resume Event
+# sample run command file for ACPI Resume Event
 
 if [ $# -ne 2 ]; then
        echo "Usage: $0 [acpi] [standby,suspend|1-4]"
index 453afa8..e363ff6 100644 (file)
@@ -27,7 +27,7 @@
 # $FreeBSD: src/etc/rc.suspend,v 1.6 2004/01/21 03:03:40 njl Exp $
 #
 
-# sample run command file for APM Suspend Event
+# sample run command file for ACPI Suspend Event
 
 if [ $# -ne 2 ]; then
        echo "Usage: $0 [acpi] [standby,suspend|1-5]"
index cd684d6..255533a 100644 (file)
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd October 17, 2017
+.Dd February 22, 2018
 .Dt IOCTL 9
 .Os
 .Sh NAME
@@ -141,8 +141,6 @@ and
 .Xr ppbus 4
 .It 'p'
 .Xr procfs 5
-.It 'P'
-.Nm apm (deprecated)
 .It 'q'
 .Pa /dev/sequencer
 .It 'r'
index 53df409..8296749 100644 (file)
 
 static device_t        acpi_dev;
 
-/*
- * APM driver emulation
- */
-
 #include <sys/event.h>
 
-#include <machine/apm_bios.h>
 #include <machine/pc/bios.h>
 #include <machine_base/apic/ioapic.h>
 #include <machine/smp.h>
@@ -55,271 +50,6 @@ static device_t     acpi_dev;
 uint32_t acpi_reset_video = 1;
 TUNABLE_INT("hw.acpi.reset_video", &acpi_reset_video);
 
-static int apm_active;
-
-static d_open_t apmopen;
-static d_close_t apmclose;
-static d_write_t apmwrite;
-static d_ioctl_t apmioctl;
-static d_kqfilter_t apmkqfilter;
-
-static struct dev_ops apm_ops = {
-       { "apm", 0, 0 },
-        .d_open = apmopen,
-        .d_close = apmclose,
-       .d_write = apmwrite,
-        .d_ioctl = apmioctl,
-       .d_kqfilter = apmkqfilter
-};
-
-static int
-acpi_capm_convert_battstate(struct  acpi_battinfo *battp)
-{
-       int     state;
-
-       state = 0xff;   /* XXX unknown */
-
-       if (battp->state & ACPI_BATT_STAT_DISCHARG) {
-               if (battp->cap >= 50)
-                       state = 0;      /* high */
-               else
-                       state = 1;      /* low */
-       }
-       if (battp->state & ACPI_BATT_STAT_CRITICAL)
-               state = 2;              /* critical */
-       if (battp->state & ACPI_BATT_STAT_CHARGING)
-               state = 3;              /* charging */
-
-       /* If still unknown, determine it based on the battery capacity. */
-       if (state == 0xff) {
-               if (battp->cap >= 50)
-                       state = 0;      /* high */
-               else
-                       state = 1;      /* low */
-       }
-
-       return (state);
-}
-
-static int
-acpi_capm_convert_battflags(struct  acpi_battinfo *battp)
-{
-       int     flags;
-
-       flags = 0;
-
-       if (battp->cap >= 50)
-               flags |= APM_BATT_HIGH;
-       else {
-               if (battp->state & ACPI_BATT_STAT_CRITICAL)
-                       flags |= APM_BATT_CRITICAL;
-               else
-                       flags |= APM_BATT_LOW;
-       }
-       if (battp->state & ACPI_BATT_STAT_CHARGING)
-               flags |= APM_BATT_CHARGING;
-       if (battp->state == ACPI_BATT_STAT_NOT_PRESENT)
-               flags = APM_BATT_NOT_PRESENT;
-
-       return (flags);
-}
-
-static int
-acpi_capm_get_info(apm_info_t aip)
-{
-       int     acline;
-       struct  acpi_battinfo batt;
-
-       aip->ai_infoversion = 1;
-       aip->ai_major       = 1;
-       aip->ai_minor       = 2;
-       aip->ai_status      = apm_active;
-       aip->ai_capabilities= 0xff00;   /* XXX unknown */
-
-       if (acpi_acad_get_acline(&acline))
-               aip->ai_acline = 0xff;          /* unknown */
-       else
-               aip->ai_acline = acline;        /* on/off */
-
-       if (acpi_battery_get_battinfo(NULL, &batt)) {
-               aip->ai_batt_stat = 0xff;       /* unknown */
-               aip->ai_batt_life = 0xff;       /* unknown */
-               aip->ai_batt_time = -1;         /* unknown */
-               aip->ai_batteries = 0;
-       } else {
-               aip->ai_batt_stat = acpi_capm_convert_battstate(&batt);
-               aip->ai_batt_life = batt.cap;
-               aip->ai_batt_time = (batt.min == -1) ? -1 : batt.min * 60;
-               aip->ai_batteries = acpi_battery_get_units();
-       }
-
-       return (0);
-}
-
-static int
-acpi_capm_get_pwstatus(apm_pwstatus_t app)
-{
-       device_t dev;
-       int     acline, unit, error;
-       struct  acpi_battinfo batt;
-
-       if (app->ap_device != PMDV_ALLDEV &&
-           (app->ap_device < PMDV_BATT0 || app->ap_device > PMDV_BATT_ALL))
-               return (1);
-
-       if (app->ap_device == PMDV_ALLDEV)
-               error = acpi_battery_get_battinfo(NULL, &batt);
-       else {
-               unit = app->ap_device - PMDV_BATT0;
-               dev = devclass_get_device(devclass_find("battery"), unit);
-               if (dev != NULL)
-                       error = acpi_battery_get_battinfo(dev, &batt);
-               else
-                       error = ENXIO;
-       }
-       if (error)
-               return (1);
-
-       app->ap_batt_stat = acpi_capm_convert_battstate(&batt);
-       app->ap_batt_flag = acpi_capm_convert_battflags(&batt);
-       app->ap_batt_life = batt.cap;
-       app->ap_batt_time = (batt.min == -1) ? -1 : batt.min * 60;
-
-       if (acpi_acad_get_acline(&acline))
-               app->ap_acline = 0xff;          /* unknown */
-       else
-               app->ap_acline = acline;        /* on/off */
-
-       return (0);
-}
-
-static int
-apmopen(struct dev_open_args *ap)
-{
-       return (0);
-}
-
-static int
-apmclose(struct dev_close_args *ap)
-{
-       return (0);
-}
-
-static int
-apmioctl(struct dev_ioctl_args *ap)
-{
-       int     error = 0;
-       struct  acpi_softc *acpi_sc;
-       struct apm_info info;
-       apm_info_old_t aiop;
-
-       acpi_sc = device_get_softc(acpi_dev);
-
-       switch (ap->a_cmd) {
-       case APMIO_SUSPEND:
-               if ((ap->a_fflag & FWRITE) == 0)
-                       return (EPERM);
-               if (apm_active)
-                       acpi_SetSleepState(acpi_sc, acpi_sc->acpi_suspend_sx);
-               else
-                       error = EINVAL;
-               break;
-       case APMIO_STANDBY:
-               if ((ap->a_fflag & FWRITE) == 0)
-                       return (EPERM);
-               if (apm_active)
-                       acpi_SetSleepState(acpi_sc, acpi_sc->acpi_standby_sx);
-               else
-                       error = EINVAL;
-               break;
-       case APMIO_GETINFO_OLD:
-               if (acpi_capm_get_info(&info))
-                       error = ENXIO;
-               aiop = (apm_info_old_t)ap->a_data;
-               aiop->ai_major = info.ai_major;
-               aiop->ai_minor = info.ai_minor;
-               aiop->ai_acline = info.ai_acline;
-               aiop->ai_batt_stat = info.ai_batt_stat;
-               aiop->ai_batt_life = info.ai_batt_life;
-               aiop->ai_status = info.ai_status;
-               break;
-       case APMIO_GETINFO:
-               if (acpi_capm_get_info((apm_info_t)ap->a_data))
-                       error = ENXIO;
-               break;
-       case APMIO_GETPWSTATUS:
-               if (acpi_capm_get_pwstatus((apm_pwstatus_t)ap->a_data))
-                       error = ENXIO;
-               break;
-       case APMIO_ENABLE:
-               if ((ap->a_fflag & FWRITE) == 0)
-                       return (EPERM);
-               apm_active = 1;
-               break;
-       case APMIO_DISABLE:
-               if ((ap->a_fflag & FWRITE) == 0)
-                       return (EPERM);
-               apm_active = 0;
-               break;
-       case APMIO_HALTCPU:
-               break;
-       case APMIO_NOTHALTCPU:
-               break;
-       case APMIO_DISPLAY:
-               if ((ap->a_fflag & FWRITE) == 0)
-                       return (EPERM);
-               break;
-       case APMIO_BIOS:
-               if ((ap->a_fflag & FWRITE) == 0)
-                       return (EPERM);
-               bzero(ap->a_data, sizeof(struct apm_bios_arg));
-               break;
-       default:
-               error = EINVAL;
-               break;
-       }
-
-       return (error);
-}
-
-static int
-apmwrite(struct dev_write_args *ap)
-{
-       return (ap->a_uio->uio_resid);
-}
-
-static void apmfilter_detach(struct knote *);
-static int apmfilter(struct knote *, long);
-
-static struct filterops apmfilterops =
-       { FILTEROP_ISFD, NULL, apmfilter_detach, apmfilter };
-
-static int
-apmkqfilter(struct dev_kqfilter_args *ap)
-{
-       struct knote *kn = ap->a_kn;
-
-       kn->kn_fop = &apmfilterops;
-       ap->a_result = 0;
-       return (0);
-}
-
-static void
-apmfilter_detach(struct knote *kn) {}
-
-static int
-apmfilter(struct knote *kn, long hint)
-{
-       return (0);
-}
-
-static void
-acpi_capm_init(struct acpi_softc *sc)
-{
-        make_dev(&apm_ops, 0, 0, 5, 0664, "apm");
-        make_dev(&apm_ops, 8, 0, 5, 0664, "apm");
-}
-
 int
 acpi_machdep_init(device_t dev)
 {
@@ -328,8 +58,6 @@ acpi_machdep_init(device_t dev)
        acpi_dev = dev;
        sc = device_get_softc(acpi_dev);
 
-       acpi_capm_init(sc);
-
        acpi_install_wakeup_handler(sc);
 
        if (ioapic_enable)
diff --git a/sys/platform/pc64/include/apm_bios.h b/sys/platform/pc64/include/apm_bios.h
deleted file mode 100644 (file)
index a436ad7..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * APM (Advanced Power Management) BIOS Device Driver
- *
- * Copyright (c) 1994-1995 by HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
- *
- * This software may be used, modified, copied, and distributed, in
- * both source and binary form provided that the above copyright and
- * these terms are retained. Under no circumstances is the author
- * responsible for the proper functioning of this software, nor does
- * the author assume any responsibility for damages incurred with its
- * use.
- *
- * Aug, 1994   Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
- *
- * $FreeBSD: src/sys/i386/include/apm_bios.h,v 1.27.2.2 2002/04/12 16:47:00 bmah Exp $
- * $DragonFly: src/sys/platform/pc32/include/apm_bios.h,v 1.5 2006/05/20 02:42:06 dillon Exp $
- */
-
-#ifndef        _MACHINE_APM_BIOS_H_
-#define        _MACHINE_APM_BIOS_H_
-
-#ifndef _SYS_TYPES_H_
-#include <sys/types.h>
-#endif
-#ifndef _SYS_IOCCOM_H_
-#include <sys/ioccom.h>
-#endif
-
-/* BIOS id */
-#define APM_BIOS               0x53
-#define APM_INT                        0x15
-
-/* APM flags */
-#define APM_16BIT_SUPPORT      0x01
-#define APM_32BIT_SUPPORT      0x02
-#define APM_CPUIDLE_SLOW       0x04
-#define APM_DISABLED           0x08
-#define APM_DISENGAGED         0x10
-
-/* APM initializer physical address */
-#define APM_OURADDR            0x00080000
-
-/* APM functions */
-#define APM_INSTCHECK          0x00
-#define APM_REALCONNECT                0x01
-#define APM_PROT16CONNECT      0x02
-#define APM_PROT32CONNECT      0x03
-#define APM_DISCONNECT         0x04
-#define APM_CPUIDLE            0x05
-#define APM_CPUBUSY            0x06
-#define APM_SETPWSTATE         0x07
-#define APM_ENABLEDISABLEPM    0x08
-#define APM_RESTOREDEFAULT     0x09
-#define        APM_GETPWSTATUS         0x0a
-#define APM_GETPMEVENT         0x0b
-#define APM_GETPWSTATE         0x0c
-#define APM_ENABLEDISABLEDPM   0x0d
-#define APM_DRVVERSION         0x0e
-#define APM_ENGAGEDISENGAGEPM  0x0f
-#define APM_GETCAPABILITIES    0x10
-#define APM_RESUMETIMER                0x11
-#define APM_RESUMEONRING       0x12
-#define APM_TIMERREQUESTS      0x13
-#define APM_OEMFUNC            0x80
-
-/* error code */
-#define APME_OK                        0x00
-#define APME_PMDISABLED                0x01
-#define APME_REALESTABLISHED   0x02
-#define APME_NOTCONNECTED      0x03
-#define APME_PROT16ESTABLISHED 0x05
-#define APME_PROT16NOTSUPPORTED        0x06
-#define APME_PROT32ESTABLISHED 0x07
-#define APME_PROT32NOTDUPPORTED        0x08
-#define APME_UNKNOWNDEVICEID   0x09
-#define APME_OUTOFRANGE                0x0a
-#define APME_NOTENGAGED                0x0b
-#define APME_CANTENTERSTATE    0x60
-#define APME_NOPMEVENT         0x80
-#define APME_NOAPMPRESENT      0x86
-
-
-/* device code */
-#define PMDV_APMBIOS           0x0000
-#define PMDV_ALLDEV            0x0001
-#define PMDV_DISP0             0x0100
-#define PMDV_DISP1             0x0101
-#define PMDV_DISPALL           0x01ff
-#define PMDV_2NDSTORAGE0       0x0200
-#define PMDV_2NDSTORAGE1       0x0201
-#define PMDV_2NDSTORAGE2       0x0202
-#define PMDV_2NDSTORAGE3       0x0203
-#define PMDV_PARALLEL0         0x0300
-#define PMDV_PARALLEL1         0x0301
-#define PMDV_SERIAL0           0x0400
-#define PMDV_SERIAL1           0x0401
-#define PMDV_SERIAL2           0x0402
-#define PMDV_SERIAL3           0x0403
-#define PMDV_SERIAL4           0x0404
-#define PMDV_SERIAL5           0x0405
-#define PMDV_SERIAL6           0x0406
-#define PMDV_SERIAL7           0x0407
-#define PMDV_NET0              0x0500
-#define PMDV_NET1              0x0501
-#define PMDV_NET2              0x0502
-#define PMDV_NET3              0x0503
-#define PMDV_PCMCIA0           0x0600
-#define PMDV_PCMCIA1           0x0601
-#define PMDV_PCMCIA2           0x0602
-#define PMDV_PCMCIA3           0x0603
-/* 0x0700 - 0x7fff     Reserved                        */
-#define PMDV_BATT_BASE         0x8000
-#define PMDV_BATT0             0x8001
-#define PMDV_BATT1             0x8002
-#define PMDV_BATT_ALL          0x80ff
-/* 0x8100 - 0xdfff     Reserved                        */
-/* 0xe000 - 0xefff     OEM-defined power device IDs    */
-/* 0xf000 - 0xffff     Reserved                        */
-
-/* Power state */
-#define PMST_APMENABLED                0x0000
-#define PMST_STANDBY           0x0001
-#define PMST_SUSPEND           0x0002
-#define PMST_OFF               0x0003
-#define PMST_LASTREQNOTIFY     0x0004
-#define PMST_LASTREQREJECT     0x0005
-/* 0x0006 - 0x001f     Reserved system states          */
-/* 0x0020 - 0x003f     OEM-defined system states       */
-/* 0x0040 - 0x007f     OEM-defined device states       */
-/* 0x0080 - 0xffff     Reserved device states          */
-
-#if !defined(ASSEMBLER) && !defined(INITIALIZER)
-
-/* C definitions */
-struct apmhook {
-       struct apmhook  *ah_next;
-       int             (*ah_fun) (void *ah_arg);
-       void            *ah_arg;
-       const char      *ah_name;
-       int             ah_order;
-};
-#define APM_HOOK_NONE          (-1)
-#define APM_HOOK_SUSPEND        0
-#define APM_HOOK_RESUME         1
-#define NAPM_HOOK               2
-
-#ifdef _KERNEL
-
-void apm_suspend(int state);
-struct apmhook *apm_hook_establish (int apmh, struct apmhook *);
-void apm_hook_disestablish (int apmh, struct apmhook *);
-void apm_cpu_idle(void);
-void apm_cpu_busy(void);
-
-#endif
-
-#endif /* !ASSEMBLER && !INITIALIZER */
-
-#define APM_MIN_ORDER          0x00
-#define APM_MID_ORDER          0x80
-#define APM_MAX_ORDER          0xff
-
-/* power management event code */
-#define PMEV_NOEVENT           0x0000
-#define PMEV_STANDBYREQ                0x0001
-#define PMEV_SUSPENDREQ                0x0002
-#define PMEV_NORMRESUME                0x0003
-#define PMEV_CRITRESUME                0x0004
-#define PMEV_BATTERYLOW                0x0005
-#define PMEV_POWERSTATECHANGE  0x0006
-#define PMEV_UPDATETIME                0x0007
-#define PMEV_CRITSUSPEND       0x0008
-#define PMEV_USERSTANDBYREQ    0x0009
-#define PMEV_USERSUSPENDREQ    0x000a
-#define PMEV_STANDBYRESUME     0x000b
-#define PMEV_CAPABILITIESCHANGE 0x000c
-/* 0x000d - 0x00ff     Reserved system events  */
-/* 0x0100 - 0x01ff     Reserved device events  */
-/* 0x0200 - 0x02ff     OEM-defined APM events  */
-/* 0x0300 - 0xffff     Reserved                */
-#define PMEV_DEFAULT           0xffffffff      /* used for customization */
-
-#if !defined(ASSEMBLER) && !defined(INITIALIZER)
-
-/*
- * Old apm_info structure, returned by the APMIO_GETINFO_OLD ioctl.  This
- * is for backward compatibility with old executables.
- */
-typedef struct apm_info_old {
-       u_int   ai_major;       /* APM major version */
-       u_int   ai_minor;       /* APM minor version */
-       u_int   ai_acline;      /* AC line status */
-       u_int   ai_batt_stat;   /* Battery status */
-       u_int   ai_batt_life;   /* Remaining battery life */
-       u_int   ai_status;      /* Status of APM support (enabled/disabled) */
-} *apm_info_old_t;
-
-/*
- * Structure returned by the APMIO_GETINFO ioctl.
- *
- * In the comments below, the parenthesized numbers indicate the minimum
- * value of ai_infoversion for which each field is valid.
- */
-typedef struct apm_info {
-       u_int   ai_infoversion; /* Indicates which fields are valid */
-       u_int   ai_major;       /* APM major version (0) */
-       u_int   ai_minor;       /* APM minor version (0) */
-       u_int   ai_acline;      /* AC line status (0) */
-       u_int   ai_batt_stat;   /* Battery status (0) */
-       u_int   ai_batt_life;   /* Remaining battery life in percent (0) */
-       int     ai_batt_time;   /* Remaining battery time in seconds (0) */
-       u_int   ai_status;      /* True if enabled (0) */
-       u_int   ai_batteries;   /* Number of batteries (1) */
-       u_int   ai_capabilities;/* APM Capabilities (1) */
-       u_int   ai_spare[6];    /* For future expansion */
-} *apm_info_t;
-
-/* Battery flag */
-#define APM_BATT_HIGH          0x01
-#define APM_BATT_LOW           0x02
-#define APM_BATT_CRITICAL      0x04
-#define APM_BATT_CHARGING      0x08
-#define APM_BATT_NOT_PRESENT   0x10
-#define APM_BATT_NO_SYSTEM     0x80
-
-typedef struct apm_pwstatus {
-       u_int   ap_device;      /* Device code of battery */
-       u_int   ap_acline;      /* AC line status (0) */
-       u_int   ap_batt_stat;   /* Battery status (0) */
-       u_int   ap_batt_flag;   /* Battery flag (0) */
-       u_int   ap_batt_life;   /* Remaining battery life in percent (0) */
-       int     ap_batt_time;   /* Remaining battery time in seconds (0) */
-} *apm_pwstatus_t;
-
-struct apm_bios_arg {
-        u_long eax;
-        u_long ebx;
-        u_long ecx;
-        u_long edx;
-        u_long esi;
-        u_long edi;
-};
-
-struct apm_event_info {
-       u_int type;
-       u_int index;
-       u_int spare[8];
-};
-
-#define APMIO_SUSPEND          _IO('P', 1)
-#define APMIO_GETINFO_OLD      _IOR('P', 2, struct apm_info_old)
-#define APMIO_ENABLE           _IO('P', 5)
-#define APMIO_DISABLE          _IO('P', 6)
-#define APMIO_HALTCPU          _IO('P', 7)
-#define APMIO_NOTHALTCPU       _IO('P', 8)
-#define APMIO_DISPLAY          _IOW('P', 9, int)
-#define APMIO_BIOS             _IOWR('P', 10, struct apm_bios_arg)
-#define APMIO_GETINFO          _IOR('P', 11, struct apm_info)
-#define APMIO_STANDBY          _IO('P', 12)
-#define APMIO_GETPWSTATUS      _IOWR('P', 13, struct apm_pwstatus)
-/* for /dev/apmctl */
-#define APMIO_NEXTEVENT                _IOR('A', 100, struct apm_event_info)
-#define APMIO_REJECTLASTREQ    _IO('P', 101)
-
-#endif /* !ASSEMBLER && !INITIALIZER */
-
-#endif /* !_MACHINE_APM_BIOS_H_ */
index 5e95603..db7240e 100644 (file)
@@ -160,7 +160,7 @@ typedef struct okeymap okeymap_t;
 #define META           0x84            /* meta key                     */
 #define RBT            0x85            /* boot machine                 */
 #define DBG            0x86            /* call debugger                */
-#define SUSP           0x87            /* suspend power (APM)          */
+#define SUSP           0x87            /* suspend power                */
 #define SPSC           0x88            /* toggle splash/text screen    */
 
 #define F_ACC          DGRA            /* first accent key             */
@@ -182,7 +182,7 @@ typedef struct okeymap okeymap_t;
 #define DCAR           0x97            /* caron                        */
 #define L_ACC          DCAR            /* last accent key              */
 
-#define STBY           0x98            /* Go into standby mode (apm)   */
+#define STBY           0x98            /* Go into standby mode         */
 #define PREV           0x99            /* switch to previous screen    */
 #define PNC            0x9a            /* force system panic */
 #define LSHA           0x9b            /* left shift key / alt lock    */
index e8f1f85..f69c71a 100644 (file)
  * 500104 - cfmakesane()
  * 500105 - _SC_LEVEL1_DCACHE_LINESIZE sysconf()
  * 500106 - %b and %r formats removal
+ * 500107 - <machine/apm_bios.h> removal
  */
 #undef __DragonFly_version
-#define __DragonFly_version 500106     /* propagated to newvers */
+#define __DragonFly_version 500107     /* propagated to newvers */
 
 #include <sys/_null.h>
 
index 179fc78..bec2799 100644 (file)
@@ -23,9 +23,8 @@
 .\" SUCH DAMAGE.
 .\"
 .\" $FreeBSD: src/usr.sbin/kbdcontrol/kbdmap.5,v 1.1.2.4 2001/08/01 12:01:28 sheldonh Exp $
-.\" $DragonFly: src/usr.sbin/kbdcontrol/kbdmap.5,v 1.2 2003/06/17 04:29:55 dillon Exp $
 .\"
-.Dd September 11, 2000
+.Dd February 22, 2018
 .Dt KBDMAP 5
 .Os
 .Sh NAME
@@ -225,7 +224,7 @@ and attempt to power it down.
 .It debug
 Call the debugger.
 .It susp
-Use APM to suspend power.
+Suspend power (unsupported).
 .It saver
 Activate screen saver
 by toggling between splash/text screen.