1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * EFI_DT_FIXUP_PROTOCOL 4 * 5 * Copyright (c) 2020 Heinrich Schuchardt 6 */ 7 8 #include <efi_api.h> 9 10 #define EFI_DT_FIXUP_PROTOCOL_REVISION 0x00010000 11 12 /* Add nodes and update properties */ 13 #define EFI_DT_APPLY_FIXUPS 0x00000001 14 /* 15 * Reserve memory according to the /reserved-memory node 16 * and the memory reservation block 17 */ 18 #define EFI_DT_RESERVE_MEMORY 0x00000002 19 /* Install the device-tree as configuration table */ 20 #define EFI_DT_INSTALL_TABLE 0x00000004 21 22 #define EFI_DT_ALL (EFI_DT_APPLY_FIXUPS | \ 23 EFI_DT_RESERVE_MEMORY | \ 24 EFI_DT_INSTALL_TABLE) 25 26 struct efi_dt_fixup_protocol { 27 u64 revision; 28 efi_status_t (EFIAPI *fixup) (struct efi_dt_fixup_protocol *this, 29 void *dtb, 30 efi_uintn_t *buffer_size, 31 u32 flags); 32 }; 33 34 extern struct efi_dt_fixup_protocol efi_dt_fixup_prot; 35 extern const efi_guid_t efi_guid_dt_fixup_protocol; 36