Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/riscv/include/metadata.h
39507 views
1
/*-
2
* SPDX-License-Identifier: BSD-2-Clause
3
*
4
* Copyright (c) 2020 Mitchell Horne <[email protected]>
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25
* SUCH DAMAGE.
26
*/
27
28
#ifndef _MACHINE_METADATA_H_
29
#define _MACHINE_METADATA_H_
30
31
#define MODINFOMD_DTBP 0x1001
32
#define MODINFOMD_EFI_MAP 0x1002
33
#define MODINFOMD_EFI_FB 0x1003
34
#define MODINFOMD_BOOT_HARTID 0x1004
35
36
/*
37
* This is not the same as the UEFI standard EFI_MEMORY_ATTRIBUTES_TABLE, though
38
* memory_size / descritpr_size entries of EFI_MEMORY_DESCRIPTORS follow this table
39
* starting at a 16-byte alignment.
40
*/
41
struct efi_map_header {
42
size_t memory_size; /* Numnber of bytes that follow */
43
size_t descriptor_size; /* Size of each EFI_MEMORY_DESCRIPTOR */
44
uint32_t descriptor_version; /* Currently '1' */
45
};
46
47
/*
48
* Placeholder for now
49
*/
50
struct efi_fb {
51
uint64_t fb_addr;
52
uint64_t fb_size;
53
uint32_t fb_height;
54
uint32_t fb_width;
55
uint32_t fb_stride;
56
uint32_t fb_mask_red;
57
uint32_t fb_mask_green;
58
uint32_t fb_mask_blue;
59
uint32_t fb_mask_reserved;
60
};
61
62
#endif /* !_MACHINE_METADATA_H_ */
63
64