History log of /haiku/src/system/kernel/arch/arm/arch_asm.S
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>


# 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>


# 67406e51 03-Sep-2022 David Karoly <karolyd577@gmail.com>

kernel/arm: save FPU registers on context switch

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


# 6804f6c7 28-Feb-2022 David Karoly <karolyd577@gmail.com>

kernel/arm: implement entering userspace

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


# 95e97463 14-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel: add generic wrapper for accessing user memory

This patch adds user_access() which can be used to gracefully handle
page faults that may happen when accessing user memory. It is used
by arch_cpu_user{memcpy, memset, strlcpy}() to allow using optimized
functions from the standard library.

Currently only x64 uses this, but nothing really is arch specific here.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>


# eb92810e 07-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: fix arch_debug_call_with_fault_handler

This fixes the problem with KDL freaking out when doing a stacktrace
and having its fault handler triggered. Have no clue how this could
have worked before, but it did :P


# 1847d8c4 18-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: user_memcpy/memset/strlcpy: fix my horrible ARM assembly

Turns out I was way to green (and tired) last year to code this properly...
now they finally work and the kernel is a lot more stable for it.


# 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.....


# 672b2600 14-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: Fix compilation issue with new gas.

Turns out the new gas does not like spaces :(


# fda9d308 14-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: Fix compilation issue with new gas.

Turns out the new gas does not like spaces :(


# 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.


# 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.


# f8b47f2b 04-Nov-2012 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: fixup interrupt enable/disable/restore functions


# d10d4331 15-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Fix arch_int_are_interrupts_enabled().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32414 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


# 95e97463d265c9f4a6e43265ef0f1f63a0825b21 14-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel: add generic wrapper for accessing user memory

This patch adds user_access() which can be used to gracefully handle
page faults that may happen when accessing user memory. It is used
by arch_cpu_user{memcpy, memset, strlcpy}() to allow using optimized
functions from the standard library.

Currently only x64 uses this, but nothing really is arch specific here.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>


# eb92810edcbe694596e90aeb4cc5336e3e4f6ae5 07-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: fix arch_debug_call_with_fault_handler

This fixes the problem with KDL freaking out when doing a stacktrace
and having its fault handler triggered. Have no clue how this could
have worked before, but it did :P


# 1847d8c4860f0b13b4483c88d9c354fa3883f688 18-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: user_memcpy/memset/strlcpy: fix my horrible ARM assembly

Turns out I was way to green (and tired) last year to code this properly...
now they finally work and the kernel is a lot more stable for it.


# 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.....


# 672b2600bca6c06ecdeae9739b8141265f6afebe 14-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: Fix compilation issue with new gas.

Turns out the new gas does not like spaces :(


# fda9d308e1d9164720c0e7ecaff1ca20b80500fb 14-Sep-2013 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: Fix compilation issue with new gas.

Turns out the new gas does not like spaces :(


# 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.


# 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.


# f8b47f2b2a56299562a6264662957a82bec57b13 04-Nov-2012 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: fixup interrupt enable/disable/restore functions


# d10d43315bec53bdb8c47eb8841091e05821a845 15-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Fix arch_int_are_interrupts_enabled().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32414 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