OpenBSD cvs log

created 2021-03-09T19:44:44Z
begin 2021-02-28T00:00:00Z
end 2021-03-01T00:00:00Z
path src/sys
commits 10

date 2021-02-28T03:59:25Z
author dlg
files src/sys/net/if_aggr.c log diff annotate
message big numbers need suffixes on some platforms. fix LACP_ADDR_SLOW_E64.

deraadt@ says i broke hppa :(

date 2021-02-28T21:06:58Z
author patrick
files src/sys/arch/arm64/dev/pciecam.c log diff annotate
src/sys/dev/fdt/dwpcie.c log diff annotate
message Issue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.

ok kettenis@

date 2021-02-28T21:09:44Z
author patrick
files src/sys/dev/ofw/ofw_misc.c log diff annotate
src/sys/dev/ofw/ofw_misc.h log diff annotate
message Implement IOMMU OFW API for on-SoC/non-PCI devices.

ok kettenis@

date 2021-02-28T21:10:22Z
author patrick
files src/sys/arch/arm64/dev/mainbus.c log diff annotate
src/sys/arch/arm64/dev/simplebus.c log diff annotate
message Issue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.

ok kettenis@

date 2021-02-28T21:28:33Z
author patrick
files src/sys/arch/arm64/include/pte.h log diff annotate
message Add memory attributes for stage-2 pagetables.

ok kettenis@

date 2021-02-28T21:31:10Z
author patrick
files src/sys/arch/arm64/dev/acpiiort.c log diff annotate
src/sys/arch/arm64/dev/acpiiort.h log diff annotate
message Add acpiiort(4), a driver for the ACPI I/O Remapping Table. This table
contains information which IOMMUs we have and how the devices are routed.

ok kettenis@

date 2021-02-28T21:39:31Z
author patrick
files src/sys/arch/arm64/dev/smmu.c log diff annotate
src/sys/arch/arm64/dev/smmu_acpi.c log diff annotate
src/sys/arch/arm64/dev/smmu_fdt.c log diff annotate
src/sys/arch/arm64/dev/smmureg.h log diff annotate
src/sys/arch/arm64/dev/smmuvar.h log diff annotate
message Add smmu(4), a driver the ARM System MMU. This IOMMU is basically a
regular ARM CPU MMU re-used for I/O devices. Implementations can have a
mix of stage-2 only and stage-2/stage-2 context blocks (domains). The
IOMMU allows different ways of grouping devices into a single domain.

This implementation only supports SMMUv2, since there is basically
no relevant SMMUv1 hardware. It also only supports AArch64
pagetables, the same as our pmap. Hence lots of code was taken from
there. There is no support for 32-bit pagetables, which would have
also been needed for SMMUv1 support. I have not yet seen any
machines with SMMUv3, which will probably need a new driver.

There is some work to be done, but the code works and it's about
time it hits the tree.

ok kettenis@

date 2021-02-28T21:40:11Z
author patrick
files src/sys/arch/arm64/conf/files.arm64 log diff annotate
message acpiiort(4) and smmu(4)

date 2021-02-28T21:41:07Z
author patrick
files src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/arch/arm64/conf/RAMDISK log diff annotate
message Enable acpiiort(4), add smmu(4) but keep disabled.

ok kettenis@

date 2021-02-28T21:42:08Z
author patrick
files src/sys/arch/arm64/dev/acpipci.c log diff annotate
message Have acpipci(4) look for a matching SMMU in the IORT.

ok kettenis@