Jürgen Keil schrieb:
I wrote:
As far as I understand it, the tzmon_set_power() function
in usr/src/uts/i86pc/io/tzmon/tzmon.c is called to enable / disable "active cooling devices" (e.g. fans).

It should be called from tzmon_eval_zone().

I think we also need to find out if there are
multiple cooling levels defined in the acpi tables.

This can be printed from "mdb -k" with
  # mdb -k
  ...
  > *zone_list::list thermal_zone_t next | ::print thermal_zone_t


The interesting variables are the "ac" and "al" arrays,
and "current_level"...

bash-3.2$ pfexec mdb -k
Loading modules: [ unix genunix specfs dtrace mac cpu.generic uppc pcplusmp scsi_vhci zfs sd sockfs ip hook neti sctp arp usba uhci stmf nca fctl lofs random idm md cpc crypto smbsrv nfs fcip fcp logindmux nsctl sdbc ptm ufs sv ii sppp nsmb rdc ipc ]
> *zone_list::list thermal_zone_t next | ::print thermal_zone_t
{
    next = 0xd0054a80
    lock = {
        _opaque = [ 0, 0 ]
    }
    obj = 0xcea03c44
    taskq = 0xd19dee80
    zone_name = 0xd16a3c64
    ac = [ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff ]
    al = [
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
    ]
    crt = 0xe8a
    hot = 0xffffffff
    psl = {
        Length = 0x30
        Pointer = 0xd1195604
    }
    psv = 0xe5d
    tc1 = 0x5
    tc2 = 0x4
    tsp = 0x258
    tzp = 0xffffffff
    polling_period = 0x1e
    current_level = 0xffffffff
}
{
    next = 0
    lock = {
        _opaque = [ 0, 0 ]
    }
    obj = 0xcea03c8c
    taskq = 0xd19def20
    zone_name = 0xd16a3b54
    ac = [ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff ]
    al = [
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
        {
            Length = 0
            Pointer = 0
        }
    ]
    crt = 0xfa2
    hot = 0xffffffff
    psl = {
        Length = 0
        Pointer = 0
    }
    psv = 0xffffffff
    tc1 = 0xffffffff
    tc2 = 0xffffffff
    tsp = 0xffffffff
    tzp = 0xffffffff
    polling_period = 0x1e
    current_level = 0xffffffff
}
>
Both ac[] and al[] don't look this interesting to me...

Regards, Florian
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to