Skip to content
Snippets Groups Projects
Select Git revision
  • f5d44b9bae64d4fc347c537e6d5f13d630eb858d
  • master default protected
  • early-display
  • variant-emmc-nvme-boot
  • 2023-01-25
  • v3
  • variant-emmc-nvme-boot
  • 2020-06-01
8 results

kgdb_stubs.c

Blame
  • Forked from Reform / reform-boundary-uboot
    Source project has a limited visibility.
    efi_api.h 20.23 KiB
    /*
     * Extensible Firmware Interface
     * Based on 'Extensible Firmware Interface Specification' version 0.9,
     * April 30, 1999
     *
     * Copyright (C) 1999 VA Linux Systems
     * Copyright (C) 1999 Walt Drummond <drummond@valinux.com>
     * Copyright (C) 1999, 2002-2003 Hewlett-Packard Co.
     *	David Mosberger-Tang <davidm@hpl.hp.com>
     *	Stephane Eranian <eranian@hpl.hp.com>
     *
     * From include/linux/efi.h in kernel 4.1 with some additions/subtractions
     */
    
    #ifndef _EFI_API_H
    #define _EFI_API_H
    
    #include <efi.h>
    
    #ifdef CONFIG_EFI_LOADER
    #include <asm/setjmp.h>
    #endif
    
    /* Types and defines for EFI CreateEvent */
    enum efi_timer_delay {
    	EFI_TIMER_STOP = 0,
    	EFI_TIMER_PERIODIC = 1,
    	EFI_TIMER_RELATIVE = 2
    };
    
    #define UINTN size_t
    
    #define EVT_TIMER				0x80000000
    #define EVT_RUNTIME				0x40000000
    #define EVT_NOTIFY_WAIT				0x00000100
    #define EVT_NOTIFY_SIGNAL			0x00000200
    #define EVT_SIGNAL_EXIT_BOOT_SERVICES		0x00000201
    #define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE	0x60000202
    
    #define TPL_APPLICATION		0x04
    #define TPL_CALLBACK		0x08
    #define TPL_NOTIFY		0x10
    #define TPL_HIGH_LEVEL		0x1F
    
    struct efi_event;
    
    /* EFI Boot Services table */
    struct efi_boot_services {
    	struct efi_table_hdr hdr;
    	efi_status_t (EFIAPI *raise_tpl)(UINTN new_tpl);
    	void (EFIAPI *restore_tpl)(UINTN old_tpl);
    
    	efi_status_t (EFIAPI *allocate_pages)(int, int, unsigned long,
    					      efi_physical_addr_t *);
    	efi_status_t (EFIAPI *free_pages)(efi_physical_addr_t, unsigned long);
    	efi_status_t (EFIAPI *get_memory_map)(unsigned long *memory_map_size,
    			struct efi_mem_desc *desc, unsigned long *key,
    			unsigned long *desc_size, u32 *desc_version);
    	efi_status_t (EFIAPI *allocate_pool)(int, unsigned long, void **);
    	efi_status_t (EFIAPI *free_pool)(void *);
    
    	efi_status_t (EFIAPI *create_event)(uint32_t type,
    			UINTN notify_tpl,
    			void (EFIAPI *notify_function) (
    					struct efi_event *event,
    					void *context),
    			void *notify_context, struct efi_event **event);
    	efi_status_t (EFIAPI *set_timer)(struct efi_event *event,
    					 enum efi_timer_delay type,
    					 uint64_t trigger_time);