[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Proper creation of /dev/apm_bios



Thomas,

On Fri, Nov 01, 2002 at 02:46:29PM +0000, J.D. Hood wrote:
> The question was: Why does X need APM support in order
> to recover from a suspend-and-resume cycle?

Yes, and the short answer to this is that this is actually pointless. X
already receives VT_ACTIVATE and VT_DEACTIVATE events, which tell it to
reinitialize the hardware at the right point. Adding a hack for an
already dead standard doesn't help here.

> If the OS lacks APM support, then it is completely
> unaware of APM events such as suspending and resuming,

There are still the other PM standards, like ACPI on i386/ia64, the Mac
standard on PowerPC etc. That's why APM support will not help the
PowerPC people (in fact, nothing will; see below).

> which is implemented in firmware.  The OS can't switch
> from X to the console, because nothing tells it that
> a suspend is about to happen, or has happened.  So far
> as the OS is concerned, all that happens is that the
> real time clock jumps ahead.

Actually we have unified PM in the kernel now, which means that we have
a single routine which all PM modules will call on suspend. I'm going to
check back with the kernel code whether the VT switch still happens or
if that got lost in the transition to unified PM and if necessary, lobby
for its re-inclusion.

> Of course, because firmware rarely restores everything
> exactly to its pre-suspend state, some other things
> are different too ... and herein lies the cause of the
> hangs.

Which is the PowerPC problem. The init sequence for the graphics
hardware is a well-kept secret, so in fact the kernel would have to call
the firmware init, but for some reason (I'm not too deep into that) this
doesn't work.

> To cure the problem on powerpc it will not suffice
> to install the powermgmt-base package.  All that
> does (after getting the administrator's permission) is
> create /dev/apm_bios (via MAKEDEV) if the node doesn't
> exist already exist.  It also configures modutils 
> and devfs for APM.  But powermgmt-base doesn't add APM
> support to a kernel that lacks it.

Which would be complete and utter BS, since PPC doesn't have APM.

   Simon

-- 
GPG Fingerprint: 040E B5F7 84F1 4FBC CEAD  ADC6 18A0 CC8D 5706 A4B4

Attachment: pgp1mMB808dGB.pgp
Description: PGP signature


Reply to: