On Sun, Oct 09, 2022 at 01:59:21PM -0700, Elliot Berman wrote: > > > On 10/7/2022 12:40 AM, Greg Kroah-Hartman wrote: > > On Thu, Oct 06, 2022 at 10:59:51PM -0700, Elliot Berman wrote: > > > > > > "GH" is the shorthand we've been using for "Gunyah". I didn't find > > > documentation for dynamically assigned char devices, but if it exists, I can > > > add entry for ttyGH. > > > > Why use a new name at all? Why not stick with the existing tty names > > and device numbers? > > > > I can use hvc framework, although driver-level buffering is needed on > both the get_chars/put_chars paths because: I'm not asking about the framework (although that is a good question, you need to document why this has to be new.) I'm asking why pick a new name? You will not have a name conflict in your system with this device with any other tty name right? > - get_chars wants to poll for characters, but Gunyah will push > characters to Linux > - put_chars can be called in atomic context in the printk console path. > Gunyah RM calls can sleep, so we add to buffer and queue work to > write the characters. > > I also chose to use new tty driver because the Gunyah hypervisor call to > open the console (gh_rm_console_open) can only be done after starting the > VM. Gunyah will only forward characters sent from the other VM to Linux > after the gh_rm_console_open call is made. When launching a VM, users would > want to open console before VM starts so they can get startup messages from > the VM. I planned to use the carrier_raised() to hold > tty_port_block_until_ready until the VM is started and the > gh_rm_console_open() happens. I'm sorry, but I don't understand this. Why is this all a new api at all? What about the virtio api? Why not just use that instead? thanks, greg k-h