Date: Sun, 14 Feb 1999 14:02:06 -0700 From: Warner Losh <imp@village.org> To: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org> Cc: Valentin Shopov <valsho@yahoo.com>, mobile@FreeBSD.ORG, Nate Williams <nate@mt.sri.com> Subject: Re: apm & current Message-ID: <199902142102.OAA32088@harmony.village.org> In-Reply-To: Your message of "Mon, 15 Feb 1999 01:43:35 %2B0900." <199902141646.BAA21353@tasogare.imasy.or.jp> References: <199902141646.BAA21353@tasogare.imasy.or.jp> <19990213153958.2977.rocketmail@send1e.yahoomail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <199902141646.BAA21353@tasogare.imasy.or.jp> Mitsuru IWASAKI writes: : I already noticed that this problem happens on some old laptops which has : apm v1.1 or 1.0 (Sotec WinBookPro DX4/100, DEC HiNote Ultra II, etc.). : -current/-stable apm(8) try to call APM v1.2 BIOS functions : (e.g. APM_RESUMETIMER) without version checking. : Some of the old APM BIOSes, however, can make kernel panic when recieved : unkown APM BIOS functions. : In /sys/i386/apm/apm.c, apm_get_info() has the same problem : (APM_GETCAPABILITIES), therefore xbatt also will cause the same trouble. : : So, now I'm going to commit version checking code just before : calling apm_bios_call() in /sys/i386/apm/apm.c into PAO3 CVS repository. These patches look basically good. I'll integrate them when I have a chance. : Adding to this, I noticed many other problems in apm code, such as : - Fixed segment description for APM. The limit granularity should be : specified in bytes, not pages. This looks good. : - Try to limit the number of apm_bios_call() executing to only one : at the same time, watching busy state made by previous call and : waiting if necessary. I wonder how this can happen, but it couldn't hurt. : - Made apm_suspend() and apm_standby() be invoked by apm_timeout() in order to : obtain stablities. What stabilities are these? I'm curious. : - Added adjustment for segment size limits informed by APM BIOS. Following : patch for apm_init.S and make in /sys/i386/apm/apm_init/ to generate : apm_init.inc are required if VM86 isn't enabled in your kernel. These look good to me. I'll also have to take a look at the PAO3 CVS tree... Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902142102.OAA32088>