--- zzzz-none-000/linux-5.15.111/drivers/firmware/efi/libstub/efistub.h 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/drivers/firmware/efi/libstub/efistub.h 2024-02-07 10:22:41.000000000 +0000 @@ -271,7 +271,9 @@ void *close_protocol; void *open_protocol_information; void *protocols_per_handle; - void *locate_handle_buffer; + efi_status_t (__efiapi *locate_handle_buffer)(int, efi_guid_t *, + void *, unsigned long *, + efi_handle_t **); efi_status_t (__efiapi *locate_protocol)(efi_guid_t *, void *, void **); void *install_multiple_protocol_interfaces; @@ -562,9 +564,17 @@ unsigned long count, void *buffer); +typedef +efi_status_t (__efiapi *efi_pci_io_protocol_mem_t)(efi_pci_io_protocol_t *, + EFI_PCI_IO_PROTOCOL_WIDTH, + u8 bar_index, + u64 offset, + unsigned long count, + void *buffer); + typedef struct { - void *read; - void *write; + efi_pci_io_protocol_mem_t read; + efi_pci_io_protocol_mem_t write; } efi_pci_io_protocol_access_t; typedef struct { @@ -737,6 +747,29 @@ const void *optional_data; } efi_load_option_unpacked_t; +typedef struct efi_puma7_spi_flash_protocol efi_puma7_spi_flash_protocol_t; +struct efi_puma7_spi_flash_protocol { + void *read_id; + void *init; + void *lock; + efi_status_t (__efiapi *execute)(efi_puma7_spi_flash_protocol_t *, + u8, + u8, + u8, + u8, + u8, + unsigned long, + u32, + u8 *, + unsigned long); +} __packed; + +efi_status_t avm_load_dtb_overlay(struct boot_params *boot_params); + +efi_status_t avm_for_each_protocol_call(efi_guid_t *protocol_guid, + efi_status_t (*callback)(void *iface, void *arg), + void *arg); + void efi_pci_disable_bridge_busmaster(void); typedef efi_status_t (*efi_exit_boot_map_processing)( @@ -817,6 +850,8 @@ unsigned long *load_addr, unsigned long *load_size); +efi_status_t avm_get_dtb_setup_data(efi_loaded_image_t *image, + struct setup_data **dtb_setup_data); static inline efi_status_t efi_load_dtb(efi_loaded_image_t *image, unsigned long *load_addr,