From owner-freebsd-current@FreeBSD.ORG Tue Feb 1 16:58:40 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1EC1D16A4CE; Tue, 1 Feb 2005 16:58:40 +0000 (GMT) Received: from ylpvm01.prodigy.net (ylpvm01-ext.prodigy.net [207.115.57.32]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA76043D2D; Tue, 1 Feb 2005 16:58:39 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.34] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222])j11GwbvE028897; Tue, 1 Feb 2005 11:58:38 -0500 Message-ID: <41FFB53B.3020907@root.org> Date: Tue, 01 Feb 2005 08:58:35 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0RC1 (X11/20041205) X-Accept-Language: en-us, en MIME-Version: 1.0 To: current@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: acpi@freebsd.org Subject: New cpufreq framework and drivers X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Feb 2005 16:58:40 -0000 cpufreq is a framework for individual drivers to provide cpu power management and an interface for the user and other parts of the kernel to access that framework. Hardware drivers are of two types, absolute and relative. SpeedStep, Powernow, etc. are absolute drivers in that they set the cpu's base frequency. ACPI throttling, Longrun, etc. are relative drivers that reduce the processor's clock to a fraction of its current base (i.e., they have an additive effect.) The first release version of cpufreq only supports absolute drivers but the interface and framework have been tested with relative drivers. Existing relative drivers will continue to work with their current interfaces. Below is the first patch of cpufreq for wider testing. It has the framework, cpu pseudodriver updates, and two hardware drivers -- ACPI performance states and SpeedStep-ICH. It has had a lot of testing on supported hardware but needs wider testing before importing. Other hardware drivers can be quickly ported to this interface, and I'm happy to assist their maintainers. http://www.root.org/~nate/freebsd/cpufreq.diff -- Nate