brintos

brintos / linux-shallow public Read only

0
0
Text · 3.1 KiB · a5a182b Raw
118 lines · c
1#ifndef __NVIF_IF000C_H__2#define __NVIF_IF000C_H__3struct nvif_vmm_v0 {4	__u8  version;5	__u8  page_nr;6#define NVIF_VMM_V0_TYPE_UNMANAGED                                         0x007#define NVIF_VMM_V0_TYPE_MANAGED                                           0x018#define NVIF_VMM_V0_TYPE_RAW                                               0x029	__u8  type;10	__u8  pad03[5];11	__u64 addr;12	__u64 size;13	__u8  data[];14};15 16#define NVIF_VMM_V0_PAGE                                                   0x0017#define NVIF_VMM_V0_GET                                                    0x0118#define NVIF_VMM_V0_PUT                                                    0x0219#define NVIF_VMM_V0_MAP                                                    0x0320#define NVIF_VMM_V0_UNMAP                                                  0x0421#define NVIF_VMM_V0_PFNMAP                                                 0x0522#define NVIF_VMM_V0_PFNCLR                                                 0x0623#define NVIF_VMM_V0_RAW                                                    0x0724#define NVIF_VMM_V0_MTHD(i)                                         ((i) + 0x80)25 26struct nvif_vmm_page_v0 {27	__u8  version;28	__u8  index;29	__u8  shift;30	__u8  sparse;31	__u8  vram;32	__u8  host;33	__u8  comp;34	__u8  pad07[1];35};36 37struct nvif_vmm_get_v0 {38	__u8  version;39#define NVIF_VMM_GET_V0_ADDR                                               0x0040#define NVIF_VMM_GET_V0_PTES                                               0x0141#define NVIF_VMM_GET_V0_LAZY	                                           0x0242	__u8  type;43	__u8  sparse;44	__u8  page;45	__u8  align;46	__u8  pad05[3];47	__u64 size;48	__u64 addr;49};50 51struct nvif_vmm_put_v0 {52	__u8  version;53	__u8  pad01[7];54	__u64 addr;55};56 57struct nvif_vmm_map_v0 {58	__u8  version;59	__u8  pad01[7];60	__u64 addr;61	__u64 size;62	__u64 memory;63	__u64 offset;64	__u8  data[];65};66 67struct nvif_vmm_unmap_v0 {68	__u8  version;69	__u8  pad01[7];70	__u64 addr;71};72 73struct nvif_vmm_raw_v0 {74	__u8 version;75#define NVIF_VMM_RAW_V0_GET	0x076#define NVIF_VMM_RAW_V0_PUT	0x177#define NVIF_VMM_RAW_V0_MAP	0x278#define NVIF_VMM_RAW_V0_UNMAP	0x379#define NVIF_VMM_RAW_V0_SPARSE	0x480	__u8  op;81	__u8  sparse;82	__u8  ref;83	__u8  shift;84	__u32 argc;85	__u8  pad01[7];86	__u64 addr;87	__u64 size;88	__u64 offset;89	__u64 memory;90	__u64 argv;91};92 93struct nvif_vmm_pfnmap_v0 {94	__u8  version;95	__u8  page;96	__u8  pad02[6];97	__u64 addr;98	__u64 size;99#define NVIF_VMM_PFNMAP_V0_ADDR                           0xfffffffffffff000ULL100#define NVIF_VMM_PFNMAP_V0_ADDR_SHIFT                                        12101#define NVIF_VMM_PFNMAP_V0_APER                           0x00000000000000f0ULL102#define NVIF_VMM_PFNMAP_V0_HOST                           0x0000000000000000ULL103#define NVIF_VMM_PFNMAP_V0_VRAM                           0x0000000000000010ULL104#define NVIF_VMM_PFNMAP_V0_A				  0x0000000000000004ULL105#define NVIF_VMM_PFNMAP_V0_W                              0x0000000000000002ULL106#define NVIF_VMM_PFNMAP_V0_V                              0x0000000000000001ULL107#define NVIF_VMM_PFNMAP_V0_NONE                           0x0000000000000000ULL108	__u64 phys[];109};110 111struct nvif_vmm_pfnclr_v0 {112	__u8  version;113	__u8  pad01[7];114	__u64 addr;115	__u64 size;116};117#endif118