flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
revolution 04 May 2014, 02:31
Not sure what you are asking. Are you making an OS and want to know how to handle memory paging?
|
|||
![]() |
|
gens 04 May 2014, 02:46
the first part is something that was brought up as a problem for gpu drivers that need large flat pieces in physical memory
in linux more specifically the IO MMU part is for a program i'm making that gets DMA'd pages from the kernel, that are to the sound card also in linux (alsa mmap'ed ring buffer; aka "zero-copy", that is DMA) but i'm asking is it possible to do on "modern" x86 computers and if so how complicated would it be |
|||
![]() |
|
revolution 04 May 2014, 02:51
gens wrote: but i'm asking is it possible to do on "modern" x86 computers ... ![]() |
|||
![]() |
|
gens 04 May 2014, 03:26
ye, sry
its two questions linux is the goal, but i'm asking in general first one is basically run time physical memory defragging if you need a big piece of contiguous physical memory and there is none due to fragmentation can you find a piece then check what process owns the page after it then copy that page somewhere else and change the processes page table to point to the new one in a multicpu environment, to make it more complicated other one is can you change the DMA... physical RAM pointer i guess while the device is running, and how hard would that be |
|||
![]() |
|
revolution 04 May 2014, 03:31
gens wrote: i'm asking in general gens wrote: first one is basically run time physical memory defragging if you need a big piece of contiguous physical memory and there is none due to fragmentation can you find a piece then check what process owns the page after it then copy that page somewhere else and change the processes page table to point to the new one gens wrote: other one is can you change the DMA... physical RAM pointer i guess while the device is running, and how hard would that be As to how difficult it would be, well, once again it depends upon many factors, but my guess would be it is not going to be easy for you unless you are very familiar with how everything is interacting. |
|||
![]() |
|
gens 04 May 2014, 03:40
linux doesn't, i think kolibrios doesn't and i'm pretty sure none of the other can
would be nice thou, that a kernel can get a big DMA buffer without reserving memory at boot in linux it would have to be in memory management (has two now, one for devices and one general) and in process scheduler and idk where else probably not something i can do, but still interesting to me edit: https://lwn.net/images/pdf/LDD3/ch15.pdf and http://oreilly.com/catalog/linuxkernel/chapter/ch10.html lots of reading... |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.