Re: userspace IO support

2024-03-28 Thread Gregory Nutt
On 3/28/2024 9:21 PM, yfliu2008 wrote: > I am still trying to understand existing userland address envrionment in NuttX kernel mode, I saw the following regions defined in "arch/Kconfig": config ARCH_TEXT_VBASE, config ARCH_DATA_VBASE, config ARCH_HEAP_VBASE, config ARCH_SHM_VBASE, config AR

Re:Re: userspace IO support

2024-03-28 Thread yfliu2008
Gregory, thank you!I am still trying to understand existing userland address envrionment in NuttX kernel mode, I saw the following regions defined in "arch/Kconfig":  config ARCH_TEXT_VBASEconfig ARCH_DATA_VBASEconfig ARCH_HEAP_VBASEconfig ARCH_SHM_VBASEconfig ARCH_KMAP_VBASEconfig ARCH_STACK_

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
On 3/28/2024 8:23 PM, Gregory Nutt wrote: ... On all platforms that I am aware of, the virtual address of the framebuffer is just a configurable constant.  This makes sense if the framebuffer is in a fixed virtual address in every process. The kernel can manage the virtual address space any

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
On 3/28/2024 7:05 PM, yfliu2008 wrote: Yes the user land only use standard file operations like "mmap()/read()/write()/munmap()/ioctl()" etc to access the device memory and interruption status via the exposed device files like "/dev/uio3" etc. Sorry it took me so long to catch on. My origi

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
This could actually be very interesting.  mmap() really does all of the work.  But notice that mmap() it is not passed any address information (other than a "suggested" mapped, user-space address).  It also received an instance of the file descriptor of the driver. The Linux file_operations st

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
I found this document which describes the use cases for UIO in Linux: https://www.kernel.org/doc/html/v4.13/driver-api/uio-howto.html . They use mmap() to addess device memory: "|/dev/uioX| is used to access the address space of the card. Just use |mmap()| to access registers or RAM locations o

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
A more interesting task would be to port NxLib to run on top of the existing NuttX NX Windows System: * https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629474 * https://cwiki.apache.org/confluence/display/NUTTX/NX+Graphics+Subsystem That would not be particularly easier, h

Re: Nano-x porting

2024-03-28 Thread Gregory Nutt
On 3/28/2024 11:17 AM, Shijo George wrote: I was planning to port NanoX to NuttX as part of GSoC. Is anyone familiar with NanoX? Any suggestions and help would be much appreciated. Regards , Shijo george This will likely be a very difficult job.  Nano-X is a complete X-11 replacement from the

Nano-x porting

2024-03-28 Thread Shijo George
I was planning to port NanoX to NuttX as part of GSoC. Is anyone familiar with NanoX? Any suggestions and help would be much appreciated. Regards , Shijo george

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
On 3/28/2024 1:03 AM, yfliu2008 wrote: ... Have "up_addrenv_map(), up_addrenv_unmap()" alike interfaces added to encapsulate MMU mapping operations of different chip architectures. These are used by UIO component to a. As an architectural description it is confusing to understand what you se

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
On 3/28/2024 8:21 AM, Gregory Nutt wrote: On 3/28/2024 1:03 AM, yfliu2008 wrote: Have UIO framework added which exposes an "uio_register_device()" interface to  BSP so that to instantiate different UIO devices with specific device path, address range and IRQ data. Then userland apps can use st

Re: userspace IO support

2024-03-28 Thread Gregory Nutt
On 3/28/2024 1:03 AM, yfliu2008 wrote: Dear experts, I am wondering if we can have an Userspace IO alike component added to NuttX kernel? It can help exposing video frame buffers  or neural network accelerators alike devices to user land services. Often kernel has little to do with such devic