genode/repos/os/src/server
Stefan Kalkowski 6d48b5484d hw: correct the ARM cache maintainance operations
This commit fixes the following issues regarding cache maintainance
under ARM:

* read out I-, and D-cache line size at runtime and use the correct one
* remove 'update_data_region' call from unprivileged syscalls
* rename 'update_instr_region' syscall to 'cache_coherent_region' to
  reflect what it doing, namely make I-, and D-cache coherent
* restrict 'cache_coherent_region' syscall to one page at a time
* lookup the region given in a 'cache_coherent_region' syscall in the
  page-table of the PD to prevent machine exceptions in the kernel
* only clean D-cache lines, do not invalidate them when pages where
  added on Cortex-A8 and ARMv6 (MMU sees phys. memory here)
* remove unused code relicts of cache maintainance

In addition it introduces per architecture memory clearance functions
used by core, when preparing new dataspaces. Thereby, it optimizes:

* on ARMv7 using per-word assignments
* on ARMv8 using cacheline zeroing
* on x86_64 using 'rept stosq' assembler instruction

Fix #3685
2020-03-26 11:38:55 +01:00
..
block_cache block_session: turn 'Connection' into template 2019-05-06 16:15:25 +02:00
cached_fs_rom cached_fs_rom: fix file-handle leak 2020-02-20 12:08:16 +01:00
chroot os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
clipboard clipboard: allow for dynamic reconfiguration 2019-07-09 08:58:38 +02:00
dynamic_rom timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
fs_log Remove os/src/app/cli_monitor 2019-11-19 14:23:56 +01:00
fs_report server/fs_report: don't truncate file initially 2018-05-31 12:28:15 +02:00
fs_rom fs_rom: adaptation to added file-modification time 2019-11-19 14:17:30 +01:00
input_filter input: move control-modifier handling into clients 2019-11-19 14:23:54 +01:00
input_merger os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
iso9660 block_session: turn 'Connection' into template 2019-05-06 16:15:25 +02:00
loader Add missing override annotations 2019-02-19 11:12:11 +01:00
log_report os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
log_terminal Add missing override annotations 2019-02-19 11:12:11 +01:00
lx_block block_session: server-defined payload alignment 2019-05-03 13:53:12 +02:00
lx_fs Cleanup linux_rtc_drv and lx_fs target.mk 2019-12-19 17:01:42 +01:00
mixer Add missing override annotations 2019-02-19 11:12:11 +01:00
nic_bridge Ethernet multicast support at nic_bridge 2019-05-27 14:46:53 +02:00
nic_dump timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
nic_loopback os: explicit cache policy in Nic::Session_component 2019-05-06 16:15:26 +02:00
nic_router nic_router: do not change ethernet header as hub 2020-02-10 14:21:47 +01:00
nit_fb nit_fb: defer mode change to client response 2018-05-30 13:36:15 +02:00
nitpicker nitpicker: add version attribute in clicked report 2019-11-21 14:31:52 +01:00
part_block part_block: switch to Request_stream and Job APIs 2020-02-27 14:46:57 +01:00
ram_block ram_block: use Number_of_bytes to parse block size 2019-11-19 14:44:02 +01:00
ram_fs ram_fs: close open nodes on session close 2019-11-22 15:59:13 +01:00
report_rom os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
rom_block block_session: server-defined payload alignment 2019-05-03 13:53:12 +02:00
rom_filter Add missing override annotations 2019-02-19 11:12:11 +01:00
rom_prefetcher Add missing override annotations 2019-02-19 11:12:11 +01:00
tar_rom Add missing override annotations 2019-02-19 11:12:11 +01:00
terminal_crosslink Add missing override annotations 2019-02-19 11:12:11 +01:00
terminal_log Add missing override annotations 2019-02-19 11:12:11 +01:00
tz_vmm os: name tz_vmm unambigously (ref #2190) 2019-05-27 14:46:53 +02:00
vfs vfs server: ensure retry for stalled session 2020-02-04 15:51:09 +01:00
vmm/spec hw: correct the ARM cache maintainance operations 2020-03-26 11:38:55 +01:00