06-18-2018 12:32 PM
I wonder if it's possible to access PS values such as ALU result or MMU values (such as virtual address, page tables) while PS running an operating system.
I know there is a function virt_to_phys() but I believe making this process in hardware will be faster and I want to create an custom ip and an application that works together so it would be better in hardware.
Thank you all and have a nice day!
06-25-2018 04:48 PM
06-25-2018 10:50 PM
06-26-2018 02:55 AM
Thank both of you for responses.
@dylanIf it's not possible, how virt_to_phys() or virt_to_page() is implemented? I believe if OS can access these registers, so these registers must be accessed by hardware. Also to implement DMA, these registers are also required, right?
@madhu.mami60 It could be a solution, but if there is an hardware solution, I prefer that. Because I want to create a custom ip.
Thank you, have a nice day.
06-26-2018 06:49 AM
I think its a small function for converting virtual address to physical address, it will not include much processing/calculations... So why you are so worried to move that to Hardware?
Can you give the function description of virt_to_phys()...
06-26-2018 12:53 PM
I'll not use Linux. I'm trying to use these feature on other OS that can be run on Zybo. If I use virt_to_phys(), I need to implement these function too. If it can be done in hardware, I'll need only a driver. (Correct me if I'm wrong, I'm really a newbie)
I read that that function can be used only kernel space. You can find here where this function mentioned.
Thank you very much.
06-26-2018 09:43 PM
I have seen the definition of that functuin. What ever the OS, virt_to_phy() is only addition or deletions or some shifting of the address, better it run by processor only.
If you bring that to pl, it becomes more overhead, in the way writing the values to pl, getting back. Dont worry about that small function.
Moving a function to hardware is a good idea when that function takes much processing time.