[arm][smmuv2] ASSERT that adopted context banks have no enabled TTBRs

In theory, this _could_ be a valid configuration for a platform to
hand off to Zircon/Fuchsia, however it would be unusual and take some
special care to make certain that the translation table memory was
never repurposed for anything else, at least until it was time for
Fuchsia to take control of the hardware being handed off.

We have no active use cases for this right now.  If we encounter such
a situation in a hypothetical future, unconditionally ASSERT that
either the kernel is not supposed to be managing SMMUs at all (driver
configuration set to Disabled during bringup), or that all adopted
context banks have their TTBRs disabled.  The future-team working on
bringup will then get an assert, forcing them to decide what the
policy should be moving forward and to implement the coded needed to
keep the system secure.

Fixed: 520580556
Change-Id: I370fb15e257317fa8efa69be2a2e5ab7e8d61169
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1660151
Fuchsia-Auto-Submit: John Grossman <johngro@google.com>
Reviewed-by: Dustin Green <dustingreen@google.com>
Commit-Queue: Dustin Green <dustingreen@google.com>
Commit-Queue: John Grossman <johngro@google.com>
1 file changed