summaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-07-31 18:31:36 +0300
committerSimon Glass <sjg@chromium.org>2015-08-05 17:42:41 +0300
commit867a6ac86dd823de409752e9ca5dc8f4d4880f26 (patch)
treed9b3bbaeae3cc0ade351850c0110fc6b92d5c808 /arch/x86
parent8f3b9694b217b7083fcbc44d7a28c16185c0c579 (diff)
downloadu-boot-867a6ac86dd823de409752e9ca5dc8f4d4880f26.tar.xz
efi: Add start-up library code
When running as an EFI application, U-Boot must request memory from EFI, and provide access to the boot services U-Boot needs. Add library code to perform these tasks. This includes efi_main() which is the entry point from EFI. U-Boot is built as a shared library. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/include/asm/fsp/fsp_hob.h59
1 files changed, 2 insertions, 57 deletions
diff --git a/arch/x86/include/asm/fsp/fsp_hob.h b/arch/x86/include/asm/fsp/fsp_hob.h
index 6cca7f5654..3fb3546e27 100644
--- a/arch/x86/include/asm/fsp/fsp_hob.h
+++ b/arch/x86/include/asm/fsp/fsp_hob.h
@@ -8,6 +8,8 @@
#ifndef __FSP_HOB_H__
#define __FSP_HOB_H__
+#include <efi.h>
+
/* Type of HOB Header */
#define HOB_TYPE_MEM_ALLOC 0x0002
#define HOB_TYPE_RES_DESC 0x0003
@@ -25,63 +27,6 @@ struct hob_header {
u32 reserved; /* always zero */
};
-/* Enumeration of memory types introduced in UEFI */
-enum efi_mem_type {
- EFI_RESERVED_MEMORY_TYPE,
- /*
- * The code portions of a loaded application.
- * (Note that UEFI OS loaders are UEFI applications.)
- */
- EFI_LOADER_CODE,
- /*
- * The data portions of a loaded application and
- * the default data allocation type used by an application
- * to allocate pool memory.
- */
- EFI_LOADER_DATA,
- /* The code portions of a loaded Boot Services Driver */
- EFI_BOOT_SERVICES_CODE,
- /*
- * The data portions of a loaded Boot Serves Driver and
- * the default data allocation type used by a Boot Services
- * Driver to allocate pool memory.
- */
- EFI_BOOT_SERVICES_DATA,
- /* The code portions of a loaded Runtime Services Driver */
- EFI_RUNTIME_SERVICES_CODE,
- /*
- * The data portions of a loaded Runtime Services Driver and
- * the default data allocation type used by a Runtime Services
- * Driver to allocate pool memory.
- */
- EFI_RUNTIME_SERVICES_DATA,
- /* Free (unallocated) memory */
- EFI_CONVENTIONAL_MEMORY,
- /* Memory in which errors have been detected */
- EFI_UNUSABLE_MEMORY,
- /* Memory that holds the ACPI tables */
- EFI_ACPI_RECLAIM_MEMORY,
- /* Address space reserved for use by the firmware */
- EFI_ACPI_MEMORY_NVS,
- /*
- * Used by system firmware to request that a memory-mapped IO region
- * be mapped by the OS to a virtual address so it can be accessed by
- * EFI runtime services.
- */
- EFI_MMAP_IO,
- /*
- * System memory-mapped IO region that is used to translate
- * memory cycles to IO cycles by the processor.
- */
- EFI_MMAP_IO_PORT,
- /*
- * Address space reserved by the firmware for code that is
- * part of the processor.
- */
- EFI_PAL_CODE,
- EFI_MAX_MEMORY_TYPE
-};
-
/*
* Describes all memory ranges used during the HOB producer phase that
* exist outside the HOB list. This HOB type describes how memory is used,