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;
 |