created | 2021-04-10T23:42:33Z |
---|---|
begin | 2021-04-03T00:00:00Z |
end | 2021-04-04T00:00:00Z |
path | src/sys |
commits | 2 |
date | 2021-04-03T15:10:58Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/dev/smmu.c | log | diff | annotate |
message |
Exclude the first page from I/O virtual address space, which is the NULL pointer address. Not allowing this one to be allocated might help find driver bugs, where the device is programmed with a NULL pointer. We have plenty of address space anyway, so excluding this single page does not hurt at all and can only have positive effects. Idea from kettenis@ |
date | 2021-04-03T15:59:08Z | |||
---|---|---|---|---|
author | patrick | |||
files | src/sys/arch/arm64/dev/smmu.c | log | diff | annotate |
message |
Add a guard page between I/O virtual address space allocations. The idea is that IOVA allocations always have a gap in-between which produces a fault on access. If a transfer to a given allocation runs further than expected we should be able to see it. We pre-allocate IOVA on bus DMA map creation, and as long as we don't allocate a PTE descriptor, this comes with no cost. We have plenty of address space anyway, so adding a page-sized gap does not hurt at all and can only have positive effects. Idea from kettenis@ |