]> git.sur5r.net Git - u-boot/blobdiff - include/efi_loader.h
ARM64: zynqmp: Enable SPI_FLASH and FLASH_BAR for ep108
[u-boot] / include / efi_loader.h
index 8b3aaddd595ae6bf75a9f0f81024945f2da37426..88b8149b147585aeca9ef07bcdf02cc3356b7b95 100644 (file)
@@ -87,6 +87,10 @@ struct efi_object {
 /* This list contains all UEFI objects we know of */
 extern struct list_head efi_obj_list;
 
+/* Called by bootefi to make all disk storage accessible as EFI objects */
+int efi_disk_register(void);
+/* Called by bootefi to make GOP (graphical) interface available */
+int efi_gop_register(void);
 /*
  * Stub implementation for a protocol opener that just returns the handle as
  * interface
@@ -107,6 +111,34 @@ void efi_restore_gd(void);
 efi_status_t efi_exit_func(efi_status_t ret);
 /* Call this to relocate the runtime section to an address space */
 void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map);
+/* Call this to set the current device name */
+void efi_set_bootdev(const char *dev, const char *devnr, const char *path);
+
+/* Generic EFI memory allocator, call this to get memory */
+void *efi_alloc(uint64_t len, int memory_type);
+/* More specific EFI memory allocator, called by EFI payloads */
+efi_status_t efi_allocate_pages(int type, int memory_type, unsigned long pages,
+                               uint64_t *memory);
+/* EFI memory free function. Not implemented today */
+efi_status_t efi_free_pages(uint64_t memory, unsigned long pages);
+/* Returns the EFI memory map */
+efi_status_t efi_get_memory_map(unsigned long *memory_map_size,
+                               struct efi_mem_desc *memory_map,
+                               unsigned long *map_key,
+                               unsigned long *descriptor_size,
+                               uint32_t *descriptor_version);
+/* Adds a range into the EFI memory map */
+uint64_t efi_add_memory_map(uint64_t start, uint64_t pages, int memory_type,
+                           bool overlap_only_ram);
+/* Called by board init to initialize the EFI memory map */
+int efi_memory_init(void);
+
+/* Convert strings from normal C strings to uEFI strings */
+static inline void ascii2unicode(u16 *unicode, char *ascii)
+{
+       while (*ascii)
+               *(unicode++) = *(ascii++);
+}
 
 /*
  * Use these to indicate that your code / data should go into the EFI runtime
@@ -123,5 +155,7 @@ void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map);
 
 /* No loader configured, stub out EFI_ENTRY */
 static inline void efi_restore_gd(void) { }
+static inline void efi_set_bootdev(const char *dev, const char *devnr,
+                                  const char *path) { }
 
 #endif