[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 03/20] xenctx: Add -n (--display-stack-pages) option to output larger stack
On Thu, 2014-03-27 at 15:05 -0400, Don Slutz wrote: > Important: This is the stack size (also known as stack limit) to > display not the configured stack size. > > Note: use with caution (easy to get garbage). > > Below is a pictures of a configured 3 page stack, and where > the SP currently is. Each box is a page. > > -n 1 -n 2 -n 3 > > +------------------+ > | | > | | > | | > | | > SP --> | | * * * > +------------------+ | | > | | | | > | | | | > | | | | > | | | | > | | * | > +------------------+ | > | | | > | | | > | | | > | | | > | | * > +------------------+ > > Display using "-n 3" since the used stack pages is 3. Stacks grow downwards on all of the architectures we support. Perhaps that is why the rest of us find your diagrams so confusing? I drew my example to you the way I did for a reason. Also, should the other end of the *---* line from SP (the bottom in your diagram above) not be aligned to a page boundary, after all -n works in pages. > @@ -664,6 +667,8 @@ static int print_stack(vcpu_guest_context_any_t *ctx, int > vcpu, int width) > > stack_limit = ((stack_pointer(ctx) + XC_PAGE_SIZE) > & ~((guest_word_t) XC_PAGE_SIZE - 1)); > + if ( xenctx.nr_stack_pages > 1 ) > + stack_limit += (xenctx.nr_stack_pages - 1) * XC_PAGE_SIZE; The if here is still redundant. > printf("\n"); > printf("Stack:\n"); > for (i=1; i<5 && stack < stack_limit; i++) { > @@ -834,18 +839,24 @@ static void usage(void) > kernel_start); > printf(" -a, --all display more registers\n"); > printf(" -C, --all-vcpus print info for all vcpus\n"); > + printf(" -n PAGES, --display-stack-pages=PAGES\n"); > + printf(" Display N pages from the stack pointer. > (default %d)\n", > + DEFAULT_NR_STACK_PAGES); > + printf(" Changes stack limit. Note: use with > caution (easy\n"); > + printf(" to get garbage).\n"); Doesn't it go without saying that if you go off the bottom of the stack you will get garbage? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |