haiku/headers/private/kernel
David Karoly adc32659fb arm: enable enforcing memory access permissions
Bootloader:
* set permissions to kernel read/write, no user access
  for initially mapped memory areas
* set permissions to kernel read/write, no execute,
  no user access for UART

Kernel:
* physical memory mapper uses kernel read/write mapping
  with no-execute bit enabled
* all other pages are mapped as read/write/execute for
  kernel and user
* proper access permissions and memory types to be
  implemented later

Enforce memory access permissions by setting DACR to
client mode for domain #0, no access for other domains.

see ARM Architecture Reference Manual, section B3.7 Memory access control
and in particular the following subsections:
B3.7.1 Access permissions
B3.7.2 Execute-never restrictions on instruction fetching
B3.7.3 Domains, Short-descriptor format only

Change-Id: I8127b4c72dc516d013cb9751d80d6f3a9ec835e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5233
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-04-22 12:20:01 +00:00
..
arch arm: enable enforcing memory access permissions 2022-04-22 12:20:01 +00:00
boot boot/efi/arm: add debug logs for initial CPU state 2022-03-29 07:09:14 +00:00
disk_device_manager partitioning: pass along reference to parent when uninitializing. 2016-12-23 18:53:15 +13:00
fs KPath: Use an object_cache for the path buffers in the normal case. 2019-07-11 22:52:10 -04:00
platform efi: fix alignment for block device protocol 2022-01-04 17:56:41 +00:00
posix POSIX: introduce sem_clockwait 2022-02-18 21:27:06 +00:00
slab kernel: Whitespace cleanup only. 2020-06-13 23:24:27 +02:00
util kernel/util: Implement more features in the Bitmap class. 2022-03-30 20:17:50 +00:00
vm riscv64/smp: Implement multi-processor support 2021-12-12 15:35:24 +00:00
AllocationTracking.h
AreaKeeper.h AreaKeeper.h: move to headers/private/kernel 2020-03-23 16:38:01 +00:00
block_cache.h
boot_device.h
boot_item.h
boot_splash.h
commpage_compat.h kernel: add a compatibility commpage on x86_64. 2018-05-18 05:11:07 +00:00
commpage.h
condition_variable.h kernel/condition_variable: Remove a confusing requirement for published variables. 2022-03-09 18:55:55 -05:00
console.h
core_dump.h kernel: Add core dump facility 2016-04-24 18:22:14 +02:00
cpu.h cpu.h: Fix size of array element is not a multiple of its alignment 2021-05-11 15:56:06 +00:00
debug_heap.h
debug_hex_dump.h
debug_paranoia.h
debug.h kernel/debug: Adjust range marker macros. 2021-08-31 22:00:36 -04:00
debugger_keymaps.h Make US-english the default KDL keymap again. 2016-10-10 07:18:12 +02:00
DPC.h
elf_priv.h Revert team and thread changes for COMPAT_MODE (hrev52010 & hrev52011). 2018-06-14 22:25:06 -04:00
elf.h kernel: support elf32 on x86_64. 2018-05-15 10:29:00 +00:00
file_cache.h Clean up various whitespace and fix one header guard. 2015-08-02 23:19:07 +02:00
frame_buffer_console.h
generic_syscall.h
heap.h kernel: Remove malloc_referenced now that it is unused. 2022-02-09 16:42:06 -05:00
int.h
kdevice_manager.h
kdriver_settings.h
kernel_c++_structs.h
kernel_daemon.h
kernel.h
kimage.h runtime loader: Register extended image info with kernel 2016-04-27 02:16:09 +02:00
kmodule.h
kscheduler.h kernel/scheduler: enable cpu load tracking after boot 2020-09-17 15:45:25 +00:00
ksignal.h _user_debug_thread(): Use new signal SIGNAL_DEBUG_THREAD 2016-04-24 11:54:17 +02:00
ksyscalls.h
ksystem_info.h
listeners.h
load_tracking.h kernel: Fix overflow in load tracking for very large deltas. 2018-01-05 22:48:56 +01:00
lock.h Cleanup: Various comment and whitespace fixes. 2020-08-01 19:23:27 +00:00
low_resource_manager.h
messaging.h
MessagingServiceDefs.h
Notifications.h Add missing includes following previous commit. 2021-09-01 13:10:04 -04:00
port.h
real_time_clock.h
safemode.h
scheduling_analysis.h Use B_PRId32. 2015-04-01 20:18:00 +02:00
sem.h
smp.h kernel/smp: Avoid casting spinlocks, which are structures. 2021-11-23 13:52:44 -05:00
stack_protector.h Implement stack protection support 2021-05-03 17:52:31 +00:00
syscall_restart.h kernel: Style fixup. 2021-08-27 19:02:20 -04:00
system_profiler.h kernel: profile system when SYSTEM_PROFILER is defined. 2015-07-22 20:39:52 +02:00
team.h kernel: Commit missing change to team.h. 2019-07-08 17:58:43 -04:00
thread_types.h kernel/vm: Completely replace mlock() implementation. 2022-03-30 20:17:50 +00:00
thread.h Assorted whitespace cleanup and typo fixes. 2015-08-20 21:54:41 +02:00
timer.h s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
tracing.h
user_atomic.h s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
user_debugger.h syscalls: Add get_stack_trace and lookup_symbol syscalls. 2015-04-10 16:00:49 +02:00
user_mutex.h Reimplement unnamed POSIX semaphores using user_mutex 2015-05-24 14:03:40 +01:00
UserEvent.h
usergroup.h
UserTimer.h
vfs.h POSIX: introduce ppoll 2021-06-19 18:09:25 +00:00
wait_for_objects.h wait_for_objects: add macros for output-only select types 2018-02-26 10:43:54 +00:00