[Bug 251046] bhyve PCI passthrough does not work inside jail

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 15 Nov 2021 18:12:30 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251046

--- Comment #17 from commit-hook@FreeBSD.org ---
A commit in branch stable/13 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=e002d882ac2094047a8d5a8bef9252e5006b5828

commit e002d882ac2094047a8d5a8bef9252e5006b5828
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2021-10-09 15:36:19 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2021-11-15 18:11:52 +0000

    bhyve: Map the MSI-X table unconditionally for passthrough

    It is possible for the PBA to reside in the same page as the MSI-X
    table.  And, while devices are not supposed to do this, at least some
    Intel wifi devices place registers in a page shared with the MSI-X
    table.  To handle the first case we currently map the PBA page using
    /dev/mem, and the second case is not handled.

    Kill two birds with one stone: map the MSI-X table BAR using the
    PCIOCBARMMAP ioctl instead of /dev/mem, and map the entire table so that
    accesses beyond the bounds of the table can be emulated.  Regions of the
    BAR not containing the table are left unmapped.

    PR:             251046
    Reviewed by:    bz, grehan, jhb
    Sponsored by:   The FreeBSD Foundation

    (cherry picked from commit 7fa2335347362378322a4d27cb40f6e6cd5dd0fb)

 usr.sbin/bhyve/pci_emul.h     |   4 +-
 usr.sbin/bhyve/pci_passthru.c | 186 +++++++++++++++++-------------------------
 2 files changed, 76 insertions(+), 114 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.