c - Adding a driver to device path UEFI -
i trying add filter driver protocol in uefi, meaning consumes protocol, in hierarchy, pass through me.
i understand need add driver relevant device path - though no idea how. more that, how work handles connected device? (if understood correctly, need connect driver device using by_driver | exclusive, , once connect own driver device path , use connectcontroller driver handles, uefi should automatically connect supporting handles me).
i hoping if knows how add driver act filter driver (or in different semantic - layer driver?) specific protocol.
would really, really appreciate given help, since have not found anywhere else.
it's not complicated. thing need reinstall protocols wanna intercept.
let's take efi_pci_io_protocol example:
- collect pci device handles in handle database:
locatehandlebuffer()
- get original pci io interface on each handle
handleprotocol()
, record somewhere may want call inside new protocol interface. - reinstall pci io protocol
gbs->reinstallprotocolinterface
, disconnect device , replace old protocol interface new one.
Comments
Post a Comment