History log of /haiku/headers/private/kernel/arch/arm/arch_cpu.h
Revision Date Author Comments
# 6c58b765 09-May-2023 David Karoly <karolyd577@gmail.com>

kernel/arm: use inline functions for accessing coproc registers

Change-Id: I626ef5722f4ae043de9e8b0c37dbde97ac0513be
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6422
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 19537d01 07-May-2023 David Karoly <karolyd577@gmail.com>

kernel/arm: adjust function names for getting/setting SCTLR

Change-Id: I28d6101c772a5065beec5af20f6d2a0c1855ae6c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6421
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: David Karoly <karolyd577@gmail.com>


# 60b19d7e 17-Mar-2023 David Karoly <karolyd577@gmail.com>

kernel/arm: implement signals, fork, restart syscall

Change-Id: I24219b83d90710ef719190183ba6f069f82dae61
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6198
Tested-by: Automation <automation@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 17569c02 04-Sep-2022 David Karoly <karolyd577@gmail.com>

kernel/arm: clean up arch-specific defines

* align fault syndrome and fault address register naming with
ARM Architecture Reference Manual (i.e. IFSR, DFSR, IFAR, DFAR)
* move PSR bitfield defines to arch_cpu_defs.h

Change-Id: I813045eec335ffbdd75270ad5a1afb2f222f73c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5618
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 83f755b5 23-Apr-2022 David Karoly <karolyd577@gmail.com>

kernel/arm: add memory barriers for page table ops

Introduce memory barriers according to ARMARM,
section G.5.3 TLB maintenance operations and barriers

Sequence for mapping memory in (both L1 and L2):
* DSB
* Invalidate i-cache (TODO)
* Insert new entry in page directory / page table
* DSB
* ISB

Sequence for mapping memory out:
* Remove page table entry
* DSB
* Invalidate TLB entry
* DSB
* ISB

Sequence for updating a page table entry:
* Update page table entry
* DSB
* Invalidate TLB entry
* Invalidate branch predictor (TODO)
* DSB
* ISB

Note: i-cache invalidation and branch predictor invalidation is
not implemented yet as this commit focuses on implementing memory
barriers.

Change-Id: I192fa80f6b43117236a4be6fa8c988afca90e015
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5241
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>


# 47a21c5c 30-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

s/Haiku License/MIT License/g.

They are the same thing.


# b313d63e 19-Jun-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/atomics: Move cpu-specific memory barriers to arch_cpu

* Now matches the rest of the architectures.

Change-Id: I6699e0c8f729923770f136f2c9599185a685336a
Reviewed-on: https://review.haiku-os.org/c/1527
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# 66fa3b18 31-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: Add set_clac and clear_ac() definitions on non-x86 platforms.


# 4a2260f2 13-Jun-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Let the bootloader know about ARMv7.

When an ARMv7 CPU is detected, immediately turn on the FPU. This allows
us to use vsnprintf in the TRACE call in that function, as our libc is
compiled with floating point support and will trigger a fault if the FPU
is not available.

This lets the boot go further, and crash in mmu_init. Next steps:
* Find why mmu_init is crashing
* Setup some fault handlers, otherwise we call uboot ones, and they are
not very helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is
enabled...


# 35171b07 12-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Miscellaneous build fixes

* Use atomic_get_and_set for return value
* Atomics are no longer volatile
* Add missing arch_cpu_pause stub
* Move arch_cpu_idle to arch_cpu header to match
other architectures


# 524bea35 19-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel: fix missing cpu cache defines non-x86

* Regression introduced due to scheduler change
* Other other non-x86, non-ppc, and non-arm platforms
need evalulated for this metric


# cc65466f 17-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: Make KDL more useful on ARM

This adds the -mapcs-frame compiler flag for ARM to have "stable"
stack frames, adds support to the kernel for dumping stack crawls,
and initial support for iframes. There' much more functionality
to unlock in KDL, but this makes debugging already a lot more
comfortable.....


# 1df5784a 12-Nov-2012 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: Add ARM architecture detection to generic bootloader ARM code.

This detects everything up to ARMv6 right now. Need to check more
recent ARM ARMs for ARMv7 detection.

The detected details get passed on to the kernel, which can use
the pre-detected info for selecting right pagetable format and such.

Copyright removal of Axel done after agreement with Axel @ BeGeistert
that for files that were copy/pasted from x86 arch and then fully
replaced the implementation, removal of original copyright holder is
allowed, since their actual code is gone ;)


# f86b5828 06-Nov-2012 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: Cleanup of port support code.

This also implements the fault handler correctly now, and cleans up the
exception handling. Seems a lot more stable now, no unexpected panics or
faults happening anymore.


# e59aab09 14-Mar-2011 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

ARM: Some header cleanup in preperation of more CPU support code...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40948 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb1325a3 27-Jul-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Placeholder private headers for the kernel and libroot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31820 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4a2260f21ae708afb64c2bf13dd2ed4bd58705ea 13-Jun-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Let the bootloader know about ARMv7.

When an ARMv7 CPU is detected, immediately turn on the FPU. This allows
us to use vsnprintf in the TRACE call in that function, as our libc is
compiled with floating point support and will trigger a fault if the FPU
is not available.

This lets the boot go further, and crash in mmu_init. Next steps:
* Find why mmu_init is crashing
* Setup some fault handlers, otherwise we call uboot ones, and they are
not very helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is
enabled...


# 35171b073dc15f5d6a487135787f82a8484ab0ed 12-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Miscellaneous build fixes

* Use atomic_get_and_set for return value
* Atomics are no longer volatile
* Add missing arch_cpu_pause stub
* Move arch_cpu_idle to arch_cpu header to match
other architectures


# 524bea3553f914523ef7bbf4bbb66ef85a3336fc 19-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel: fix missing cpu cache defines non-x86

* Regression introduced due to scheduler change
* Other other non-x86, non-ppc, and non-arm platforms
need evalulated for this metric


# cc65466f0de34d946d9311517f4e7781b7294ef8 17-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: Make KDL more useful on ARM

This adds the -mapcs-frame compiler flag for ARM to have "stable"
stack frames, adds support to the kernel for dumping stack crawls,
and initial support for iframes. There' much more functionality
to unlock in KDL, but this makes debugging already a lot more
comfortable.....


# 1df5784a22ff1783bb42fbcb63cb86b9965237a1 12-Nov-2012 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: Add ARM architecture detection to generic bootloader ARM code.

This detects everything up to ARMv6 right now. Need to check more
recent ARM ARMs for ARMv7 detection.

The detected details get passed on to the kernel, which can use
the pre-detected info for selecting right pagetable format and such.

Copyright removal of Axel done after agreement with Axel @ BeGeistert
that for files that were copy/pasted from x86 arch and then fully
replaced the implementation, removal of original copyright holder is
allowed, since their actual code is gone ;)


# f86b5828486b661145eb15952ec14648c9bb8d9b 06-Nov-2012 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: Cleanup of port support code.

This also implements the fault handler correctly now, and cleans up the
exception handling. Seems a lot more stable now, no unexpected panics or
faults happening anymore.


# e59aab09811bcf32d102e7b285813e82b6dd0f2d 14-Mar-2011 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

ARM: Some header cleanup in preperation of more CPU support code...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40948 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb1325a30e94bf61d29fd324a53625253050d56c 27-Jul-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Placeholder private headers for the kernel and libroot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31820 a95241bf-73f2-0310-859d-f6bbb57e9c96