arm64: Fixes to the page fault handler.

* Improve atomicity of PTE updates.
* Centralize a few constants.

Change-Id: Iaeeb82e9dc7f7ca97d13ba816fb72c6475754310
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8171
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
Owen Anderson
2024-09-03 21:33:08 +00:00
committed by waddlesplash
parent a64e78a34e
commit 50bb52021c
5 changed files with 47 additions and 46 deletions
@@ -5,6 +5,10 @@
#ifndef _KERNEL_ARCH_ARM64_ARCH_VM_TRANSLATION_MAP_H_
#define _KERNEL_ARCH_ARM64_ARCH_VM_TRANSLATION_MAP_H_
// The base address of TTBR*_EL1 is in bits [47:1] of the register, and the
// low bit is implicitly zero.
static constexpr uint64_t kTtbrBasePhysAddrMask = (((1UL << 47) - 1) << 1);
void arch_vm_install_empty_table_ttbr0(void);
#endif /* _KERNEL_ARCH_ARM64_ARCH_VM_TRANSLATION_MAP_H_ */