[lkml]   [2000]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectK6-2+ and MSR registers (PowerNOW)
Bought myself this new CPU that is mainly available for laptops.

I have Tyan S1590 board which BIOS won't POST if I set cpu speed (it's
500Mhz chip) >300Mhz. This won't matter much in windows since I can there
use graphical utility which allows one to set whe CPU clock multiplier in
flight as 2.0 - 6.0. But since my machine is Linux like 98% of the time
I'd like to do same in linux.

Things I have considered are. Do I need to recalculate BoGos? Do I need to
reserve the IO space to access it from user space.

what I have tried basically (in user space and kernel space) is

mov ecx, 0c0000086h
mov edx, 0
mov eax, 0fff1h

which is supposed to turn on the powernow feature and set the I/O access
region to 0xfff0 (and 16 bytes upwards actual 4 byte informational block
being at +8 offset) where one can change clock multiplier and do other

however access to io region 0xfff0-0xffff remains denied for me in
userspace. In kernel I read it with inw(addr) and there I just get data
that cannot be correct. (it returns ffff)

If someone knows how to read / write MSR registers and high IO ports in
userlevel I'd be thankful for a hint. also RTFM or RTFC pointers are

I have read IO howto and iopl() doesn't work.

In the end it would be nice to do proc entry or user space program that
allows one to [sg]et cpu speed and other PowerNOW properties.

references: mobile amd-k6-2+ processor datasheet 23446.pdf by AMD

I'd appriciate if possible answers could be also CC'd to me.

Janne Pänkälä

echo peufiuhu@tt.lac.nk | tr acefhiklnptu utpnlkihfeca

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:51    [W:0.036 / U:13.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site