Menu

Tree [56da8f] master /
 History

HTTPS access


File Date Author Commit
 .gitignore 2012-01-28 thierrygoubier thierrygoubier [56da8f] Documentation
 Makefile 2012-01-22 thierrygoubier thierrygoubier [ae2abb] Removed debugging, added optimisations
 README 2012-01-28 thierrygoubier thierrygoubier [56da8f] Documentation
 README.fr 2012-01-22 thierrygoubier thierrygoubier [05776b] Documentation
 gpl.txt 2011-05-05 Thierry Goubier Thierry Goubier [d73a9f] Initial commit, source code already tested on l...
 undervolt.c 2012-01-22 thierrygoubier thierrygoubier [27d5e2] Added 64bits file offsets for 32bits support

Read Me

README: undervolt

A tool for manipulating voltage and frequency of AMD Brazos and Ontario CPUs, to undervolt and / or underclock (overclock should be possible, but is not tested). Targets C-30, C-50, C-60, E-240, E-300, E-350, E-450. Linux-based.

Release Notes :

0.4
	32bits support / Finally.
	32/64 bits portability
	C-60 support
	Documentation
	Support clock (frequency) changes

REQUIREMENTS

gcc, make, this archive

COMPILATION

Just execute make in the undervolt-code directory
$ make

USE: undervolting

Load the msr module
$ modprobe msr

Read the cpu Pstates
$ sudo undervolt -c
P-state		Vid		Voltage		div
  0		0x18		1.2500V		2.00
  1		0x1A		1.2250V		2.50
  2		0x33		0.9125V		4.00

Pstate by pstate, increase the Vid and check that your system doesn't lock-up :
$ sudo undervolt -P 0:0x19
(change the Vid for mode P0 to 0x19)
Check that the changes have been applied (you may need the system to go from idle to active and back, that is change P-states, for the changes to apply).
$ sudo undervolt -c
CPU 0: current P-state: 0, current Vid: 0x19/1.2375V, current div: 2.00
CPU 1: current P-state: 2, current Vid: 0x19/1.2375V, current div: 4.00

Continue until you reach a reasonable target (no lock ups). Record the values, and arrange for undervolt to be called at startup, by, for example, adding the following two lines to your /etc/rc.local :

modprobe msr
pathToUndervolt/undervolt -p 0:<yourValueForP0> -p 1:<yourValueForP1> -p 2:<yourValueForP2>