freebsd-dev/sys/arm
Mark Johnston e9552d8b45 arm: Clear TTBCR before enabling the MMU
Upon reset, this register is supposed to have a value of zero.  But when
booting certain v7 CPUs in QEMU, we enter the kernel with several bits
set, including the EAE bit, which enables ARM's PAE extension.  I'm not
sure if QEMU is setting it or if it's the uboot loader.  Because FreeBSD
doesn't implement that extension and uses regular 32-bit page tables,
the kernel hangs immediately after enabling the MMU.

Just clear everything in TTBCR before enabling the MMU, to match the
reset value.  FreeBSD doesn't toggle anything in that register.

PR:		251187
Reviewed by:	imp
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D36041
2022-08-05 16:21:09 -04:00
..
allwinner if_dwc: recognize additional rgmii phy-modes 2022-06-23 15:15:10 -03:00
altera/socfpga
annapurna/alpine
arm arm: Clear TTBCR before enabling the MMU 2022-08-05 16:21:09 -04:00
broadcom/bcm2835
conf
freescale pmap_mapdev: Consistently use vm_paddr_t for the first argument. 2022-07-28 15:55:10 -07:00
include elfnote: place note in a PT_NOTE program header 2022-06-28 09:51:57 +02:00
mv
nvidia
qemu
qualcomm
rockchip
ti
xilinx