History log of /haiku/src/system/kernel/arch/arm/arch_cpu.cpp
Revision Date Author Comments
# b4c0589f 20-Jun-2023 David Karoly <karolyd577@gmail.com>

kernel/arm: remove unneeded call to get_commpage_image

Change-Id: Id978ebea32ea45500ed1f30f24eaeb0017487133
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6614
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 426dc0c7 20-Jun-2023 David Karoly <karolyd577@gmail.com>

kernel/arm: remove unneeded call to arch_thread_set_current_thread

Change-Id: I1026c733033458ed02fab9e9e61f041441e56d1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6615
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# c629d429 20-Jun-2023 David Karoly <karolyd577@gmail.com>

kernel/arm: remove unused barrier functions

Change-Id: I45c863c4ac027cc3ec5bb1922c22c58433603875
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6613
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 0aeb55c8 11-Mar-2023 David Karoly <karolyd577@gmail.com>

arm: remove unused variables from arch_kernel_args

Change-Id: Ice2be644142b646205648f44fb5bce5e9848e69d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6192
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Automation <automation@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>


# 181391c1 20-Jul-2016 François Revol <revol@free.fr>

ARM: Add TODO on barrier calls, we might need to do more here

They look suspiciously empty.


# 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


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

ARM: implement arch_cpu_user_memcpy/memset/strlcpy functions

Remove the dummies from the C code and implement them in assembly,
due to the label referencing issues with the fault handler.

This code is ripe for optimisation, my ARM assembly is pretty
basic ;)

Does work though, and gets us one step closer to a full arch.


# dc5a16bb 02-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Add TODO note with respect to needed asm implementations.


# 258d4ef9 26-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel arm: Quick style cleanup; No functional change


# 8bbaee61 13-Mar-2011 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Fix ARM kernel compilation

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


# 22e3bbdf 18-Oct-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Implement ARM TLB/cache functions
* General code cleanup...



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


# 23eafdaf 13-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
- stubbed out many arch kernel functions (borrowed from other archs),
- partially implement ELF relocations code, enough to load the kernel,
- move uart.c to kernel sources and use the same one for the loader,
- default implementation for gensyscalls,
- assembler code functions for interrupt masking (enable/disable/restore/query).


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


# 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


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

ARM: implement arch_cpu_user_memcpy/memset/strlcpy functions

Remove the dummies from the C code and implement them in assembly,
due to the label referencing issues with the fault handler.

This code is ripe for optimisation, my ARM assembly is pretty
basic ;)

Does work though, and gets us one step closer to a full arch.


# dc5a16bb70c95c64b1203682acf5a67e19b2b882 02-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Add TODO note with respect to needed asm implementations.


# 258d4ef93d3f51cef60b05d1c5ae418108b55782 26-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel arm: Quick style cleanup; No functional change


# 8bbaee6124dc0ff2f0b7cfdccb8bb361f7cffc64 13-Mar-2011 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Fix ARM kernel compilation

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


# 22e3bbdf9b283b6574651852557c0f10f13fa94e 18-Oct-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Implement ARM TLB/cache functions
* General code cleanup...



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


# 23eafdaf313f2e756170f6a543205311a4d9bc96 13-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
- stubbed out many arch kernel functions (borrowed from other archs),
- partially implement ELF relocations code, enough to load the kernel,
- move uart.c to kernel sources and use the same one for the loader,
- default implementation for gensyscalls,
- assembler code functions for interrupt masking (enable/disable/restore/query).


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