I have been trying to use the memmap kernel command line parameter in uBoot to reserve a block of memory in the HPS DDR for the FPGA to write to.
My experience is that the memmap is being ignored by the kernel.
Is memmap supported in the GSRD v16.1 kernel?
If not, what is the recommended approach to allowing the FPGA to write into the HPS DDR space without crashing the Linux kernel??
Regards
Gary
Thanks, yeah I had a go at that.
When adding a reserved_memory node into the device tree, should you then expect to see the reserve section of memory appear in /proc/iomem ?
Or do you have to associate it with a device driver.
I tried this but was unsure what to change in my driver to map the reserved memory?
mmap does not allocate. Just maps virtual address where application is running to physical ones so you can access from the application to the hardware in FPGA.
I am confused because you talk about the kernel as if you are running in Operating System but later you talk about uboot.
Maybe this answer is helpful to you:
Hi!
You have to use kmalloc() to allocate a phisically contiguous buffer in memory. It will give you the physical address you can access from the FPGA and a virtual access to access the buffer from inside the driver. But kmalloc is in cached memory so you have to add 0x80000000 to the physical address and use that address from the FPGA to access through ACP port in a coherent way. The problem is that you need to first configure ACP.
If you want to access from the L3 to SDRAM port you , first y…
1 Like