Messages in this thread | | | From | Stephen.Rothwell@canb ... | Subject | Re: Laptops (APM) & 0040 crashes | Date | Sun, 01 Feb 1998 03:19:14 +1100 |
| |
Hi John,
John Goerzen <jgoerzen@southwind.net> writes: > > The other day, I reported to linux-kernel a kernel oops in 2.0.33 that > was a protection fault at 0040 during boot. Upon further > investigation, it appears that the Debian boot disks do not suffer > from this problem.
They probably don't have APM enabled in their kernel.
> Today, I stumbled across the following in the configure help for APM: > > because they don't have compliant BIOSes. Many "green" desktop > machines also don't have compliant BIOSes, and this driver will > cause those machines to panic during the boot phase (typically, > these machines are using a data segment of 0040, which is reserved > for the Linux kernel). If you get random kernel OOPSes that don't
The message above is a little misleading, the real point is that the BIOS is using data segment 0x40 which is not a valid segment descriptor for Linux. It is a valid segment offset in real mode, but Linux is running in protected mode where access to this value as a segment descriptor is illegal. The BIOS is buggy!
> My laptop is an IBM Thinkpad 310ED (I believe this model was > introduced last fall. It is a P133 MMX). I am getting protection > faults at 0040. Is it possible to make the Linux kernel use a > different location for whatever it is trying to store at 0040? Would > one of the exclude kernel parameters that I seem to recall hearing > about at one time fix this, and if so, what exactly should I exclude? > (How much RAM, etc.)
See above - it is not that simple.
> I am suspecting that this problem is why I cannot suspend or hibernate > my laptop under Linux. It will do either of those fine under bare DOS > (no config.sys, autoexec.bat, etc) or Windows.
DOS runs in real mode.
> Further, it seems that apm_bios.c in even 2.1.82 was last updated in > 1996 -- and there may well be more laptops appearing since then that > may need special support. Is anybody still working on the APM driver? > It seems somewhat out of date.
OK, there is not much work going on with the APM driver for various reasons - the biggy being that APM is now defunct :-( There is a new API for doing power management that I know nothing about (yet). Also there have not been any major revisions of teh APM BIOS specifiation anyway.
I think the only solution is to complain to IBM and get it fixed. There may already be an updated BIOS available (I don't know).
Cheers, Stephen -- Stephen Rothwell Stephen.Rothwell@canb.auug.org.au
| |