From owner-freebsd-acpi@FreeBSD.ORG Fri Jun 24 01:06:53 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 5748D16A41C for ; Fri, 24 Jun 2005 01:06:53 +0000 (GMT) (envelope-from Alex.Kovalenko@verizon.net) Received: from vms046pub.verizon.net (vms046pub.verizon.net [206.46.252.46]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3372443D1F for ; Fri, 24 Jun 2005 01:06:53 +0000 (GMT) (envelope-from Alex.Kovalenko@verizon.net) Received: from RabbitsDen ([70.18.160.160]) by vms046.mailsrvcs.net (Sun Java System Messaging Server 6.2 HotFix 0.04 (built Dec 24 2004)) with ESMTPA id <0IIK009XKDR54XT4@vms046.mailsrvcs.net> for freebsd-acpi@freebsd.org; Thu, 23 Jun 2005 20:06:42 -0500 (CDT) From: "Alexandre \"Sunny\" Kovalenko" In-reply-to: <42BB28BD.5080202@root.org> To: Nate Lawson Message-id: <1130461569.1345.6.camel@RabbitsDen> MIME-version: 1.0 X-Mailer: Evolution 2.2.3 FreeBSD GNOME Team Port Content-type: text/plain; charset=iso-8859-5 Content-transfer-encoding: 8BIT References: <7cd06a2d05062205331d03372c@mail.gmail.com> <7cd06a2d050623073452e3c3f9@mail.gmail.com> <1130426516.777.7.camel@RabbitsDen> <42BB28BD.5080202@root.org> 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: , Date: Fri, 24 Jun 2005 01:06:53 -0000 X-Original-Date: Thu, 27 Oct 2005 21:06:09 -0400 X-List-Received-Date: Fri, 24 Jun 2005 01:06:53 -0000 On Thu, 2005-06-23 at 14:25 -0700, Nate Lawson wrote: > 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. > Would you consider making ACx levels writeable while you are at that? It will make it much easier to implement thermal hysteresis from userland. -- Alexandre "Sunny" Kovalenko (Олександр Коваленко)