#
262e0a63 |
| 07-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We use the same strategy for computing the system time as on x86 now. The time base conversion factor is the 32 bit value 2^32 * 1000000 / time base frequency, so the system time can be computed by
We use the same strategy for computing the system time as on x86 now. The time base conversion factor is the 32 bit value 2^32 * 1000000 / time base frequency, so the system time can be computed by system time = time base * conversion factor / 2^32. The expression in system_time() looks more complicated now, but is actually much faster (factor 2.5 on my Mac mini). I'm positively surprised, how good the assembly looks, that GCC 4 generates. There's not that much potential for optimization by hand-coding the function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15863 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
e55e1a0e |
| 04-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented the PPC specific RTC support. We search for an "rtc" device in the Open Firmware implementation of boot loader and pass its path to the kernel, where it's opened and used for getting/sett
Implemented the PPC specific RTC support. We search for an "rtc" device in the Open Firmware implementation of boot loader and pass its path to the kernel, where it's opened and used for getting/setting the real time. The expensive atomic_*64() on PPC 32-bit make things a bit more complicated. Moreover, missing 64 bit multiplication and division instructions won't really allow system_time() to be anywhere near as fast as on x86. :-/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15837 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|