On Wed Feb 25, 2026 at 7:53 AM JST, Joel Fernandes wrote: > PRAMIN apertures are a crucial mechanism to direct read/write to VRAM. > Add support for the same.
A few design thoughts that are not immediately actionable, but might become this cycle if we get a tag with the new `Io` work. Basically this feature is a prime candidate for an `Io` implementation. It maps onto the BAR, has a fixed 1MB size, and needs to be accessed using various sizes. It is also used to fill structured values, which the I/O projection work will also allow us to do. The current design doesn't allow the user to explicitly set the start of the sliding window - this results in a sub-optimal usage of the hardware and more complex code in this module. At this level, we just want something that exposes the hardware as it is, i.e. "give me a view of the 1MB of VRAM starting from this 64K-aligned address". Then on top of that we can implement another type that handles the window automatically if we want, but I don't think we will actually need it. The page table code will most likely want to set the window to the start of its structure, project it, and access it using compile-time checked offsets. If that turns out to be insufficient, we can always compose something more complex from this basic piece - but the base `Pramin` should stay simple and truthful to the underlying hardware IMHO.
