The first page of the I/O virtual address space is reserved so that
authorpatrick <patrick@openbsd.org>
Wed, 23 Jun 2021 19:46:13 +0000 (19:46 +0000)
committerpatrick <patrick@openbsd.org>
Wed, 23 Jun 2021 19:46:13 +0000 (19:46 +0000)
commit7ffc43e0b98cb16a850c7792a5955388a81bfb56
tree25ab370d18d7e489c137e3159bf16489c7fffffb
parent555f2c04b920ba49eb1c3b569613deaaa13e1963
The first page of the I/O virtual address space is reserved so that
is easier to spot misconfiguration or wrong behaviour where NULL is
used as address.  Right now that page is not part of the IOVA at all,
so when we reserve regions, like PCI I/O space, which can cover that
page as well, extent(9) will panic.  Instead, include it in the IOVA
but reserve it right away.  This way that page can be reserved twice.
sys/arch/arm64/dev/smmu.c