|
|
 |
Published by Michael Lotz
Click here for more information about this publisher...
|
 |
|
Date Posted: |
October 25th, 2004
|
|
|
Last Updated: |
December 1st, 2005
|
|
|
License: |
See Below |
|
|
Downloads: |
4,850 total; 2 recently |
|
|
Page Views: |
70,518 total |
|
|
User Rating: |
 |
 |
|
9.42 / 10, with 31 votes |
|
Jump to the Downloads section |
|
 |
 |
About cpu_fix:
This is the cpu_fix driver that fixes timing and CPU reporting issues under BeOS R5 with CPUs faster than 2.1GHz. The driver applies to both, plain R5 and BONE kernels. There is also a version for Dano based systems like Zeta.
What can it do for me?
The driver can fix problems with clocks / videos / sounds running too fast. It can also help you if audio is playing fine, but the ends of songs are choped off. This is a problem mainly seen with P4 processors.
The reporting fix does patch the kernel so it reports the correct CPU speed to applications. This is useful on CPUs faster than 2.1GHz (P4s / Athlons) and fixes the display of negative CPU speeds. This also resolves the problem with the Media-Preference panel, where you can't select real-time audio and video because it thinks the system is running below 200MHz for example.
What version of this driver do I need?
If you run BeOS R5 (with or without BONE) you will need the normal "Binary for R5" version below.
For users of Dano based systems like Dano itself, Zeta and maybe PhOS, take the variation titled "Binary for Dano".
How did this driver get made?
This driver is based on two main sources:
The idea was derived from vwware_timer by François Revol.
The CPU detection routine was taken from the Haiku tree.
For the reporting patch, I was just diving into the kernel to identify the get_cpu_info function as being the one where the reporting error comes from. Then I had to refresh my knowledge of assembler to find an option to correct this error. It was a bit time consuming, but here you have the result: a mostly working and somewhat kernel independant patch.
How does it work?
If enabled, the driver fixes the cv_factor of the kernel by generating a correct one with the CPU detection function of the Haiku/NewOS kernel. The kernel variable holding the cv_factor is simply overwritten with the new value.
If the reporting patch is enabled, the driver patchs the get_cpu_info function by overwriting it with a version that handles the 64bit CPU speed value correctly.
Is it risky to install the driver?
The whole patching actually takes place at runtime and not like with other kernel patches directly on the binary. The kernel_intel file is not modified at all.
When the driver is loaded by the kernel, it simply overwrites some bytes in the RAM where the kernel is loaded.
That means it is not really risky to install this driver. If your system hangs or crashes, you can just select "Disable user add-ons" in the "Fail safe options" at the bootmenu (hit space as soon as you see the BeOS booting to get there).
How can I get rid of the driver?
If your system does not boot anymore, see the paragraph above on how to boot into safemode.
To uninstall the driver you can just delete the cpu_fix file in "/boot/home/config/add-ons/kernel/drivers/dev/disk" and reboot.
|
 |
|
 |
Binary for R5 |
 |
|
 |
 |
version 1.4 - BSD/MIT |
|
| |
 |
|
Variation description:
This is the binary distribution for BeOS R5. This is a SoftwareValet package for plain R5 and BONE kernels.
Details about this version:
Additionally fixes the system_time_base to avoid jumps in time.
|
| |
 |
|
Intel Version - requires R5 (6 KB) |
1,409 downloads |
|
 |
|
 |
 |
| |
|
|
| Add Additional Location |
 |
|
 |
|
| Source Available |
 |
 |
 |
 |
 |
 |
|
 |
Binary for Dano |
 |
|
 |
 |
version 1.4 Dano - BSD/MIT |
|
| |
 |
|
Variation description:
This package is for Dano based systems like Dano, Zeta and maybe PhOS.
Details about this version:
Additionally fixes the system_time_base to avoid jumps in time.
|
| |
 |
|
Intel Version - requires Zeta (5 KB) |
573 downloads |
|
 |
|
 |
 |
| |
|
|
| Add Additional Location |
 |
|
 |
|
| Source Available |
 |
 |
 |
 |
 |
 |
|
 |
Source |
 |
|
 |
 |
version 1.4 - BSD/MIT |
|
| |
 |
|
Variation description:
This is the source distribution of the cpu_fix driver. The sources are under the MIT. Feel free to do whatever you want with them.
Details about this version:
These are the current sources including both the R5 and Dano version of the driver.
|
| |
 |
|
Intel Version - requires R5 (11 KB) |
403 downloads |
|
 |
|
 |
 |
| |
|
|
| Add Additional Location |
 |
|
 |
|
| Source Included |
 |
 |
 |
 |
 |
Like this app? Have questions or comments?
Why not tell the author? Use the "e-mail publisher" link to get in touch with the publisher; they usually love getting feedback.
|
|
|