History log of /haiku/src/system/kernel/arch/arm/Jamfile
Revision Date Author Comments
# e942269a 12-Dec-2022 X512 <danger_mail@list.ru>

pci: generic MSI interrupts support

Change-Id: Ib4fd23f6bca867a2b428bf2651234d719ee08672
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6221
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


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


# 0f26acc8 17-Aug-2022 David Karoly <karolyd577@gmail.com>

arm: reuse generic PCI implementation

Change-Id: If69c7e3779dade16cfc8c0af2a0b963f1f646169
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5561
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>


# bdce546c 30-Jul-2022 David Karoly <karolyd577@gmail.com>

kernel/arm: implement generic timer

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


# ab52604b 06-Jul-2022 Máximo Castañeda <antiswen@yahoo.es>

arm syscalls: add explicit dependency

Some syscall headers are generated during the build process, and jam is
not smart enough to add an automatic dependency.

Change-Id: I7c19da7aca9da4a52c4537a5f5c279fdbe24a48a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5435
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# cda13c63 14-Mar-2022 Adrien Destugues <pulkomandy@pulkomandy.tk>

ARM: add support for Allwinner A10 interrupt controller

Untested so far.

Change-Id: I3453115599cf2112858a194173212401ae4ac1b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5104
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: David Karoly <karolyd577@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 36d65a78 02-Dec-2021 David Karoly <karolyd577@gmail.com>

kernel/arch/arm/int: add initialization code for GICv2

Change-Id: I4f98a4e0277ce37e758cabbb04806cf13f351f1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4674
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 7aa55747 30-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

kernel & addons: Build with the non-legacy GCC even on x86_gcc2h.

Only one code change: for some reason, GCC chokes on the cr3 functions
as macros (throwing errors about invalid registers.) The BSDs have them
as inline functions instead, so they are converted to that here.

Tested and working. There seems to be about a 10% decrease in CPU time
on some compilation benchmarks that I briefly tried.

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


# 7068c454 04-Sep-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

system/uart: refactor debug_uart, fix arm uart

* Drop ArchUART8260 layer to reduce complexity. It's whole
existance in life was to adjust the mmio alignment.
* Fold architecture mmio alignment into DebugUart
* We could potentially pass a Init(int mmioAlignment)
arg in the future if the macros get too messy.
* Move Barrier code back a layer into DebugUART
* Fixes the arm uart and EFI build

Change-Id: I0f127d902993e9f6e6a03cac8c7c37c0363134bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4422
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 5d0fd0e4 05-Aug-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

fdt: Major over-haul of fdt

* Consolidate all fdt code into fdt bus_manager
* Build boot and kernel static libraries

Change-Id: I2a69cd7e1f1276999a80734ff12918fd49b599e5
Reviewed-on: https://review.haiku-os.org/440
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>


# a42249db 20-Nov-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Add 8250 omap variant uart driver

* Untested, someone with an omap3,4,5 could though.


# 1b3c81fe 10-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot: Fix mmc build without target boards


# a52dd58d 31-Oct-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: introduce SoC abstraction

This introduces InterruptController and HardwareTimer classes to
handle the SoC specific implementations of timers and ints for
the ARM platform.

These could be improved and moved to a more 'generic' level once
we're confident they are 'good enough'.

NOTE: The OMAP timer implementation is fully untested and probably
completely non-functional....


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

ARM: sync up VM code with x86

No big functional reason for this, but rather keep it in sync now
then have to do lots of work later on, when there are major changes.
Once I have it fully fleshed out for ARM, I might take a look if
we can generalise it a little more, as there's lots of code
_exactly_ the same for both platforms (and other platforms in
progress using the same code).


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

ARM: kernel: Make 32/64-bit atomics work for ARMv5/6

Support for 64-bit atomic operations for ARMv7+ is currently stubbed
out in libroot, but our current targets do not use it anyway.

We now select atomics-as-syscalls automatically based on the ARM
architecture we're building for. The intent is to do away with
most of the board specifics (at the very least on the kernel side)
and just specify the lowest ARMvX version you want to build for.

This will give flexibility in being able to distribute a single
image for a wide range of devices, and building a tuned system
for one specific core type.


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

ARM: Initial implementation of interrupt/exception handling.

This contains both the common ARM(v5) vector handling as well as
the PXA(verdex) specific interrupt controller code, to be seperated
when ARM support for FDT is implemented.

Functional enough to handle interrupts, needs work on KDL support.


# da80a050 02-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Preparation for merge of x86 and x86_64 kernel sources.

Since x86 and x86_64 share a lot of common code, x86_64 kernel sources/headers
are going to reside under headers/private/kernel/arch/x86 and
src/system/kernel/arch/x86 along with the existing x86 code. This commit
changes the build system to handle this. A new variable, TARGET_KERNEL_ARCH,
has been added. This is the name of the kernel/boot architecture directory
name, set to x86 on both x86 and x86_64. This is now used in all places where
TARGET_ARCH was used to get to kernel arch sources/headers (I've changed
everything necessary as far as I can tell). Kernel won't build for x86_64
at the moment as the sources have not been merged, loader does.


# 1f675a7f 17-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

uart: Fix arm kernel build

