[PATCH v4 14/14] tty: gunyah: Add tty console driver for RM Console Services

Elliot Berman quic_eberman at quicinc.com
Sun Oct 9 13:59:21 PDT 2022



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:

  - 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.

Thanks,
Elliot



More information about the linux-arm-kernel mailing list