[Bug 255594] efirt: add ESRT table support

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 28 Aug 2024 17:35:29 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255594

--- Comment #6 from Ed Maste <emaste@freebsd.org> ---
Is this resolved with:

commit 24f398e7a153a05a7e94ae8dd623e2b6d28d94eb
Author: Pavel Balaev <pavel.balaev@3mdeb.com>
Date:   Thu Jul 1 19:29:36 2021 +0300

    Add efitable(8), a userspace tool to fetch and parse EFI tables

    Only ESRT and PROP tables are handled at the moment.

    Submitted by:   Pavel Balaev <pavel.balaev@3mdeb.com>
    MFC after:      2 weeks
    Differential revision:  https://reviews.freebsd.org/D30104

commit d12d651f8692cfcaf6fd0a6e8264c29547f644c9
Author: Pavel Balaev <pavel.balaev@3mdeb.com>
Date:   Thu Jul 1 19:27:25 2021 +0300

    EFI RT: resurrect EFIIOC_GET_TABLE

    Make it work, but change the interface to be safe for non-root users. In
    particular, right now interface only works for the tables which can be
    minimally parsed by kernel to determine the table size. Then, userspace can
    query the table size, after that it provides a buffer of needed size
    and kernel copies out just table to userspace.

    Main advantage is that user no longer need to be able to read /dev/mem,
    the disadvantage is the need to have minimal parsers aware of the table
    types.  Right now the parsers are implemented for ESRT and PROP tables.

    Future extension of the present interface might be a return of only
    the table physical address, in case kernel does not have suitable
    parser yet. Then, a privileged user could read the table from /dev/mem.
    This extension, which logically equivalent to the old (non-worked)
    EFIIOC_GET_TABLE variant, is not implemented until needed.

    Submitted by:   Pavel Balaev <pavel.balaev@3mdeb.com>
    MFC after:      2 weeks
    Differential revision:  https://reviews.freebsd.org/D30104

-- 
You are receiving this mail because:
You are the assignee for the bug.