Hi Wang Bowen, Xiang Xiao, When I want to move a file through rpmsgfs from within nuttx on a filesystem hosted on linux, then I get this linux kernel oops below. I used the rpmsgfs linux implementation provided on this mail thread but ported it to 6.6.23.
It looks like every move or rename gives the error. Do you know what could cause the problem? Are there maybe any updates of the linux rpmsgfs driver which I could try? Kind regards, Andre [ 121.160624] Unable to handle kernel paging request at virtual address ffff8003848c38dc [ 121.168612] Mem abort info: [ 121.171464] ESR = 0x0000000096000005 [ 121.175216] EC = 0x25: DABT (current EL), IL = 32 bits [ 121.180568] SET = 0, FnV = 0 [ 121.183660] EA = 0, S1PTW = 0 [ 121.186801] FSC = 0x05: level 1 translation fault [ 121.191709] Data abort info: [ 121.194592] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 [ 121.200094] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 121.205172] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 121.210511] swapper pgtable: 4k pages, 48-bit VAs, pgdp=000000009216d000 [ 121.217236] [ffff8003848c38dc] pgd=100000047ffff003, p4d=100000047ffff003, pud=0000000000000000 [ 121.225975] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP [ 121.232241] Modules linked in: [ 121.235320] CPU: 0 PID: 8 Comm: kworker/0:0 Not tainted 6.6.23-g32082bae40f6 #55 [ 121.242735] Hardware name: NXP i.MX95 19X19 board (DT) [ 121.247885] Workqueue: imx95-cm7 imx_rproc_vq_work [ 121.252703] pstate: a0400009 (NzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 121.259678] pc : cmp_map_id+0x4/0x64 [ 121.263266] lr : bsearch+0x50/0xb8 [ 121.266698] sp : ffff8000825d39e0 [ 121.270026] x29: ffff8000825d39e0 x28: ffff0000812c7600 x27: ffff0000824f8900 [ 121.277176] x26: ffff8000825d3bd8 x25: ffff800080158ae0 x24: ffff8000825d3a5c [ 121.284326] x23: ffff800080fffe1c x22: 000000000000000c x21: 00000000404baf90 [ 121.291476] x20: ffff8003848c38dc x19: 0000000080975f1f x18: ffff800082e7be28 [ 121.298626] x17: 00000000672cba83 x16: 0000000000000fdc x15: 0000000000001000 [ 121.305793] x14: ffffffffffffffff x13: ffff00008086e029 x12: ffff8000825d3a74 [ 121.312943] x11: 000000075b7a4da2 x10: 0000000000000002 x9 : 0000000000000007 [ 121.320102] x8 : ffff00008874affc x7 : 000000000000000c x6 : 0000000000000001 [ 121.327243] x5 : 0000000000000001 x4 : 0000000000000001 x3 : 000000000000000c [ 121.334385] x2 : 0000000080975f20 x1 : ffff8003848c38dc x0 : ffff8000825d3a5c [ 121.341536] Call trace: [ 121.343997] cmp_map_id+0x4/0x64 [ 121.347238] map_id_up+0xe4/0xec [ 121.350479] from_kuid+0x10/0x1c [ 121.353712] from_vfsuid+0x48/0x7c [ 121.357135] vfs_rename+0x43c/0xa14 [ 121.360627] rpmsgfs_rename_handler+0xcc/0x148 [ 121.365091] rpmsgfs_callback+0x34/0x88 [ 121.368930] rpmsg_recv_done+0x114/0x368 [ 121.372874] vring_interrupt+0x74/0x110 [ 121.376721] rproc_vq_interrupt+0x3c/0x90 [ 121.380751] imx_rproc_notified_idr_cb+0x18/0x28 [ 121.385397] idr_for_each+0x68/0xf4 [ 121.388907] imx_rproc_vq_work+0x24/0x30 [ 121.392850] process_one_work+0x138/0x260 [ 121.396880] worker_thread+0x32c/0x438 [ 121.400633] kthread+0x118/0x11c [ 121.403883] ret_from_fork+0x10/0x20 [ 121.407506] Code: 12800000 17ffffdd 00000000 39400004 (29400823) [ 121.413609] ---[ end trace 0000000000000000 ]--- > -----Original Message----- > From: Andre Heinemans <andre.heinem...@nxp.com> > Sent: Friday, 1 November 2024 12:14 > To: dev@nuttx.apache.org > Subject: RE: [EXT] Re: RPMsg FS on NuttX and Linux > > Caution: This is an external email. Please take care when clicking links or > opening > attachments. When in doubt, report the message using the 'Report this email' > button > > > Hi Wang Bowen, Xiang Xiao > > The RPMsg fs and tty works wonderful with the linux drivers I received from > you. > I was wondering if there are any updates on the linux drivers since the NuttX > drivers do get updates quite often. It would be great if you could share these > updates. > > On the rpmsg fs driver in linux I made a small fix on the file flags mapping > in > rpmsgfs_open_handler(). In NuttX the O_RDONLY symbol resolves to bit 0(value > 1) but in linux it has the value 0. > When you open a file in NuttX with O_RDWR then on linux it would result in > opening the file as write-only. > > Below change fixed it. > > diff --git a/drivers/rpmsg/rpmsg_fs.c b/drivers/rpmsg/rpmsg_fs.c index > 3cd35196f408..f354c6ac5ab4 100755 > --- a/drivers/rpmsg/rpmsg_fs.c > +++ b/drivers/rpmsg/rpmsg_fs.c > @@ -283,12 +283,15 @@ static int rpmsgfs_open_handler(struct rpmsg_device > *rpdev, > struct rpmsgfs *priv = dev_get_drvdata(&rpdev->dev); > struct rpmsgfs_open *msg = data; > struct file *filp; > - int id, flags = 0; > + int id, flags = O_RDONLY; > + > + if (msg->flags & RPMSGFS_O_WRONLY) { > + if (msg->flags & RPMSGFS_O_RDONLY) > + flags = O_RDWR; > + else > + flags = O_WRONLY; > + } > > - if (msg->flags & RPMSGFS_O_RDONLY) > - flags |= O_RDONLY; > - if (msg->flags & RPMSGFS_O_WRONLY) > - flags |= O_WRONLY; > if (msg->flags & RPMSGFS_O_CREAT) > flags |= O_CREAT; > if (msg->flags & RPMSGFS_O_EXCL) > > > Kind regards, > Andre > > > -----Original Message----- > > From: Bowen Wang <bowenwa...@gmail.com> > > Sent: Thursday, 27 June 2024 11:26 > > To: dev@nuttx.apache.org > > Subject: Re: [EXT] Re: RPMsg FS on NuttX and Linux > > > > Caution: This is an external email. Please take care when > > clicking links or opening attachments. When in doubt, report the > > message using the 'Report this email' button > > > > Hi Andre, > > > > The attachment is the patch for rpmsgfs, we only implement the rpmsgfs > > server side in linux for now, rpmsgfs client side in linux is still > > under development. > > > > So we can access the Linux‘s file system in NuttX, but in Linux, we > > can't mount the Vela's file system. > > > > > > Kind regards, > > > > Wang Bowen > > > > Andre Heinemans <andre.heinem...@nxp.com > > <mailto:andre.heinem...@nxp.com> > 于2024年6月27日周四 17:12写道: > > > > > > Hi Bowen, > > > > I am using 6.6.3. But it would be okay for me if I receive the > > patches for version 5.15. I will try to adapt them. > > > > Thanks in advance! > > > > Kind regards, > > Andre > > > > -----Original Message----- > > From: Bowen Wang <bowenwa...@gmail.com > > <mailto:bowenwa...@gmail.com> > > > Sent: Thursday, 27 June 2024 03:46 > > To: dev@nuttx.apache.org <mailto:dev@nuttx.apache.org> > > Subject: [EXT] Re: RPMsg FS on NuttX and Linux > > > > Caution: This is an external email. Please take care when > > clicking links or opening attachments. When in doubt, report the > > message using the 'Report this email' button > > > > > > Hi, Andre > > > > Which Linux version are you using? > > We have adapted RPMSGFS on 5.4 and 5.15. We are not sure if it > > meets your requirements. > > > > Kind regards, > > Wang Bowen > > > > Xiang Xiao <xiaoxiang781...@gmail.com > > <mailto:xiaoxiang781...@gmail.com> > 于2024年6月25日周二 22:47写道: > > > > > rpmsg_fs isn't upstreamed to the Linux community yet. Bowen > > could give > > > you a patch to try. > > > > > > On Tue, Jun 25, 2024 at 8:44 PM Andre Heinemans > > > <andre.heinem...@nxp.com > > <mailto:andre.heinem...@nxp.com> > > > > wrote: > > > > > > > Hi, > > > > > > > > I am searching for a solution to share a disk or directory on a > > > > Linux > > > host > > > > and make it accessible in NuttX through RPMsg. It looks like > > > > CONFIG_FS_RPMSGFS is the feature I need. According to this > > NuttX > > > > channel video > > > > > > (https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww > > .youtube.com%2Fwatch%3Fv%3D- > YLAQlJR1vA&data=05%7C02%7Candre.heinemans% > > > 40nxp.com%7C6f0b6a9c5414411f9a6f08dcfa6682e9%7C686ea1d3bc2b4c6fa92c > d99 > > > c5c301635%7C0%7C0%7C638660565421329758%7CUnknown%7CTWFpbGZsb3 > d8eyJWIjo > > > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C > %7C% > > > 7C&sdata=dQFQqYjk0nIFKGjDD%2FM54PHXW54rnZVWyYojrOGCV%2BY%3D&res > erved=0 > > > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww%2F > &data=05%7C02%7Candre.heinemans%40nxp.com%7C6f0b6a9c5414411f9a6f08 > dcfa6682e9%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63866056 > 5421352725%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV > 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=8GauYdm > OMhqbLro1EWfPIBGftfYLE%2B79%2BDzvvfBqw7E%3D&reserved=0. > > youtube.com%2Fwatch%3Fv%3D- > > YLAQlJR1vA&data=05%7C02%7Candre.heinemans%40nxp.com%7C7b20118b > > > 5af34936356e08dc968b5405%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0% > > 7C0%7C638550772355433038%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4 > > wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7 > > C%7C&sdata=wNH%2FytC3N7YXDeP8Cff3UZ3JeMbwpFIqaNWezneeoJ0%3D& > > reserved=0> ) various RPMsg services in Nuttx are supported in Linux > > including RPMsg FS. > > > > > > > > So, I tried setting this up but couldn’t find the correct linux > > > > module that is able to interact with this service. > > > > > > > > When I try to mount a directory with > > > > nsh> mount -t rpmsgfs -o cpu=netcore,fs=/mnt /mnt > > > > > > > > Some interaction happens. See linux dmesg log: > > > > [ 61.086471] virtio_rpmsg_bus virtio0: creating channel > > > > rpmsgfs-0x2000c1c8 addr 0x401 > > > > > > > > But it seems no linux driver is listening to that channel. When I > > > > try to access the mounted directory in NuttX then nsh freezes. > > > > > > > > What do I need to do on Linux to support this service? Do I maybe > > > > need a patch or a different fork? > > > > > > > > Kind regards, > > > > Andre > > > > > > > > >