So I finally found out why my new 1.2GHz VIA motherboard was running at 400MHz, and how to change it. I’ve been through all of the on-line and paper documentation, and confirmed that this is documented exactly nowhere.
How is it done? Get this:
The processor speed is displayed for a fraction of a second then the BIOS initialises, just before the memory type is displayed – but only if you’ve changed the defaults not to show the default boot image. It is then shown again on the System Summary screen just before the machine boots – but the only way to see this is to hammer the Pause and space keys to catch the sequence before it has scrolled off-screen.
The BIOS Setup program itself doesn’t document the CPU speed, or allow it to be changed in any obvious way.
However if you select “Load Defaults” from the BIOS Setup, your machine is locked at 400MHz. If you select “Load Optimised Defaults”, then it’s locked at 1.2GHz!
Although this sorta makes sense in a twisted way, how is anyone supposed to know if you don’t tell them??
(Now I’m thinking of Dr. Strangelove ;))
The EN15000G, incidentally, runs at 800MHz or 1.5GHz.
The Linux Longhaul driver was removed from 2.6.17 on the basis of being terminally broken. Apparently, due to hardware dis-design, the C3 (and presumably C7) processors lose track of interrupts during the (non-atomic) speed transition – guaranteeing that, sooner or later, the kernel will hard-lock during a transition, or soon after. <sigh>
Update: The Longhaul driver is back in 2.6.18! Unfortunately, the Marvell sata_mv driver is broken (it causes oopses on load and when running hdparm, then hangs on I/O) so I’ve not been able to test it.