mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* how does one enable barebox's low-level debugging?
@ 2012-12-03 15:45 Robert P. J. Day
  2012-12-03 16:21 ` Sascha Hauer
  0 siblings, 1 reply; 6+ messages in thread
From: Robert P. J. Day @ 2012-12-03 15:45 UTC (permalink / raw)
  To: U-Boot Version 2 (barebox)


  looking through common/startup.c and decided i wanted to see
confirmation of all the initcalls running here:

        for (initcall = __barebox_initcalls_start;
                        initcall < __barebox_initcalls_end; initcall++) {
                debug("initcall-> %pS\n", *initcall);
                result = (*initcall)();
                if (result)
                        pr_err("initcall %pS failed: %s\n", *initcall,
                                        strerror(-result));
        }


so i started from scratch, ran "make menuconfig" for both the x-loader
and barebox to enable "low level debug messages", but i don't see any
difference in the boot output.

  i've perused the barebox wiki and don't see anything regarding that
setting.  am i doing something wrong?

rday

p.s.  this is on a beagle xM, for which i am now happily building both
the x-loader and barebox, which boots successfully.

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how does one enable barebox's low-level debugging?
  2012-12-03 15:45 how does one enable barebox's low-level debugging? Robert P. J. Day
@ 2012-12-03 16:21 ` Sascha Hauer
  2012-12-03 17:46   ` Robert P. J. Day
  2012-12-04 11:52   ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 6+ messages in thread
From: Sascha Hauer @ 2012-12-03 16:21 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: U-Boot Version 2 (barebox)

On Mon, Dec 03, 2012 at 10:45:41AM -0500, Robert P. J. Day wrote:
> 
>   looking through common/startup.c and decided i wanted to see
> confirmation of all the initcalls running here:
> 
>         for (initcall = __barebox_initcalls_start;
>                         initcall < __barebox_initcalls_end; initcall++) {
>                 debug("initcall-> %pS\n", *initcall);
>                 result = (*initcall)();
>                 if (result)
>                         pr_err("initcall %pS failed: %s\n", *initcall,
>                                         strerror(-result));
>         }
> 
> 
> so i started from scratch, ran "make menuconfig" for both the x-loader
> and barebox to enable "low level debug messages", but i don't see any
> difference in the boot output.
> 
>   i've perused the barebox wiki and don't see anything regarding that
> setting.  am i doing something wrong?

You have to add a "#define DEBUG" to the file you want to have the debug
messages from. Add this *above* the includes, just like in the kernel.

Something not mentioned in the wiki is that before the first console is
initialized barebox will print the messages into a ring buffer which it
will dump when the first console is initialized.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how does one enable barebox's low-level debugging?
  2012-12-03 16:21 ` Sascha Hauer
