#include"drmP.h"#include"drm.h"#include"nouveau_drv.h"#include"nouveau_drm.h"/* The sizes are taken from the difference between the start of two * grctx addresses while running the nvidia driver. Probably slightly * larger than they actually are, because of other objects being created * between the contexts */#define NV40_GRCTX_SIZE (175*1024)#define NV43_GRCTX_SIZE (70*1024)#define NV46_GRCTX_SIZE (70*1024)/* probably ~64KiB */#define NV4A_GRCTX_SIZE (64*1024)#define NV4C_GRCTX_SIZE (25*1024)#define NV4E_GRCTX_SIZE (25*1024)/*TODO: deciper what each offset in the context represents. The below * contexts are taken from dumps just after the 3D object is * created. */static voidnv40_graph_context_init(drm_device_t *dev,struct mem_block *ctx){