Training courses
Kernel and Embedded Linux
Bootlin training courses
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
/* $NetBSD: flcn.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $ */ /* SPDX-License-Identifier: MIT */ #ifndef __NVFW_FLCN_H__ #define __NVFW_FLCN_H__ #include <core/os.h> struct nvkm_subdev; struct loader_config { u32 dma_idx; u32 code_dma_base; u32 code_size_total; u32 code_size_to_load; u32 code_entry_point; u32 data_dma_base; u32 data_size; u32 overlay_dma_base; u32 argc; u32 argv; u32 code_dma_base1; u32 data_dma_base1; u32 overlay_dma_base1; }; void loader_config_dump(struct nvkm_subdev *, const struct loader_config *); struct loader_config_v1 { u32 reserved; u32 dma_idx; u64 code_dma_base; u32 code_size_total; u32 code_size_to_load; u32 code_entry_point; u64 data_dma_base; u32 data_size; u64 overlay_dma_base; u32 argc; u32 argv; } __packed; void loader_config_v1_dump(struct nvkm_subdev *, const struct loader_config_v1 *); struct flcn_bl_dmem_desc { u32 reserved[4]; u32 signature[4]; u32 ctx_dma; u32 code_dma_base; u32 non_sec_code_off; u32 non_sec_code_size; u32 sec_code_off; u32 sec_code_size; u32 code_entry_point; u32 data_dma_base; u32 data_size; u32 code_dma_base1; u32 data_dma_base1; }; void flcn_bl_dmem_desc_dump(struct nvkm_subdev *, const struct flcn_bl_dmem_desc *); struct flcn_bl_dmem_desc_v1 { u32 reserved[4]; u32 signature[4]; u32 ctx_dma; u64 code_dma_base; u32 non_sec_code_off; u32 non_sec_code_size; u32 sec_code_off; u32 sec_code_size; u32 code_entry_point; u64 data_dma_base; u32 data_size; } __packed; void flcn_bl_dmem_desc_v1_dump(struct nvkm_subdev *, const struct flcn_bl_dmem_desc_v1 *); struct flcn_bl_dmem_desc_v2 { u32 reserved[4]; u32 signature[4]; u32 ctx_dma; u64 code_dma_base; u32 non_sec_code_off; u32 non_sec_code_size; u32 sec_code_off; u32 sec_code_size; u32 code_entry_point; u64 data_dma_base; u32 data_size; u32 argc; u32 argv; } __packed; void flcn_bl_dmem_desc_v2_dump(struct nvkm_subdev *, const struct flcn_bl_dmem_desc_v2 *); #endif