@ 2012-12-03 17:46   ` Robert P. J. Day
  2012-12-04 11:52   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 6+ messages in thread
From: Robert P. J. Day @ 2012-12-03 17:46 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: U-Boot Version 2 (barebox)

On Mon, 3 Dec 2012, Sascha Hauer wrote:

> On Mon, Dec 03, 2012 at 10:45:41AM -0500, Robert P. J. Day wrote:
> >
> >   looking through common/startup.c and decided i wanted to see
> > confirmation of all the initcalls running here:
> >
> >         for (initcall = __barebox_initcalls_start;
> >                         initcall < __barebox_initcalls_end; initcall++) {
> >                 debug("initcall-> %pS\n", *initcall);
> >                 result = (*initcall)();
> >                 if (result)
> >                         pr_err("initcall %pS failed: %s\n", *initcall,
> >                                         strerror(-result));
> >         }
> >
> >
> > so i started from scratch, ran "make menuconfig" for both the x-loader
> > and barebox to enable "low level debug messages", but i don't see any
> > difference in the boot output.
> >
> >   i've perused the barebox wiki and don't see anything regarding that
> > setting.  am i doing something wrong?
>
> You have to add a "#define DEBUG" to the file you want to have the
> debug messages from. Add this *above* the includes, just like in the
> kernel.

  ah, got it ... for some reason, i thought it was that menuconfig
setting that was responsible but now i see they're actually
independent features.

  so, as i read it, using "#define DEBUG" causes this to kick in for a
given source file:

#ifdef DEBUG
#define pr_debug(fmt, arg...)   printf(fmt, ##arg)
#else
#define pr_debug(fmt, arg...)   do {} while(0)
#endif

#define debug(fmt, arg...)      pr_debug(fmt, ##arg)

  while that menuconfig setting for "low-level messages" defines
operations for these (totally independent of DEBUG, right?)

# define PUTC_LL(c) do {} while (0)
# define PUTHEX_LL(v) do {} while (0)
# define PUTS_LL(c) do {} while (0)

  thanks.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how does one enable barebox's low-level debugging?
  2012-12-03 16:21 ` Sascha Hauer
  2012-12-03 17:46   ` Robert P. J. Day
@ 2012-12-04 11:52   ` Jean-Christophe PLAGNIOL-VILLARD
  2012-12-04 12:10     ` Robert P. J. Day
  1 sibling, 1 reply; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-12-04 11:52 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: U-Boot Version 2 (barebox)

On 17:21 Mon 03 Dec     , Sascha Hauer wrote:
> On Mon, Dec 03, 2012 at 10:45:41AM -0500, Robert P. J. Day wrote:
> > 
> >   looking through common/startup.c and decided i wanted to see
> > confirmation of all the initcalls running here:
> > 
> >         for (initcall = __barebox_initcalls_start;
> >                         initcall < __barebox_initcalls_end; initcall++) {
> >                 debug("initcall-> %pS\n", *initcall);
> >                 result = (*initcall)();
> >                 if (result)
> >                         pr_err("initcall %pS failed: %s\n", *initcall,
> >                                         strerror(-result));
> >         }
> > 
> > 
> > so i started from scratch, ran "make menuconfig" for both the x-loader
> > and barebox to enable "low level debug messages", but i don't see any
> > difference in the boot output.
> > 
> >   i've perused the barebox wiki and don't see anything regarding that
> > setting.  am i doing something wrong?
> 
> You have to add a "#define DEBUG" to the file you want to have the debug
> messages from. Add this *above* the includes, just like in the kernel.
> 
> Something not mentioned in the wiki is that before the first console is
> initialized barebox will print the messages into a ring buffer which it
> will dump when the first console is initialized.
but also print on the debug console if enabled

on the current barebox

Best Regards,
J.

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how does one enable barebox's low-level debugging?
  2012-12-04 11:52   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-12-04 12:10     ` Robert P. J. Day
  2012-12-04 16:33       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 6+ messages in thread
From: Robert P. J. Day @ 2012-12-04 12:10 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD; +Cc: U-Boot Version 2 (barebox)

On Tue, 4 Dec 2012, Jean-Christophe PLAGNIOL-VILLARD wrote:

> On 17:21 Mon 03 Dec     , Sascha Hauer wrote:
> > On Mon, Dec 03, 2012 at 10:45:41AM -0500, Robert P. J. Day wrote:
> > >
> > >   looking through common/startup.c and decided i wanted to see
> > > confirmation of all the initcalls running here:
> > >
> > >         for (initcall = __barebox_initcalls_start;
> > >                         initcall < __barebox_initcalls_end; initcall++) {
> > >                 debug("initcall-> %pS\n", *initcall);
> > >                 result = (*initcall)();
> > >                 if (result)
> > >                         pr_err("initcall %pS failed: %s\n", *initcall,
> > >                                         strerror(-result));
> > >         }
> > >
> > >
> > > so i started from scratch, ran "make menuconfig" for both the x-loader
> > > and barebox to enable "low level debug messages", but i don't see any
> > > difference in the boot output.
> > >
> > >   i've perused the barebox wiki and don't see anything regarding that
> > > setting.  am i doing something wrong?
> >
> > You have to add a "#define DEBUG" to the file you want to have the debug
> > messages from. Add this *above* the includes, just like in the kernel.
> >
> > Something not mentioned in the wiki is that before the first console is
> > initialized barebox will print the messages into a ring buffer which it
> > will dump when the first console is initialized.

