[U-Boot] Sandbox question

Wolfgang Denk wd at denx.de
Mon Apr 23 21:33:42 CEST 2012


Dear Mike Frysinger,

In message <201204231503.08835.vapier at gentoo.org> you wrote:
>
> > I don't see why we cannot simply read from stdin (or rathr from file
> > descriptor 0) as usual?
>
> the "usual" method of reading from stdin involves the tty doing buffering and 
> the application only seeing fully flushed lines.  thus it would not operate the 

That's why I wrote "or rather from fd 0".

> same as the hardware (where u-boot gets every char as you type) and you 
> wouldn't be able to handle things like tab completion.

C'me on.  That's a standard issue.  We know how to handle this, right?

> > You can use standard methods like select() or poll() to wait for input,
> > which will also inform you about events like EOF.
>
> because that isn't how u-boot on the hardware works.  u-boot itself calls 
> tstc() to see if there's any data and does so in a continuous loop.  when 
> there is data, it calls getc().  tstc() should not block, and getc() isn't>  
> call unless u-boot knows there's data.

That's why I suggested to use select() or poll() to poll for available
characters, just like the hardware does.  Only we do NOT want to tun
this in a tight loop.  We will most likely want to add a sufficiently
large delay to keep CPU load in reasonable bounds.

> it is also problematic (currently) to get access to errno from the C library 
> because u-boot itself has a variable called "errno".  so we cannot call the C 

Why invent new methods when we can encapsulate this in the input
interface?

We do not even have to pass EOF on to higher layers in U-Boot - we
could exit directly in the tty interface code.

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
As usual, this being a 1.3.x release, I haven't  even  compiled  this
kernel yet. So if it works, you should be doubly impressed.
      - Linus Torvalds in <199506181536.SAA10638 at keos.cs.Helsinki.FI>


More information about the U-Boot mailing list