mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-24 04:34:22 +08:00
94686f60a2
A boot manager like GRUB can use the protocol to * apply U-Boot's fix-ups to the a device-tree * let U-Boot make memory reservations according to the device-tree * install the device-tree as a configuration table Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
40 lines
1.0 KiB
C
40 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* EFI_DT_FIXUP_PROTOCOL
|
|
*
|
|
* Copyright (c) 2020 Heinrich Schuchardt
|
|
*/
|
|
|
|
#include <efi_api.h>
|
|
|
|
#define EFI_DT_FIXUP_PROTOCOL_GUID \
|
|
EFI_GUID(0xe617d64c, 0xfe08, 0x46da, 0xf4, 0xdc, \
|
|
0xbb, 0xd5, 0x87, 0x0c, 0x73, 0x00)
|
|
|
|
#define EFI_DT_FIXUP_PROTOCOL_REVISION 0x00010000
|
|
|
|
/* Add nodes and update properties */
|
|
#define EFI_DT_APPLY_FIXUPS 0x00000001
|
|
/*
|
|
* Reserve memory according to the /reserved-memory node
|
|
* and the memory reservation block
|
|
*/
|
|
#define EFI_DT_RESERVE_MEMORY 0x00000002
|
|
/* Install the device-tree as configuration table */
|
|
#define EFI_DT_INSTALL_TABLE 0x00000004
|
|
|
|
#define EFI_DT_ALL (EFI_DT_APPLY_FIXUPS | \
|
|
EFI_DT_RESERVE_MEMORY | \
|
|
EFI_DT_INSTALL_TABLE)
|
|
|
|
struct efi_dt_fixup_protocol {
|
|
u64 revision;
|
|
efi_status_t (EFIAPI *fixup) (struct efi_dt_fixup_protocol *this,
|
|
void *dtb,
|
|
efi_uintn_t *buffer_size,
|
|
u32 flags);
|
|
};
|
|
|
|
extern struct efi_dt_fixup_protocol efi_dt_fixup_prot;
|
|
extern const efi_guid_t efi_guid_dt_fixup_protocol;
|