Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/stand/kboot/include/efi.h
34873 views
1
/*-
2
* Copyright (c) 2024, Netflix, Inc.
3
*
4
* SPDX-License-Identifier: BSD-2-Clause
5
*/
6
7
#pragma once
8
9
#include <sys/efi.h>
10
#include <machine/metadata.h>
11
12
/* Note, we mix and match FreeBSD types and EFI standard defined types */
13
14
typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp);
15
16
struct preloaded_file;
17
18
bool efi_read_from_pa(uint64_t pa, uint32_t map_size, uint32_t desc_size, uint32_t vers);
19
void efi_read_from_sysfs(void);
20
void efi_set_systbl(uint64_t tbl);
21
void foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp);
22
void print_efi_map(struct efi_map_header *efihdr);
23
void efi_bi_loadsmap(struct preloaded_file *kfp);
24
25
extern uint32_t efi_map_size;
26
extern vm_paddr_t efi_map_phys_src; /* From DTB */
27
extern vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */
28
29