public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Graeme Russ <graeme.russ@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V4] console: Implement pre-console buffer
Date: Tue, 27 Sep 2011 21:22:36 +1000	[thread overview]
Message-ID: <4E81B1FC.8020607@gmail.com> (raw)
In-Reply-To: <CANy1bu+CbmcBhuyxJsFaRujBFy3B2QVPR6Aw=g1vQ0_mSmEcOQ@mail.gmail.com>

Hi Vadim,

On 27/09/11 08:50, Vadim Bendebury wrote:
> On Wed, Aug 31, 2011 at 5:58 AM, Graeme Russ <graeme.russ@gmail.com> wrote:
>> Allow redirection of console output prior to console initialisation to a
>> temporary buffer.
>>
>> To enable this functionality, the board configuration file must define:
>>  - CONFIG_PRE_CONSOLE_BUFFER - Enable pre-console buffer
>>  - CONFIG_PRE_CON_BUF_ADDR - Base address of pre-console buffer
>>  - CONFIG_PRE_CON_BUF_SZ - Size of pre-console buffer (in bytes)
>>
>> The pre-console buffer will buffer the last CONFIG_PRE_CON_BUF_SZ bytes
>> Any earlier characters are silently dropped.
>>
>> Signed-off-by: Graeme Russ <graeme.russ@gmail.com>

[snip]

> 
> I know I am late to the party here, but all of a sudden I need to
> implement something similar, albeit slightly different:

better late than never :)

> - the memory could be allocated by the "cold bootprom" which starts u-boot;

Typically, the pre-console buffer would exist in the CPU cache (or similar
non-(S)DRAM location)

> - all console output needs to be saved, not just until the moment when
> the console hardware is initialized.

That could be a _huge_ amount of info and highly variable. Remember, the
available space for a pre-console buffer could be tiny. If this is needed,
then maybe look at forking stdio instead (one branch to console, one branch
to you console buffer)

> I could work on top of this patch and send another one once this one
> has been accepted. May I suggest an improvement though:
> 
> is it really necessary to store the index in the global data
> structure. This requires editing all these .h files adding another
> unsighty  conditionally compiled field. Why not to store the index as
> the first word in the buffer allocated for this temp storage?

I like this - but instead:

struct pre_con_buff {
	int idx;
	char *buffer[CONFIG_PRE_CON_BUF_SZ];
}

struct pre_con_buff *pre_con_buffer;

pre_con_buffer = (struct pre_con_buff *)CONFIG_PRE_CON_BUF_ADDR;

Regards,

Graeme

  reply	other threads:[~2011-09-27 11:22 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-29 12:14 [U-Boot] [PATCH 0/2] console: Squelch and pre-console buffer Graeme Russ
2011-08-29 12:14 ` [U-Boot] [PATCH 1/2] console: Squelch pre-console output in console functions Graeme Russ
2011-08-30 17:16   ` Mike Frysinger
2011-08-30 19:01     ` Wolfgang Denk
2011-09-21 23:21   ` Simon Glass
2011-10-01 19:54   ` Wolfgang Denk
2011-08-29 12:14 ` [U-Boot] [PATCH 2/2] console: Implement pre-console buffer Graeme Russ
2011-08-30 12:49   ` [U-Boot] [PATCH V2] " Graeme Russ
2011-08-30 17:19     ` Mike Frysinger
2011-08-30 19:45     ` Simon Glass
2011-08-30 19:52       ` Wolfgang Denk
2011-08-30 19:58         ` Mike Frysinger
2011-08-30 20:08           ` Wolfgang Denk
2011-08-30 20:18             ` Simon Glass
2011-08-30 20:57               ` Wolfgang Denk
2011-08-30 21:02                 ` Simon Glass
2011-08-30 23:00                   ` Graeme Russ
2011-08-30 23:39                     ` Graeme Russ
2011-08-31  2:46                       ` Mike Frysinger
2011-08-30 20:07         ` Simon Glass
2011-08-31 12:35     ` [U-Boot] (no subject) Graeme Russ
2011-08-31 12:38       ` Graeme Russ
2011-08-31 12:58       ` [U-Boot] [PATCH V4] console: Implement pre-console buffer Graeme Russ
2011-08-31 15:09         ` Mike Frysinger
2011-08-31 21:15           ` Graeme Russ
2011-08-31 21:33             ` Mike Frysinger
2011-08-31 21:59               ` Graeme Russ
2011-08-31 22:44                 ` Mike Frysinger
2011-08-31 22:51                   ` Graeme Russ
2011-08-31 16:58         ` Simon Glass
2011-08-31 19:18           ` Wolfgang Denk
2011-08-31 20:05             ` Simon Glass
2011-08-31 20:22               ` Mike Frysinger
2011-08-31 20:26                 ` Simon Glass
2011-09-01 10:48         ` [U-Boot] [PATCH V5] " Graeme Russ
2011-09-01 10:52           ` Graeme Russ
2011-09-01 14:02             ` Mike Frysinger
2011-09-01 18:51               ` Simon Glass
2011-09-01 23:34                 ` Graeme Russ
2011-09-02  2:41                   ` Mike Frysinger
2011-09-02  2:58                   ` Simon Glass
2011-09-21 23:18             ` Simon Glass
2011-10-04  5:30               ` Simon Glass
2011-10-05 18:50             ` Wolfgang Denk
2011-09-26 22:50         ` [U-Boot] [PATCH V4] " Vadim Bendebury
2011-09-27 11:22           ` Graeme Russ [this message]
2011-09-27 14:55             ` Vadim Bendebury
2011-09-29 23:15               ` Graeme Russ
2011-09-29 23:39                 ` Vadim Bendebury
2011-09-29 23:47                   ` Graeme Russ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E81B1FC.8020607@gmail.com \
    --to=graeme.russ@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox