From: Minkyu Kang Date: Mon, 22 Nov 2010 07:10:57 +0000 (+0900) Subject: ramoops: parse the message X-Git-Tag: v0.2~262 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9de9eb9149a3756e5c80894ff8d32d8a02b56897;p=kernel%2Fu-boot.git ramoops: parse the message remove printk time Signed-off-by: Minkyu Kang --- diff --git a/drivers/misc/ramoops.c b/drivers/misc/ramoops.c index 186549b..00aa98e 100644 --- a/drivers/misc/ramoops.c +++ b/drivers/misc/ramoops.c @@ -48,18 +48,42 @@ static void ramoops_show(void) #endif } +void ramoops_parser(char *raw) +{ + int i; + int start = 0; + int offset = 0; + + for (i = 0; i < RAMOOPS_SIZE; i++) { + if (raw[i] == '[' && raw[i + 13] ==']') { + int size = i - 3 - start; + + memcpy(msg + offset, raw + start, size); + + offset += size; + start = i + 15; + i += 15; + } + } + + memcpy(msg + offset, raw + start, RAMOOPS_SIZE - start); +} + int ramoops_init(unsigned int base) { unsigned int *msg_header = (unsigned int *)base; + char raw[RAMOOPS_SIZE]; dumped = 0; if (*msg_header != RAMOOPS_HEADER) return -1; - memcpy(msg, (void *)base, RAMOOPS_SIZE); + memcpy(raw, (void *)base, RAMOOPS_SIZE); memset((void *)base, 0x0, RAMOOPS_SIZE); + ramoops_parser(raw); + dumped = 1; ramoops_show();