From owner-freebsd-acpi@FreeBSD.ORG Thu Jun 23 21:30:28 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 45A1816A41C for ; Thu, 23 Jun 2005 21:30:28 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 151B143D1D for ; Thu, 23 Jun 2005 21:30:28 +0000 (GMT) (envelope-from nate@root.org) Received: from [172.16.7.47] (pl114.nas941.n-yokohama.nttpc.ne.jp [61.197.90.178]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id j5NLUPqc005785 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 23 Jun 2005 14:30:26 -0700 Message-ID: <42BB28BD.5080202@root.org> Date: Thu, 23 Jun 2005 14:25:17 -0700 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Alexandre \"Sunny\" Kovalenko" References: <7cd06a2d05062205331d03372c@mail.gmail.com> <7cd06a2d050623073452e3c3f9@mail.gmail.com> <1130426516.777.7.camel@RabbitsDen> In-Reply-To: <1130426516.777.7.camel@RabbitsDen> Content-Type: text/plain; charset=ISO-8859-5; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org, Matthew Flanagan Subject: Re: Changing temperature threshold X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jun 2005 21:30:28 -0000 Alexandre "Sunny" Kovalenko wrote: >>When I try to raise hw.acpi.thermal.tz0._CRT to 85C (which is the >>threshold in the BIOS setup) it doesn't work: >> >>bell# sysctl hw.acpi.thermal.tz0._CRT=3580 # 3580 tenths of Kelvin=85C >>sysctl: oid 'hw.acpi.thermal.tz0._CRT' is read only >> >>Now, my question is: how do I change this value? I've read several >>manpages (acpi(4), acpi_thermal(4), acpiconf(8), loader(8), and many >>others) and checked the handbook, to no avail. Can anyone point me >>to the right direction? > > One of the ways to deal with that would be to dump your ASL (see > Handbook for guidance), find lines which look like: > Method (_CRT, 0, NotSerialized) > { > Return (KELV (0x5d)) > } > modify them to your liking, compile ASL and override it during boot > (instructions on how to compile and override are in Handbook as well). > Please, note that actual value returned is in the 1/10th of the degree > of Kelvin. Function KELV above has following ASL code associated with > it: > Method (KELV, 1, NotSerialized) > { > Store (Arg0, Local1) > Multiply (0x0A, Local1, Local1) > Add (Local1, 0x0AAC, Local1) > Return (Local1) > } > Thermal management chapter of the ACPI specification should provide you > with ample explanation of what this is all about. This explanation is correct. The reason why the sysctl is read-only is because the values are supplied by the BIOS and are what the OEM thinks are critical temperatures. However, we need a way to allow override in the case of obviously wrong values like this. I'll probably change it to allow overriding from the loader but be read-only in sysctl to avoid accidental changes from users experimenting. -- Nate