code to allocate, free, sync, and iterate over rings. this is based loosely on the fifos used in tht. very loosely. tht fifos were set up to take small writes of varying length and read or write them into the dmaable memory. nxe has fixed sized descriptors in each ring, so this ring handling is set up to just give pointers to the memory to be filled in directly. the iterator just pushes this pointer around the ring.
code to allocate, free, sync, and iterate over rings. this is based loosely
on the fifos used in tht. very loosely. tht fifos were set up to take small
writes of varying length and read or write them into the dmaable memory.
nxe has fixed sized descriptors in each ring, so this ring handling is set
up to just give pointers to the memory to be filled in directly. the
iterator just pushes this pointer around the ring.

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars