summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/fsp
diff options
context:
space:
mode:
authorPark, Aiden <aiden.park@intel.com>2019-08-03 11:30:20 +0300
committerBin Meng <bmeng.cn@gmail.com>2019-08-09 17:24:02 +0300
commit5b931a508053b63b8596f6f65f211017b8a82394 (patch)
tree90499c1874dbd89e89c2dae530d1b77ee3af96d7 /arch/x86/include/asm/fsp
parent544293f87850b415721690533dae2d27f77f44f3 (diff)
downloadu-boot-5b931a508053b63b8596f6f65f211017b8a82394.tar.xz
x86: lib: fsp: Use EFI_GUID and efi_guid_t
Use existing EFI_GUID and efi_guid_t instead of struct efi_guid. This is pre-work before making a common HOB library. - Change 'struct efi_guid' to efi_guit_t - Remove 'struct efi_guid' - Define GUIDs with EFI_GUID() macro - Use guidcmp() instead of compare_guid() - Remove compare_guid() Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested on MinnowMax Tested-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/include/asm/fsp')
-rw-r--r--arch/x86/include/asm/fsp/fsp_ffs.h4
-rw-r--r--arch/x86/include/asm/fsp/fsp_fv.h4
-rw-r--r--arch/x86/include/asm/fsp/fsp_hob.h76
-rw-r--r--arch/x86/include/asm/fsp/fsp_support.h6
-rw-r--r--arch/x86/include/asm/fsp/fsp_types.h8
5 files changed, 46 insertions, 52 deletions
diff --git a/arch/x86/include/asm/fsp/fsp_ffs.h b/arch/x86/include/asm/fsp/fsp_ffs.h
index 61ce63c08e..b7558e5a17 100644
--- a/arch/x86/include/asm/fsp/fsp_ffs.h
+++ b/arch/x86/include/asm/fsp/fsp_ffs.h
@@ -45,7 +45,7 @@ struct __packed ffs_file_header {
* This GUID is the file name.
* It is used to uniquely identify the file.
*/
- struct efi_guid name;
+ efi_guid_t name;
/* Used to verify the integrity of the file */
union ffs_integrity integrity;
/* Identifies the type of file */
@@ -68,7 +68,7 @@ struct __packed ffs_file_header2 {
* Name in any given firmware volume, except if the file type is
* EFI_FV_FILE_TYPE_FFS_PAD.
*/
- struct efi_guid name;
+ efi_guid_t name;
/* Used to verify the integrity of the file */
union ffs_integrity integrity;
/* Identifies the type of file */
diff --git a/arch/x86/include/asm/fsp/fsp_fv.h b/arch/x86/include/asm/fsp/fsp_fv.h
index 190aedcf44..511dfb78b8 100644
--- a/arch/x86/include/asm/fsp/fsp_fv.h
+++ b/arch/x86/include/asm/fsp/fsp_fv.h
@@ -80,7 +80,7 @@ struct fv_header {
* Declares the file system with which the firmware volume
* is formatted.
*/
- struct efi_guid fs_guid;
+ efi_guid_t fs_guid;
/*
* Length in bytes of the complete firmware volume, including
* the header.
@@ -128,7 +128,7 @@ struct fv_header {
/* Extension header pointed by ExtHeaderOffset of volume header */
struct fv_ext_header {
/* firmware volume name */
- struct efi_guid fv_name;
+ efi_guid_t fv_name;
/* Size of the rest of the extension header including this structure */
u32 ext_hdr_size;
};
diff --git a/arch/x86/include/asm/fsp/fsp_hob.h b/arch/x86/include/asm/fsp/fsp_hob.h
index 00657b62c7..843d7b513b 100644
--- a/arch/x86/include/asm/fsp/fsp_hob.h
+++ b/arch/x86/include/asm/fsp/fsp_hob.h
@@ -8,6 +8,7 @@
#define __FSP_HOB_H__
#include <efi.h>
+#include <efi_loader.h>
/* Type of HOB Header */
#define HOB_TYPE_MEM_ALLOC 0x0002
@@ -40,7 +41,7 @@ struct hob_mem_alloc {
* present for the memory allocation HOB. Type efi_guid is defined in
* InstallProtocolInterface() in the UEFI 2.0 specification.
*/
- struct efi_guid name;
+ efi_guid_t name;
/*
* The base address of memory allocated by this HOB.
* Type phys_addr_t is defined in AllocatePages() in the UEFI 2.0
@@ -106,7 +107,7 @@ struct hob_res_desc {
* used by HOB consumer phase components to correlate device
* ownership of a resource.
*/
- struct efi_guid owner;
+ efi_guid_t owner;
u32 type;
u32 attr;
/* The physical start address of the resource region */
@@ -122,7 +123,7 @@ struct hob_res_desc {
struct hob_guid {
struct hob_header hdr;
/* A GUID that defines the contents of this HOB */
- struct efi_guid name;
+ efi_guid_t name;
/* GUID specific data goes here */
};
@@ -223,56 +224,57 @@ static inline u16 get_guid_hob_data_size(const struct hob_header *hdr)
#define FSP_GUID_DATA4_6 0x3f
#define FSP_GUID_DATA4_7 0x0c
+#define FSP_GUID_BYTE0 0xbe
+#define FSP_GUID_BYTE1 0x40
+#define FSP_GUID_BYTE2 0x27
+#define FSP_GUID_BYTE3 0x91
+#define FSP_GUID_BYTE4 0x84
+#define FSP_GUID_BYTE5 0x22
+#define FSP_GUID_BYTE6 0x34
+#define FSP_GUID_BYTE7 0x47
+#define FSP_GUID_BYTE8 FSP_GUID_DATA4_0
+#define FSP_GUID_BYTE9 FSP_GUID_DATA4_1
+#define FSP_GUID_BYTE10 FSP_GUID_DATA4_2
+#define FSP_GUID_BYTE11 FSP_GUID_DATA4_3
+#define FSP_GUID_BYTE12 FSP_GUID_DATA4_4
+#define FSP_GUID_BYTE13 FSP_GUID_DATA4_5
+#define FSP_GUID_BYTE14 FSP_GUID_DATA4_6
+#define FSP_GUID_BYTE15 FSP_GUID_DATA4_7
+
#define FSP_HEADER_GUID \
- { \
- FSP_GUID_DATA1, FSP_GUID_DATA2, FSP_GUID_DATA3, \
- { FSP_GUID_DATA4_0, FSP_GUID_DATA4_1, FSP_GUID_DATA4_2, \
- FSP_GUID_DATA4_3, FSP_GUID_DATA4_4, FSP_GUID_DATA4_5, \
- FSP_GUID_DATA4_6, FSP_GUID_DATA4_7 } \
- }
+ EFI_GUID(FSP_GUID_DATA1, FSP_GUID_DATA2, FSP_GUID_DATA3, \
+ FSP_GUID_DATA4_0, FSP_GUID_DATA4_1, FSP_GUID_DATA4_2, \
+ FSP_GUID_DATA4_3, FSP_GUID_DATA4_4, FSP_GUID_DATA4_5, \
+ FSP_GUID_DATA4_6, FSP_GUID_DATA4_7)
#define FSP_NON_VOLATILE_STORAGE_HOB_GUID \
- { \
- 0x721acf02, 0x4d77, 0x4c2a, \
- { 0xb3, 0xdc, 0x27, 0xb, 0x7b, 0xa9, 0xe4, 0xb0 } \
- }
+ EFI_GUID(0x721acf02, 0x4d77, 0x4c2a, \
+ 0xb3, 0xdc, 0x27, 0x0b, 0x7b, 0xa9, 0xe4, 0xb0)
#define FSP_BOOTLOADER_TEMP_MEM_HOB_GUID \
- { \
- 0xbbcff46c, 0xc8d3, 0x4113, \
- { 0x89, 0x85, 0xb9, 0xd4, 0xf3, 0xb3, 0xf6, 0x4e } \
- }
+ EFI_GUID(0xbbcff46c, 0xc8d3, 0x4113, \
+ 0x89, 0x85, 0xb9, 0xd4, 0xf3, 0xb3, 0xf6, 0x4e)
#define FSP_HOB_RESOURCE_OWNER_FSP_GUID \
- { \
- 0x69a79759, 0x1373, 0x4367, \
- { 0xa6, 0xc4, 0xc7, 0xf5, 0x9e, 0xfd, 0x98, 0x6e } \
- }
+ EFI_GUID(0x69a79759, 0x1373, 0x4367, \
+ 0xa6, 0xc4, 0xc7, 0xf5, 0x9e, 0xfd, 0x98, 0x6e)
#define FSP_HOB_RESOURCE_OWNER_TSEG_GUID \
- { \
- 0xd038747c, 0xd00c, 0x4980, \
- { 0xb3, 0x19, 0x49, 0x01, 0x99, 0xa4, 0x7d, 0x55 } \
- }
+ EFI_GUID(0xd038747c, 0xd00c, 0x4980, \
+ 0xb3, 0x19, 0x49, 0x01, 0x99, 0xa4, 0x7d, 0x55)
#define FSP_HOB_RESOURCE_OWNER_GRAPHICS_GUID \
- { \
- 0x9c7c3aa7, 0x5332, 0x4917, \
- { 0x82, 0xb9, 0x56, 0xa5, 0xf3, 0xe6, 0x2a, 0x07 } \
- }
+ EFI_GUID(0x9c7c3aa7, 0x5332, 0x4917, \
+ 0x82, 0xb9, 0x56, 0xa5, 0xf3, 0xe6, 0x2a, 0x07)
/* The following GUIDs are newly introduced in FSP spec 1.1 */
#define FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID \
- { \
- 0x73ff4f56, 0xaa8e, 0x4451, \
- { 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44 } \
- }
+ EFI_GUID(0x73ff4f56, 0xaa8e, 0x4451, \
+ 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44)
#define FSP_GRAPHICS_INFO_HOB_GUID \
- { \
- 0x39f62cce, 0x6825, 0x4669, \
- { 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07 } \
- }
+ EFI_GUID(0x39f62cce, 0x6825, 0x4669, \
+ 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07)
#endif
diff --git a/arch/x86/include/asm/fsp/fsp_support.h b/arch/x86/include/asm/fsp/fsp_support.h
index 7e51f24b12..0cca948184 100644
--- a/arch/x86/include/asm/fsp/fsp_support.h
+++ b/arch/x86/include/asm/fsp/fsp_support.h
@@ -106,7 +106,7 @@ u64 fsp_get_usable_highmem_top(const void *hob_list);
* 0 if this region does not exist.
*/
u64 fsp_get_reserved_mem_from_guid(const void *hob_list,
- u64 *len, struct efi_guid *guid);
+ u64 *len, const efi_guid_t *guid);
/**
* This function retrieves the FSP reserved normal memory.
@@ -149,7 +149,7 @@ const struct hob_header *fsp_get_next_hob(uint type, const void *hob_list);
*
* @retval: A HOB object with matching GUID; Otherwise NULL.
*/
-const struct hob_header *fsp_get_next_guid_hob(const struct efi_guid *guid,
+const struct hob_header *fsp_get_next_guid_hob(const efi_guid_t *guid,
const void *hob_list);
/**
@@ -164,7 +164,7 @@ const struct hob_header *fsp_get_next_guid_hob(const struct efi_guid *guid,
* @retval others: GUID HOB data buffer pointer.
*/
void *fsp_get_guid_hob_data(const void *hob_list, u32 *len,
- struct efi_guid *guid);
+ const efi_guid_t *guid);
/**
* This function retrieves FSP Non-volatile Storage HOB buffer and size.
diff --git a/arch/x86/include/asm/fsp/fsp_types.h b/arch/x86/include/asm/fsp/fsp_types.h
index 5247102f75..3d5b17ecf1 100644
--- a/arch/x86/include/asm/fsp/fsp_types.h
+++ b/arch/x86/include/asm/fsp/fsp_types.h
@@ -7,14 +7,6 @@
#ifndef __FSP_TYPES_H__
#define __FSP_TYPES_H__
-/* 128 bit buffer containing a unique identifier value */
-struct efi_guid {
- u32 data1;
- u16 data2;
- u16 data3;
- u8 data4[8];
-};
-
/**
* Returns a 16-bit signature built from 2 ASCII characters.
*