Dell Inspiron 8600

Igor Partola ipartola at pisem.net
Mon Dec 13 01:11:58 PST 2004


Nate Lawson wrote:

> Igor Partola wrote:
>
>> Nate Lawson wrote:
>>
>>>
>>> Yes, this is a deficiency in the current usermode interface.  If you 
>>> look at my web page, I have a description of how to fix this if 
>>> someone wants to do it.  It includes implementing the /dev/apm 
>>> suspend/standby compatibility ioctls including a timeout interface.  
>>> See the "Implement X suspend/resume notification" section below.
>>>
>>> http://www.root.org/~nate/freebsd/acpi-todo.html
>>>
>> That's a deficiency in the X server though isn't it? Without X 
>> running this fix would do no good. I thought the problem was in 
>> either the kernel ACPI implementation or in devd.
>>
>> I do not claim to be in any degree an expert in this though since I 
>> am not at all familiar with the inner workings of either. I'm just 
>> trying to set up this laptop to work nicely with FreeBSD. :).
>
>
> If I hook up suspend/resume events to just go out devd, there's no 
> guarantee your usermode code would get run before the system suspends 
> since devd is not blocking.  By implementing the ioctl, we could 
> depend on apmd running rc.suspend/resume before allowing the requested 
> action to continue.  It has the side effect that another usermode 
> program (X), can also sit blocking the suspend path but multiple 
> control programs (apmd, X) would require device cloning or BPF-style 
> /dev/apm0, 1, 2, ... and the kernel would not be allowed to suspend 
> until everyone voted "yes".  As you can see, this requires some 
> thinking and implementation work and I'd be happy if someone wanted to 
> do it.
>
I really wish I could help with this... but programming is more of a 
hobby for me and after I looked at the bsd_apm.c and other stuff I still 
have very little (more like theoretical) idea of how to implement this. 
Is there some kind of a manual on FreeBSD kernel/ACPI hacking that I 
should read to make things more clear?

Aparently knowing some C just isn't enough to write my own code but if 
there is any material that would help, I'm ready to read it (a couple of 
times of course).

Respect,
Igor


More information about the freebsd-acpi mailing list