History log of /haiku/src/system/kernel/arch/ppc/arch_real_time_clock.cpp
Revision Date Author Comments
# 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