Messages in this thread | | | Date | Thu, 16 Oct 2008 20:39:45 -0700 | From | "Yinghai Lu" <> | Subject | Re: [PATCH] Fix broken debug output reserve_region_with_split() |
| |
On Thu, Oct 16, 2008 at 8:06 PM, Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote: > From: Linus Torvalds <torvalds@linux-foundation.org> > > Implement %pR to print struct resource content > > Add a %pR option to the kernel vsnprintf that prints the range of > addresses inside a struct resource passed by pointer. > > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > --- > > And this one has updated comments. > > Index: linux-work/lib/vsprintf.c > =================================================================== > --- linux-work.orig/lib/vsprintf.c 2008-10-17 13:30:18.000000000 +1100 > +++ linux-work/lib/vsprintf.c 2008-10-17 14:04:58.000000000 +1100 > @@ -24,6 +24,7 @@ > #include <linux/kernel.h> > #include <linux/kallsyms.h> > #include <linux/uaccess.h> > +#include <linux/ioport.h> > > #include <asm/page.h> /* for PAGE_SIZE */ > #include <asm/div64.h> > @@ -550,18 +551,38 @@ static char *symbol_string(char *buf, ch > #endif > } > > +static char *resource_string(char *buf, char *end, struct resource *res, int field_width, int precision, int flags) > +{ > + /* room for the actual numbers, the two "0x", -, [, ] and the final zero */ > + char sym[4*sizeof(resource_size_t) + 8]; > + char *p = sym, *pend = sym + sizeof(sym); > + > + *p++ = '['; > + p = number(p, pend, res->start, 16, -1, -1, SPECIAL | SMALL); > + *p++ = '-'; > + p = number(p, pend, res->end, 16, -1, -1, SPECIAL | SMALL); > + *p++ = ']'; > + *p = 0; > + > + return string(buf, end, sym, field_width, precision, flags);
so x64 64bit,io ports will be print out 8 digital?
YH
| |