blob: 83382537d168132dc9a37433305dfcab7a13c03a [file] [log] [blame]
Heinrich Schuchardt2c1e2242020-12-13 10:30:24 +01001/* 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
Heinrich Schuchardt2c1e2242020-12-13 10:30:24 +010010#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
26struct 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
34extern struct efi_dt_fixup_protocol efi_dt_fixup_prot;
35extern const efi_guid_t efi_guid_dt_fixup_protocol;