* Make kernel use mmu_man's new UART code
* Remove no longer used uart.cpp / uart.h


# c76127fa 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: First work towards Amba serial driver

* Move Raspberry Pi board over to Amba driver
* Add initial set of registers and values
* Few small style cleanups


# 917e9be1 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Complete redesign of ARM uart code

* Add nested function wrappers to allow usage of other
uart drivers depending on board. We may want to use this
on other platforms at some point (haha, maybe)


# c917cd62 30-Oct-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* ARM: Major VM work
- This is mostly a copy of the x86 32bit paging method and infrastructure, this was copied for two reasons:
1) It is the most complete VM arch
2) The first ARM PAE patches have landed on alkml, so we will have to deal with it in the future as well,
and this infrastructure has proven to be ready ;)
- No protection features, or dirty/accessed tracking yet
- Lots of #if 0

but....

It boots all the way up to init_modules() now, and then dies because of a lack of (ARM) ELF relocation implementation!

Since at this point the VM can be fully initialised, I'm going to focus on CPU exceptions next, so we can get KDL to trigger
when it happens, and I can actually debug from there ;)


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


# bd185b41 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

*.c -> *.cpp


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


# c9f536d7 17-Oct-2009 François Revol <revol@free.fr>

Fix ARM build, thx Axel :P


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


# a52dd58d2da9adad93ad49b33181da57849c8ad5 31-Oct-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: kernel: introduce SoC abstraction

This introduces InterruptController and HardwareTimer classes to
handle the SoC specific implementations of timers and ints for
the ARM platform.

These could be improved and moved to a more 'generic' level once
we're confident they are 'good enough'.

NOTE: The OMAP timer implementation is fully untested and probably
completely non-functional....


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

ARM: sync up VM code with x86

No big functional reason for this, but rather keep it in sync now
then have to do lots of work later on, when there are major changes.
Once I have it fully fleshed out for ARM, I might take a look if
we can generalise it a little more, as there's lots of code
_exactly_ the same for both platforms (and other platforms in
progress using the same code).


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

ARM: kernel: Make 32/64-bit atomics work for ARMv5/6

Support for 64-bit atomic operations for ARMv7+ is currently stubbed
out in libroot, but our current targets do not use it anyway.

We now select atomics-as-syscalls automatically based on the ARM
architecture we're building for. The intent is to do away with
most of the board specifics (at the very least on the kernel side)
and just specify the lowest ARMvX version you want to build for.

This will give flexibility in being able to distribute a single
image for a wide range of devices, and building a tuned system
for one specific core type.


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

ARM: Initial implementation of interrupt/exception handling.

This contains both the common ARM(v5) vector handling as well as
the PXA(verdex) specific interrupt controller code, to be seperated
when ARM support for FDT is implemented.

Functional enough to handle interrupts, needs work on KDL support.


# da80a0500c33176998887bcae22828d9e997477f 02-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Preparation for merge of x86 and x86_64 kernel sources.

Since x86 and x86_64 share a lot of common code, x86_64 kernel sources/headers
are going to reside under headers/private/kernel/arch/x86 and
src/system/kernel/arch/x86 along with the existing x86 code. This commit
changes the build system to handle this. A new variable, TARGET_KERNEL_ARCH,
has been added. This is the name of the kernel/boot architecture directory
name, set to x86 on both x86 and x86_64. This is now used in all places where
TARGET_ARCH was used to get to kernel arch sources/headers (I've changed
everything necessary as far as I can tell). Kernel won't build for x86_64
at the moment as the sources have not been merged, loader does.


# 1f675a7fcbc9a2a6177d22c279e6c923d763a6ee 17-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

uart: Fix arm kernel build

* Make kernel use mmu_man's new UART code
* Remove no longer used uart.cpp / uart.h


# c76127fadeb72c8e8791a3e0c5c9486270d53504 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: First work towards Amba serial driver

* Move Raspberry Pi board over to Amba driver
* Add initial set of registers and values
* Few small style cleanups


# 917e9be1a62dd45937b68c61cf624197a6210261 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Complete redesign of ARM uart code

* Add nested function wrappers to allow usage of other
uart drivers depending on board. We may want to use this
on other platforms at some point (haha, maybe)


# c917cd62618c2bfd683dba8bf34f96fb7bd37203 30-Oct-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* ARM: Major VM work
- This is mostly a copy of the x86 32bit paging method and infrastructure, this was copied for two reasons:
1) It is the most complete VM arch
2) The first ARM PAE patches have landed on alkml, so we will have to deal with it in the future as well,
and this infrastructure has proven to be ready ;)
- No protection features, or dirty/accessed tracking yet
- Lots of #if 0

but....

It boots all the way up to init_modules() now, and then dies because of a lack of (ARM) ELF relocation implementation!

Since at this point the VM can be fully initialised, I'm going to focus on CPU exceptions next, so we can get KDL to trigger
when it happens, and I can actually debug from there ;)


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


# bd185b4117e06c1674c4d214abc3917acedc560d 01-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

*.c -> *.cpp


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


# c9f536d7b116747c0a5b3b8d753ec0c3e28e2f2c 17-Oct-2009 François Revol <revol@free.fr>

Fix ARM build, thx Axel :P


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