CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    2020/06/17 00:14:53

Modified files:
        sys/arch/amd64/amd64: acpi_machdep.c intr.c 
        sys/arch/amd64/include: intr.h pci_machdep.h 
        sys/arch/amd64/isa: isa_machdep.c 
        sys/arch/amd64/pci: pci_machdep.c 

Log message:
pci_intr_establish_cpu() for establishing an interrupt no a specific cpu.

the cpu is specified by a struct cpu_info *, which should generally
come from an intrmap.

this is adapted from a diff that patrick@ sent round a few years
ago for a pci_intr_map_msix_cpuid, where you asked for an msi vector
on a specific cpu, and then called pci_intr_establish with the
handle you get. kettenis pointed out that it's hard on some archs
to carry cpu on a pci interrupt handle, so i tweaked it to turn it
into a pci_intr_establish_cpu instead.

jmatthew@ and i (but mostly jmatthew@ to be honest) have been
experimenting with this api on multiple archs and it is working out
well. i'm putting this diff in now on amd64 so people can kick the
tyres a bit.

tested with hacked up vmx(4), ix(4), and mcx(4)

Reply via email to