On Sun, Aug 9, 2015 at 8:32 PM, Finn Thain <fth...@telegraphics.com.au>
wrote:

>
> On Sun, 9 Aug 2015, Geert Uytterhoeven wrote:
> > It's the internal buffer for printk():
> >
> > kernel/printk/printk.c:static char __log_buf[__LOG_BUF_LEN] ...
>
> Right, thanks. If I run this,
>
> $ m68k-linux-gnu-readelf -a boot/vmlinux-4.1.4-mac | grep __log_buf
>   1723: 003286c8 16384 OBJECT  LOCAL  DEFAULT   10 __log_buf
>
> I can see that it has address 0x003286c8 and length 16384 bytes. I believe
> this is the physical address. But I have no idea whether it will show up
> in MacsBug at that address.
>

Don't ask me to explain why, but it does. I think those are virtual
addresses, but by good fortune it just so happens to directly translate to
a physical address. You can do a quick sanity check by inspecting the value
of log_buf, which is a pointer to __log_buf, so should contain the value
003286c8.

>
> If it could be located easily and if it did not get clobbered (entirely or
> partially) by the ROM or by MacOS, it could be very useful at times.
>

I've had good luck with it remaining intact as long as you drop into
MacsBug right away. Only downside is earlyprintk != printk, as I've come to
find out, so those oh so valuable early messages won't be present.

-Greg

Reply via email to