Hello Stefan, On Wed, Dec 04, 2024 at 11:01:48 CET, Stefan Thöni via users wrote: > I'm trying to use a Terminal session to provide access to a > character device (TPM) under base-linux. The reason I'm not using a > vfs it that implementing a File_system session server in my > lx_chardev component would be unnessecarily complicated for this > usage.
The Terminal session (as well as the Connection and Client objects) indeed support your use case of character-exact (resp. unbuffered) operation mode. > The problem I encountered it that the vfs_terminal even in raw mode > buffers read data thereby issuing longer reads than requested by the > application. While this is fine for other more terminal-like usages > it doesn't play well inbetween a character device and it's driver. Admittedly, the vfs_terminal ont the other does not address the requirements of your operation as it completely decouples reading into the buffer (incl. read-avail signal handling) from the VFS API for read(). I'd expect your desired adaption of the implementation would be more like driving a wedge into all functions with 'if (unbufferd)' clauses all over the code. > I would suggest either not buffering reads in raw mode or adding an > additional "unbuffered" config option. Which would be the preferred > option? Whould such a change have the potential to be accepted > upstream? >From my current understanding of the vfs_terminal plugin, I'd suggest to start with a dedicated vfs_chardev implementation for your specific use case and check for similarities to vfs_terminal later. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://floss.social/@genode · https://genodians.org/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-le...@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/message/DV2IUMTQQ6GC2AYH4KCNKFOSR5KABFWX/