On 7/18/07, Robin Getz <[email protected]> wrote:
On Wed 18 Jul 2007 20:26, Andrew Morton pondered: > Robin Getz wrote: > > [need to access _log_buf from external for early debugging code] > > > > Something simple like - early_copy_log_buff(void *dest, size_t n) > > > > copies n bytes from log_buf to memory area dest. Returns number of > > bytes that could not be copied. Can find out how many bytes are in > > the log_buff by calling with zero size. > > When I was at $EARLIER_EMPLOYER, we had code in there to copy the last > kilobyte-odd of the log buffer into flash when the box oopsed. > Hmm - I think that if you call with NULL dest, and have it advance the pointer, you could do the same thing with something like: /* see how many bytes are in the buff */ length = early_copy_log_buff(NULL, NULL); /* advance the pointer, so we only copy the last 1k */ if (length >= 1024 ) left = early_copy_log_buff(NULL, length - 1024); /* copy to temp buffer, to save to flash */ early_copy_log_buff(buff, 1024); save_buff_to_flash(buff); That way - you can put this in the standard places for failure, and still have only one function polluting printk.c (Although if you want to use it for failure trapping - it's up for "normal" run time use, and doesn't go into __init. > Probably there are others, but they'll mainly be in the consumer/embedded > area, and those sorts of engineers don't read this mailing list much. Adding a few more 'embedded' folks - who might have some thoughts/opinions.
i think the attached two functions account for what Robin and Andrew were thinking ... -mike
Attachment:
linux-log_buf_read.patch
Description: Binary data
- Follow-Ups:
- Re: early_printk accessing __log_buf
- From: Robin Getz <[email protected]>
- Re: early_printk accessing __log_buf
- From: Paul Mundt <[email protected]>
- Re: early_printk accessing __log_buf
- References:
- early_printk accessing __log_buf
- From: Robin Getz <[email protected]>
- Re: early_printk accessing __log_buf
- From: Robin Getz <[email protected]>
- Re: early_printk accessing __log_buf
- From: Andrew Morton <[email protected]>
- Re: early_printk accessing __log_buf
- From: Robin Getz <[email protected]>
- early_printk accessing __log_buf
- Prev by Date: Re: [patch 3/9] cpu: deliver CPU_UP_CANCELED only to NOTIFY_OKed callbacks with CPU_UP_PREPARE
- Next by Date: Re: Linus 2.6.23-rc1
- Previous by thread: Re: early_printk accessing __log_buf
- Next by thread: Re: early_printk accessing __log_buf
- Index(es):