I apologize for my ignorance. In digging through nouveau, I've become a bit confused regarding the relationship between virtual address allocations and nouveau bo's.
From my reading of the code, it seems that a nouveau_bo really encapsulates a buffer (whether imported, or allocated within nouveau like, say, pushbuffers). So I'm confused about an earlier statement that to allocate a chunk of address space, I have to create a nouveau_bo for it. What I really want to do is reserve some space in the address allocator (the stuff in nvkm/subdev/mmu/base.c). Note that there are no buffers at this time. This is just blocking out some chunk of the address space so that normal address space allocations (for, say, bo's) avoid this region. At some point after that, I'd like to import a buffer, and map it to certain regions of my pre-allocated address space. This is why I can't go through the normal path of importing a buffer...that path assumes there is no address for this buffer, and tries to allocate one. In our case, we already have an address in mind. Naively, at this point, I'd like to create a nouveau_bo for this imported buffer, but not have it go through the address allocator and instead just take a fixed address. Can someone clear up some of my confusion? _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau