[U-Boot] [PATCH v2] NS16550: buffer reads

Simon Glass sjg at chromium.org
Sun Oct 16 06:39:29 CEST 2011


Hi Wolfgang,

On Sat, Oct 15, 2011 at 12:00 PM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Simon Glass,
>
> In message <CAPnjgZ3wZo4nkP2GjKbS_r8AWmRaCkagFDqrXrJg5MniykxCNw at mail.gmail.com> you wrote:
>>
>> The situation this occurs is when you paste characters into a serial
>> terminal connected to U-Boot. This is a pretty common requirement. Yes
>> you can manually select each line and paste it but that is a pain.
>
> But that's exactly how it's supposed to work.  Depending on hardware
> that may or may not be FIFOs available to buffer such asynchronous
> input, and I rather see limited, but consistent behaviour, instead of
> fancy stuff that works oin one board but not on another.

Well this is particular serial driver is in pretty widespread use. We
could of course introduce a serial buffer scheme that extends across
all drivers but I don't feel this is the right time, given that there
are other priorities in serial.

>
>> With this patch it is possible to paste a series of 'setenv' commands,
>> for example.
>
> If you want to run multi-line command sequences, then load and run a
> script.

If the setenv commands are configuration commands (such as network
config, or setting up a new boot path) then they may not already exist
in the machine. It is much easier to paste commands from a text editor
/ notepad than create a script, put it onto the tftp server, tftp the
script and run it.

>
> In the special case of setting environment variables, consider using
> featurs like "env import" instead.

s/and run it/and "env import" it/

>
>> This caused an awful lot of confusion here because characters would be
>> silently dropped within the command line (normally about 16 chars from
>> the end). Then the system would not boot. It is really not a friendly
>> experience.
>
> There should never be character loss when sending data on a line by
> line base.  Even the slowest processors we support are fast enough to
> deal with that.

That's right.

>
> Multi-line input has never been supported.

Hence this patch, I feel. Pasting a number of lines into the terminal
is convenient, natural, useful, and when it fails it is unexpected and
feels like a bug to many. I would certainly like to fix it.

Regards,
Simon

>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> Alan Turing thought about criteria to settle the question of  whether
> machines  can think, a question of which we now know that it is about
> as relevant as the question of whether submarines can swim.
>                                                   -- Edsger Dijkstra
>


More information about the U-Boot mailing list