On the Qualcomm SoC as implemented on the Lenovo x13s the BIOS already
authorpatrick <patrick@openbsd.org>
Wed, 10 Aug 2022 17:02:37 +0000 (17:02 +0000)
committerpatrick <patrick@openbsd.org>
Wed, 10 Aug 2022 17:02:37 +0000 (17:02 +0000)
commitd0fbdf687140191c5d2b5973e7267c9b0df473e0
treeb404e1970af999de35c705a0c14f79581a38bc9c
parent9108e412bd3927bbb0cb663c132f152da551254b
On the Qualcomm SoC as implemented on the Lenovo x13s the BIOS already
configures and makes use of the SMMU.  We need to keep those mappings
alive as otherwise the machine will die and reboot.  Unfortunately we
cannot simply set those domains to bypass, as when we set a domain to
bypass it is actually set to fault.  Instead reserve a domain and set
it to disabled, which behaves the same as if we used a bypass mapping.

With feedback from kettenis@
sys/arch/arm64/dev/smmu.c
sys/arch/arm64/dev/smmu_acpi.c
sys/arch/arm64/dev/smmuvar.h