> but also print on the debug console if enabled
> on the current barebox

  i thought that was true, i'll add it to my barebox debugging page.
i know i mentioned this before but i've started a series of barebox
pages on my wiki that i may incorporate into some embedded linux
classes in the near future.  in particular, i'm currently documenting
the set of initcalls invoked when booting my beagle xM:

http://www.crashcourse.ca/wiki/index.php/Barebox_initcalls_for_the_xM

which is a really convenient way to examine exactly what happens when
the xM powers up.  i may now know what to do with pages just yet:

http://www.crashcourse.ca/wiki/index.php/Barebox_pages

but i just want the info available in case the need arises.  all still
very much a work in progress.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how does one enable barebox's low-level debugging?
  2012-12-04 12:10     ` Robert P. J. Day
@ 2012-12-04 16:33       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-12-04 16:33 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: U-Boot Version 2 (barebox)

On 07:10 Tue 04 Dec     , Robert P. J. Day wrote:
> On Tue, 4 Dec 2012, Jean-Christophe PLAGNIOL-VILLARD wrote:
> 
> > On 17:21 Mon 03 Dec     , Sascha Hauer wrote:
> > > On Mon, Dec 03, 2012 at 10:45:41AM -0500, Robert P. J. Day wrote:
> > > >
> > > >   looking through common/startup.c and decided i wanted to see
> > > > confirmation of all the initcalls running here:
> > > >
> > > >         for (initcall = __barebox_initcalls_start;
> > > >                         initcall < __barebox_initcalls_end; initcall++) {
> > > >                 debug("initcall-> %pS\n", *initcall);
> > > >                 result = (*initcall)();
> > > >                 if (result)
> > > >                         pr_err("initcall %pS failed: %s\n", *initcall,
> > > >                                         strerror(-result));
> > > >         }
> > > >
> > > >
> > > > so i started from scratch, ran "make menuconfig" for both the x-loader
> > > > and barebox to enable "low level debug messages", but i don't see any
> > > > difference in the boot output.
> > > >
> > > >   i've perused the barebox wiki and don't see anything regarding that
> > > > setting.  am i doing something wrong?
> > >
> > > You have to add a "#define DEBUG" to the file you want to have the debug
> > > messages from. Add this *above* the includes, just like in the kernel.
> > >
> > > Something not mentioned in the wiki is that before the first console is
> > > initialized barebox will print the messages into a ring buffer which it
> > > will dump when the first console is initialized.
> 
> > but also print on the debug console if enabled
> > on the current barebox
> 
>   i thought that was true, i'll add it to my barebox debugging page.
> i know i mentioned this before but i've started a series of barebox
> pages on my wiki that i may incorporate into some embedded linux
> classes in the near future.  in particular, i'm currently documenting
> the set of initcalls invoked when booting my beagle xM:
> 
> http://www.crashcourse.ca/wiki/index.php/Barebox_initcalls_for_the_xM
> 
> which is a really convenient way to examine exactly what happens when
> the xM powers up.  i may now know what to do with pages just yet:
> 
> http://www.crashcourse.ca/wiki/index.php/Barebox_pages
> 
> but i just want the info available in case the need arises.  all still
> very much a work in progress.
your wiki do not show one point

is that the lowlevel debug will print message directly on the uart but will
expect the uart to be init by some thing else

this is usefull when your barebox have a bug really early even before the
console is init

Best Regards,
J.

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-12-04 16:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-03 15:45 how does one enable barebox's low-level debugging? Robert P. J. Day
2012-12-03 16:21 ` Sascha Hauer
2012-12-03 17:46   ` Robert P. J. Day
2012-12-04 11:52   ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-04 12:10     ` Robert P. J. Day
2012-12-04 16:33       ` Jean-Christophe PLAGNIOL-VILLARD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox