• Richard Henderson's avatar
    [ALPHA] New SRM console driver. · aca8e5a3
    Richard Henderson authored
    From Jeff Wiedemeier:
    
    How about this.. This version no longer piggy backs on ttyS0 (it
    actually doesn't touch any files outside arch/alpha/kernel at all). It
    does use a dynamic major for the tty piece of the driver. From
    userspace, /dev/console is ok for most uses, but because of the 'noctty
    = 1' at tty_tio.c:1329 (in the IS_SYSCONS_DEV section) using
    /dev/console cannot result in a controlling tty so some things, like
    'resize' and bash job control don't work. For those uses, however, it's
    easy enough to parse /proc/devices on the way up to get the major number
    and create the specific device for the tty side of the driver.
    
    I made a distinction in kernel options as well. "srmcons" specifically
    requests the early prints (as before) and "console=srm" requests the
    full driver, including the early prints. The two options can be
    combined with "console=srm" behavior resulting. The other change is that
    if "console=srm" is specified, I don't unregister_srm_console before
    console_init any more - that only happens in the "srmcons" case. That
    way preferred console selection remains stable and "console=srm" doesn't
    result in the early messages being repeated when the driver
    re-registers. The use of "srmcons_allowed" is also eliminated due to the
    "srmcons" vs. "console=srm" distinction.
    aca8e5a3
srmcons.c 7.18 KB