genode/repos/base-hw/src/core/include
Stefan Kalkowski 7aff1895bf hw: enable SMP for ARM Cortex A9
This commit enables multi-processing for all Cortex A9 SoCs we currently
support. Moreover, it thereby enables the L2 cache for i.MX6 that was not
enabled until now. However, the QEMU variants hw_pbxa9 and hw_zynq still
only use 1 core, because the busy cpu synchronization used when initializing
multiple Cortex A9 cores leads to horrible boot times on QEMU.

During this work the CPU initialization in general was reworked. From now
on lots of hardware specifics were put into the 'spec' specific files, some
generic hook functions and abstractions thereby were eliminated. This
results to more lean implementations for instance on non-SMP platforms,
or in the x86 case where cache maintainance is a non-issue.

Due to the fact that memory/cache coherency and SMP are closely coupled
on ARM Cortex A9 this commit combines so different aspects.

Fix #1312
Fix #1807
2016-01-26 16:20:18 +01:00
..
kernel hw: enable SMP for ARM Cortex A9 2016-01-26 16:20:18 +01:00
spec hw: enable SMP for ARM Cortex A9 2016-01-26 16:20:18 +01:00
assert.h Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
cap_session_component.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
core_rm_session.h Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
cpu_thread_allocator.h base: const-correctness of Allocator interface 2015-04-17 16:13:22 +02:00
irq_session_component.h base: extend irq session to support MSIs 2015-05-20 17:39:14 +02:00
map_local.h hw: map a dataspace in core according to its flags 2014-07-24 10:18:06 +02:00
object.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
page_flags.h hw: map a dataspace in core according to its flags 2014-07-24 10:18:06 +02:00
pager.h hw: use weak pointer when resolving a page-fault 2015-09-30 12:20:35 +02:00
pd_session_component.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
platform_pd.h safeguard the synchronized allocator template 2015-09-30 12:20:39 +02:00
platform_thread.h hw: use weak pointer when resolving a page-fault 2015-09-30 12:20:35 +02:00
platform.h safeguard the synchronized allocator template 2015-09-30 12:20:39 +02:00
signal_root.h Extract numeric string arguments with the correct signedness 2015-04-13 14:18:15 +02:00
signal_session_component.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
translation_table_allocator_tpl.h hw: allocate core's page-tables outside of binary 2015-07-01 14:46:17 +02:00
translation_table_allocator.h hw: allocate core's page-tables outside of binary 2015-07-01 14:46:17 +02:00
trustzone.h hw: make 'smp' property an aspect (Ref #1312) 2016-01-15 16:42:12 +01:00
util.h hw: allocate core's page-tables outside of binary 2015-07-01 14:46:17 +02:00
vm_root.h Extract numeric string arguments with the correct signedness 2015-04-13 14:18:15 +02:00