plan9fox/sys/src/9/bcm64
cinap_lenrek acab8881bc bcm64: enter page tables in mmutop *AFTER* switching asid in mmuswitch()
there was a small window between modifying mmutop and switching the
asid where the core could bring in the new entries under the old asid
into the tlb due to speculation / prefetching.

this change moves the entering of the page tables into mmutop after
setttbr() to prevent this scenario.

due to us switching to the resereved asid 0 on procsave()->putasid(),
the only asid that could have potentially been poisoned would be asid 0
which does not have any user mappings. so this did not show any noticable
effect.
2019-09-14 14:02:34 +02:00
..
archbcm3.c bcm64: do not use OTP_BOOTMODE_REG to determine OSC frequency (thanks richard miller) 2019-08-19 16:42:20 +02:00
archbcm4.c bcm64: do not use OTP_BOOTMODE_REG to determine OSC frequency (thanks richard miller) 2019-08-19 16:42:20 +02:00
cache.v8.s bcm64: add experimental work in progress arm64 kernel for raspberry pi 3 2019-05-03 23:14:57 +02:00
clock.c bcm64: do not use OTP_BOOTMODE_REG to determine OSC frequency (thanks richard miller) 2019-08-19 16:42:20 +02:00
dat.h bcm64: deal with discontinuous memory regions, avoid virtual memory aliasing, implement vmap() proper 2019-08-23 21:39:20 +02:00
devgen.c bcm64: add experimental work in progress arm64 kernel for raspberry pi 3 2019-05-03 23:14:57 +02:00
ethergenet.c ethergenet: remove debugging 2019-08-16 19:22:28 +02:00
fns.h bcm64: deal with discontinuous memory regions, avoid virtual memory aliasing, implement vmap() proper 2019-08-23 21:39:20 +02:00
fpu.c bcm64: add experimental work in progress arm64 kernel for raspberry pi 3 2019-05-03 23:14:57 +02:00
gic.c bcm64: add gic interrupt controller driver for raspberry pi 4 2019-07-25 09:02:47 +02:00
gisb.c bcm64: poll gisb arbiter for asynchronous bus errors 2019-08-16 19:24:00 +02:00
init9.s bcm64: add experimental work in progress arm64 kernel for raspberry pi 3 2019-05-03 23:14:57 +02:00
io.h bcm64: update io.h for pci express and raspberry pi 4 2019-07-25 09:08:35 +02:00
l.s bcm, bcm64: add support for device tree parameter passing 2019-07-25 08:19:12 +02:00
main.c bcm64: deal with discontinuous memory regions, avoid virtual memory aliasing, implement vmap() proper 2019-08-23 21:39:20 +02:00
mem.h kernel: expose no execute bit to portable mmu code as SG_NOEXEC / PTENOEXEC, add PTECACHED bits 2019-08-26 22:34:38 +02:00
mkfile bcm64: add config for raspberry pi 4 2019-07-25 09:12:40 +02:00
mmu.c bcm64: enter page tables in mmutop *AFTER* switching asid in mmuswitch() 2019-09-14 14:02:34 +02:00
pci.c bcm64: add pci express driver for raspberry pi 4 2019-07-25 09:04:50 +02:00
pi3 bcm64: enable devgpio in kernel configuration (thanks qeed) 2019-09-02 19:38:44 +02:00
pi4 bcm64: enable devgpio in kernel configuration (thanks qeed) 2019-09-02 19:38:44 +02:00
rebootcode.s bcm, bcm64: add support for device tree parameter passing 2019-07-25 08:19:12 +02:00
sdhc.c emmc: 50MHz highspeed support (from richard miller) 2019-08-25 20:02:53 +02:00
sysreg.c bcm64: add experimental work in progress arm64 kernel for raspberry pi 3 2019-05-03 23:14:57 +02:00
sysreg.h bcm64: fix wrong prescaler for generic timer on rpi4 2019-07-27 17:59:25 +02:00
trap.c kernel: catch execution read fault on SG_NOEXEC segment 2019-08-27 03:47:18 +02:00