This patch series is the modification of patches that i had sent a while back:
https://www.spinics.net/lists/linux-efi/msg13701.html

The main reservation about these changes was that these patches made the fdt
supplied by "dtb=" kernel command line parameter available to boot firmware.
Now, for boot firmware this fdt is an *unknown*, which can cause errors when
boot firmware tries to use it.

I have alleviate these concerns by adding a check that the new fdt (allocated 
by efistub)
would be made available to boot firmware only if it has been generated from the 
fdt which
boot firmware has supplied (i.e. which is already present in configuration 
table)

This makes the new fdt *known* to boot firmware, which it can use.

Reason behind these changes is this:

we have some devices that can be used by uefi firmware as well as OS. When the 
uefi firmware
is using these devices, then they are in certain state.
before OS can use these devices, their state needs to be changed. after which 
uefi firmware
cannot use these devices.

We use exit_boot_services as indicator as when to change the state of these 
devices.
if the state of devices is successfully changed, their status is fixed in fdt 
as "okay" otherwise
these are "disabled" in fdt, so that OS has correct status of these devices.

Pankaj Bansal (2):
  drivers: firmware: efi: change sys_table to sys_table_arg
  drivers: firmware: efi: install new fdt in configuration table

 drivers/firmware/efi/libstub/fdt.c | 48 +++++++++++++++++++++---------
 1 file changed, 34 insertions(+), 14 deletions(-)

-- 
2.17.1

Reply via email to