diff options
author | Tom Rini <trini@konsulko.com> | 2020-05-27 10:55:55 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-05-27 10:55:55 -0400 |
commit | 0d6a3e23225ad8c8e302044f8f720f657edda4f7 (patch) | |
tree | a007bea38f55122ef7c74169e22106c8efeaf42f /include/cbfs.h | |
parent | 0ab24c37f03a3a23982edb63d88c4f22bb8bc2c5 (diff) | |
parent | 0621b5e1eeb6bcf08b220136f09d433d880f65a5 (diff) |
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
- Use device tree for FSP-M and FSP-S configuration on Intel Apollo Lake
- Add SMBIOS cbmem entry parsing for coreboot
- Various clean-ups to CBFS implementation
Diffstat (limited to 'include/cbfs.h')
-rw-r--r-- | include/cbfs.h | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/include/cbfs.h b/include/cbfs.h index d915f9426d..5f296d6a37 100644 --- a/include/cbfs.h +++ b/include/cbfs.h @@ -80,8 +80,6 @@ struct cbfs_cachenode { u32 attributes_offset; }; -extern enum cbfs_result file_cbfs_result; - /** * file_cbfs_error() - Return a string describing the most recent error * condition. @@ -100,10 +98,10 @@ enum cbfs_result cbfs_get_result(void); /** * file_cbfs_init() - Initialize the CBFS driver and load metadata into RAM. * - * @end_of_rom: Points to the end of the ROM the CBFS should be read - * from. + * @end_of_rom: Points to the end of the ROM the CBFS should be read from + * @return 0 if OK, -ve on error */ -void file_cbfs_init(uintptr_t end_of_rom); +int file_cbfs_init(ulong end_of_rom); /** * file_cbfs_get_header() - Get the header structure for the current CBFS. @@ -151,11 +149,10 @@ const struct cbfs_cachenode *cbfs_find_file(struct cbfs_priv *cbfs, * cbfs_init_mem() - Set up a new CBFS * * @base: Base address of CBFS - * @size: Size of CBFS in bytes * @cbfsp: Returns a pointer to CBFS on success * @return 0 if OK, -ve on error */ -int cbfs_init_mem(ulong base, ulong size, struct cbfs_priv **privp); +int cbfs_init_mem(ulong base, struct cbfs_priv **privp); /***************************************************************************/ @@ -163,17 +160,32 @@ int cbfs_init_mem(ulong base, ulong size, struct cbfs_priv **privp); /***************************************************************************/ /** - * file_cbfs_find_uncached() - Find a file with a particular name in CBFS - * without using the heap. + * file_cbfs_find_uncached() - Find a file in CBFS given the end of the ROM * - * @end_of_rom: Points to the end of the ROM the CBFS should be read - * from. - * @name: The name to search for. + * Note that @node should be declared by the caller. This design is to avoid + * the need for allocation here. * - * @return A handle to the file, or NULL on error. + * @end_of_rom: Points to the end of the ROM the CBFS should be read from + * @name: The name to search for + * @node: Returns the contents of the node if found (i.e. copied into *node) + * @return 0 on success, -ENOENT if not found, -EFAULT on bad header + */ +int file_cbfs_find_uncached(ulong end_of_rom, const char *name, + struct cbfs_cachenode *node); + +/** + * file_cbfs_find_uncached_base() - Find a file in CBFS given the base address + * + * Note that @node should be declared by the caller. This design is to avoid + * the need for allocation here. + * + * @base: Points to the base of the CBFS + * @name: The name to search for + * @node: Returns the contents of the node if found (i.e. copied into *node) + * @return 0 on success, -ENOENT if not found, -EFAULT on bad header */ -const struct cbfs_cachenode *file_cbfs_find_uncached(uintptr_t end_of_rom, - const char *name); +int file_cbfs_find_uncached_base(ulong base, const char *name, + struct cbfs_cachenode *node); /** * file_cbfs_name() - Get the name of a file in CBFS. |