Some platforms do not support MMIO space greater than a certain size (e.g.
Vitis 2022's limit is 4k). This module implements a level of indirection to
provide access to a full 32-bit address space.
MMIO addresses:
- 0x0: 0 constant
- 0x8: 64 bit ESI magic number for Indirect MMIO (0x312bf0cc_E5100E51)
- 0x10: Version number for Indirect MMIO (0)
- 0x18: Location of read/write in the virtual MMIO space.
- 0x20: A read from this location will initiate a read in the virtual MMIO
space specified by the address stored in 0x18 and return the result.
A write to this location will initiate a write into the virtual MMIO
space to the virtual address specified in 0x18.
Definition at line 506 of file common.py.