diff --git a/sys/i386/bios/apm.c b/sys/i386/bios/apm.c index 768bd06fa0e..4aeedd13d65 100644 --- a/sys/i386/bios/apm.c +++ b/sys/i386/bios/apm.c @@ -675,11 +675,11 @@ apm_get_info(apm_info_t aip) sc->bios.r.ecx = 0; sc->bios.r.edx = 0; if (apm_bioscall()) { - aip->ai_batteries = -1; /* Unknown */ + aip->ai_batteries = 0xffffffff; /* Unknown */ aip->ai_capabilities = 0xff00; /* Unknown, with no bits set */ } else { aip->ai_batteries = sc->bios.r.ebx & 0xff; - aip->ai_capabilities = sc->bios.r.ecx & 0xf; + aip->ai_capabilities = sc->bios.r.ecx & 0xff; } bzero(aip->ai_spare, sizeof aip->ai_spare); diff --git a/sys/i386/bios/apm.h b/sys/i386/bios/apm.h index 038d7d8cfb1..660b42c9813 100644 --- a/sys/i386/bios/apm.h +++ b/sys/i386/bios/apm.h @@ -20,6 +20,7 @@ #define APM_NEVENTS 16 #define APM_NPMEV 13 +#define APM_UNKNOWN 0xff /* static data */ struct apm_softc {