Hello,
Yes. It is possible to implement a filter driver for any UEFI Protocol for I/O
services. The basic algorithm is to implement a driver that follows the UEFI
Driver Model and produces the Driver Binding Protocol. The driver type is a
bus driver because it must to create a new child handle to install protocol
that provides the filter. The Start() function opens the parent protocol being
filtered BY_DRIVER and creates a child handle with a Device Path Protocol and
the protocol that provide the filter of the opened protocol on the parent
handle. The Device Path Protocol is generated by appending a VenHw() device
path node to the parent handle's device path. You can just use
gEfiCallerIdGuid in the VenHw() node. You also need to install a tag GUID (can
use gEfiCallerIdGuid again) onto the child handle and your Start() function
should return EFI_UNSUPPORTED if the tag GUID is present. This is required so
your filter driver does not do an infinite recursion of adding the filter on
top of a filter on top of a filter.
As noted below, if you soft load your filter driver from the shell, then you
may need to use the "reconnect" command to get your filter driver to get added
to the I/O driver stacks correctly if the protocol you want to filter is
already opened BY_DRIVER by another driver. If your driver is loaded as part
of the Driver#### options with the reconnect flag set, then the UEFI Boot
Manager will take care of getting it loaded and connected correctly.
Best regards,
Mike
From: Rafael Machado [mailto:rafaelrodrigues.mach...@gmail.com]
Sent: Tuesday, October 08, 2013 8:51 AM
To: edk2-devel
Subject: Re: [edk2] Doubt about drivers at UEFI
Is it possible to do this in a uefi script (startup.nsh)?
Att.
Rafael R. Machado
2013/10/8 Carsey, Jaben <jaben.car...@intel.com<mailto:jaben.car...@intel.com>>
The hard part is about repeating the process. You would have to manually do it
each time based on this method.
-Jaben
From: Rafael Machado
[mailto:rafaelrodrigues.mach...@gmail.com<mailto:rafaelrodrigues.mach...@gmail.com>]
Sent: Tuesday, October 08, 2013 6:59 AM
To: edk2-devel
Subject: Re: [edk2] Doubt about drivers at UEFI
Jarben
So the idea would be, using the uefi shell, disconnect a driver from a device
and load a new driver from the usb stick.
Sorry, but I didn't see what is the hard part of loading the driver from the
usb stick.
Could you please explain me what is the difficult of this ? As far as I know
I'd just need to load the new driver and run the connect -r from a UEFI shell.
Right ?
Thanks everyone
Rafael R. Machado
2013/10/7 Carsey, Jaben <jaben.car...@intel.com<mailto:jaben.car...@intel.com>>
You could actually write a driver that would meet the original request. You'd
have to disconnect the drive stack partially and then add yours and then
reconnect the stack.
The adding to the platform via USB seems a bigger challenge since that feature
may or may not be available.
-Jaben
From: Deric Cole [mailto:deric_c...@phoenix.com<mailto:deric_c...@phoenix.com>]
Sent: Monday, October 07, 2013 2:09 PM
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: Re: [edk2] Doubt about drivers at UEFI
You could write a driver that replaces the original driver in order to add
value - but that means you would have to duplicate all of the original
functionality in your driver.
Deric Cole
Sr. Customer Engineer
Phoenix Technologies Ltd.
From: Igor Sharovar [mailto:igor.sharo...@gmail.com]
Sent: Monday, October 07, 2013 1:43 PM
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: Re: [edk2] Doubt about drivers at UEFI
No, it is not possible. There is not a filter driver in UEFI like Windows has.
Igor Sharovar
On Sat, Oct 5, 2013 at 1:05 PM, Rafael Machado
<rafaelrodrigues.mach...@gmail.com<mailto:rafaelrodrigues.mach...@gmail.com>>
wrote:
Hi everyone
I've being studied uefi for some time and I'd like to know, if is it possible
to create something like a windows filter driver at UEFI.
For example, create a keyboard filter driver, that will log everything that was
typed to a logfile.
I think this because at UDK2010 there are some drivers, and I'd like to know if
is it possible to change some of these drivers, and load them on a system from
a USB stick.
Is it possible ?
Thanks everyone
Rafael R. Machado
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel