On 15.01.18 10:32, Udit Kumar wrote: > Hi Alex > >> -----Original Message----- >> From: Alexander Graf [mailto:ag...@suse.de] >> Sent: Monday, January 15, 2018 2:45 PM >> To: Udit Kumar <udit.ku...@nxp.com> >> >> Hi Udit, >> >> On 15.01.18 10:09, Udit Kumar wrote: >>> Hi Alex, >>> Hope you are doing great, >>> >>> Could you help on UEFI over the u-boot. >>> 1- I couldn't locate EFI_DXE_SERVICES in u-boot, do you have plan to >>> add those >> >> Right now the model is that all device drivers are implemented by U-Boot >> and that only exposes their interfaces to EFI applications. Implementing DXE >> in U-Boot would open quite a big can of worms, as it would really only be >> useful in compilation with PI which is a terrible interface :). > > Ok, > >>> 2- If I load a driver (with bootefi) which install few protocols, is >>> this ok to do with u-boot >> >> It depends on how much the driver does, but in general yes. Heinrich is >> currently working on making the iPXE iSCSI driver work, so his EFI payload >> would expose an EFI block device to yet another payload running after his. > > Thanks for this, > Heinrich, in this driver, are you accessing underneath hardware register > by UEFI-Driver and managing UEFI protocols > or you are relying on some h/w access exposed by u-boot driver > > > >>> 3- if you say, 2 is ok then I hope these protocols are kept in some >>> data base, and this new protocol can be opened by an application >> >> Yes, the protocol database is now global and persistent across bootefi >> invocations. > > Thanks > >>> 4- if there is some known limitation, like we cannot run DXE_driver >>> etc >> >> What exactly are you trying to do? With the U-Boot UEFI implementation >> we're trying to find a sweet spot between implementing as much as makes >> sense, but not the whole UEFI world, as that would just bloat the code >> needlessly. > > I am trying to add a driver (DXE by definition) which > a) Access the hardware registers. (I said DXE could due to hardware registers) > b) Update memory map as well (AddMemorySpace call) > c) Finally it export a protocol, which could be used by its test application. > > For b) I am not able to find function call,
What exactly beyond efi_allocate_pages() do you need? The EFI memory map is really only used as data source for EFI applications. The actual 1:1 U-Boot map is not influenced by it. > For a), if I say driver is UEFI and accessing hardware register, will this be > acceptable ? Yes, definitely. All you'd need to do is set the efi application type to application, then register your protocols and access hardware registers using direct MMIO access to their respective regions. Alex _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot