Home | History | Annotate | Line # | Download | only in nvfw
      1 /*	$NetBSD: ls.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
      2 
      3 /* SPDX-License-Identifier: MIT */
      4 #ifndef __NVFW_LS_H__
      5 #define __NVFW_LS_H__
      6 #include <core/os.h>
      7 struct nvkm_subdev;
      8 
      9 struct nvfw_ls_desc_head {
     10 	u32 descriptor_size;
     11 	u32 image_size;
     12 	u32 tools_version;
     13 	u32 app_version;
     14 	char date[64];
     15 	u32 bootloader_start_offset;
     16 	u32 bootloader_size;
     17 	u32 bootloader_imem_offset;
     18 	u32 bootloader_entry_point;
     19 	u32 app_start_offset;
     20 	u32 app_size;
     21 	u32 app_imem_offset;
     22 	u32 app_imem_entry;
     23 	u32 app_dmem_offset;
     24 	u32 app_resident_code_offset;
     25 	u32 app_resident_code_size;
     26 	u32 app_resident_data_offset;
     27 	u32 app_resident_data_size;
     28 };
     29 
     30 struct nvfw_ls_desc {
     31 	struct nvfw_ls_desc_head head;
     32 	u32 nb_overlays;
     33 	struct {
     34 		u32 start;
     35 		u32 size;
     36 	} load_ovl[64];
     37 	u32 compressed;
     38 };
     39 
     40 const struct nvfw_ls_desc *nvfw_ls_desc(struct nvkm_subdev *, const void *);
     41 
     42 struct nvfw_ls_desc_v1 {
     43 	struct nvfw_ls_desc_head head;
     44 	u32 nb_imem_overlays;
     45 	u32 nb_dmem_overlays;
     46 	struct {
     47 		u32 start;
     48 		u32 size;
     49 	} load_ovl[64];
     50 	u32 compressed;
     51 };
     52 
     53 const struct nvfw_ls_desc_v1 *
     54 nvfw_ls_desc_v1(struct nvkm_subdev *, const void *);
     55 #endif
     56