#
88c54b54 |
|
19-Jan-2014 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
kernel: Rework ppc (and m68k) atomic functions post-scheduler * Make atomic function more like current x86 * Remove fake fallback atomic code for ppc as hardware spinlocks exist
|
#
45bd7bb3 |
|
25-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed unnecessary inclusions of <boot/kernel_args.h> in private kernel headers and respectively added includes in source files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37259 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
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 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
|
#
85af525e |
|
07-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added missing call to __ppc_setup_system_time(). system_time() and real_time_clock[_usecs]() finally seem to work (at least in the kernel). * Removed accidentially committed debug output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15861 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e55e1a0e |
|
03-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/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
|
#
27ceaeac |
|
03-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Renamed arch_real_time_clock.c to arch_real_time_clock.cpp in anticipation of the things to come. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
88c54b548550f298727c450f2330cdfd59533ad9 |
|
19-Jan-2014 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
kernel: Rework ppc (and m68k) atomic functions post-scheduler * Make atomic function more like current x86 * Remove fake fallback atomic code for ppc as hardware spinlocks exist
|
#
45bd7bb3db9d9e4dcb02b89a3e7c2bf382c0a88c |
|
25-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed unnecessary inclusions of <boot/kernel_args.h> in private kernel headers and respectively added includes in source files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37259 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
262e0a636b40816127403066159df9c3e3791d9a |
|
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 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
|
#
85af525e59483211c65841380388d44a2b3e56f4 |
|
07-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added missing call to __ppc_setup_system_time(). system_time() and real_time_clock[_usecs]() finally seem to work (at least in the kernel). * Removed accidentially committed debug output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15861 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e55e1a0e666da61eb901533dae4af2ec44d216d8 |
|
03-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/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
|
#
27ceaeaccc56d2157aef0b809f6cb2adcc3de90a |
|
03-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Renamed arch_real_time_clock.c to arch_real_time_clock.cpp in anticipation of the things to come. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|