diff options
author | jmatthew <jmatthew@openbsd.org> | 2020-06-23 01:21:29 +0000 |
---|---|---|
committer | jmatthew <jmatthew@openbsd.org> | 2020-06-23 01:21:29 +0000 |
commit | 1d9e937e45405d8fccbf06a258cd97fbc51591ce (patch) | |
tree | 2d9e4dc66689ba6d1a5de1a6c1483b422091938a /regress | |
parent | some clarifying comments (diff) | |
download | wireguard-openbsd-1d9e937e45405d8fccbf06a258cd97fbc51591ce.tar.xz wireguard-openbsd-1d9e937e45405d8fccbf06a258cd97fbc51591ce.zip |
Implement pci_intr_establish_cpu() for pyro(4) and vpci(4) based sparc64
systems. MSIs on these systems are delivered to event queues, which
trigger interrupts when non-empty. The interrupt handler dequeues the
MSIs and converts them into soft interrupts, which run on the same cpu
as the event queue interrupt.
To target pci device interrupts to different cpus, we set up an event
queue per cpu in the system, or as many as we can, if there are fewer
event queues available. For now, we don't have a way to feed this
information back to intrmap, so instead we just map interrupts for cpus
that don't have an event queue to another cpu that does have one.
Tested on V215 (pyro), T5120, T4-1, S7-2 (vpci).
dlg@ got the pyro side of it working for me.
ok dlg@ kettenis@
Diffstat (limited to 'regress')
0 files changed, 0 insertions, 0 deletions