toaruos/kernel/arch/aarch64
K. Lange 00075494e6 kernel: aarch64: initial pass at clearing upper page structures on unmap
This still has thread issues, but a lot of other things need to be
redesigned to correct them.

Particularly, we have a lot of callers that use `mmu_get_page` without
acquiring any locks on the page directory, so in a multithreaded process
one core may be trying to acquire pages while another is unmapping. In
the normal sbrk setup, this shouldn't happen, especially with the locks
in userspace around malloc, and it shouldn't happen with shm as we avoid
dealing with shm pages in the unmap right now, but from the raw API we
provide it's possible for a crafted program to run into it.

The whole memory management API really needs a redesign, much of what we
expose comes from toaru32, and still leaks details about page size into
other code that shouldn't care.
2022-03-16 08:19:36 +09:00
..
bootstub rpi400: initial platform support 2022-02-16 12:36:03 +09:00
rpi400 rpi400: try to clean up rpi stuff 2022-02-23 09:49:16 +09:00
ac97_tmp.c aarch64: temporary device drivers until modules are ready 2022-02-23 10:24:15 +09:00
arch.c aarch64: disable lock debugging 2022-03-06 15:56:53 +09:00
context.S aarch64: split up assembly, add more comments 2022-02-02 12:49:04 +09:00
dtb.c aarch64: expose dtb as a device file 2022-02-23 20:40:53 +09:00
e1000_tmp.c aarch64: apply e1000 permission changes 2022-03-07 18:08:54 +09:00
entry.S aarch64: split up assembly, add more comments 2022-02-02 12:49:04 +09:00
fwcfg.c aarch64: cleanup 2022-02-11 11:54:28 +09:00
gic.c aarch64: remove some debug messages 2022-03-04 22:08:05 +09:00
irq.S aarch64: basic tracing support 2022-02-02 20:52:56 +09:00
link.ld aarch64: increase inital stack size for kernel startup 2022-02-09 21:01:26 +09:00
main.c pthread: Remove magic thread exit; pthread_exit() is just syscall_exit 2022-03-12 18:46:28 +09:00
mmu.c kernel: aarch64: initial pass at clearing upper page structures on unmap 2022-03-16 08:19:36 +09:00
pl011.c aarch64: interrupt mapping improvements, chained interrupt handlers 2022-02-12 13:47:21 +09:00
rpi_miniuart.c rpi400: mini uart driver 2022-02-23 16:33:30 +09:00
rpi.c rpi400: try to clean up rpi stuff 2022-02-23 09:49:16 +09:00
smp.c rpi400: smp startup 2022-02-18 18:44:23 +09:00
traceback.c aarch64: cleanup, fix warnings 2022-02-23 10:27:47 +09:00
virtio.c rpi400: mini uart driver 2022-02-23 16:33:30 +09:00