|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
RE: [Xen-ia64-devel] stack corruption creating idle domain
On Wed, 2006-01-25 at 09:54 +0800, Tian, Kevin wrote:
> I don't quite catch you in above sentence. What's the problematic
> value for r13 in your case? Ideally r13 is initialized to init_task in
> very early setup in head.S. Then later it's referred further as
> idle_vcpu[0]. It's harmless to clear switch stack and pt_regs area for
> idle vcpu0 at that point. So you may need to figure out where r13 is
> getting changed before that point.
Hi Kevin,
I don't have the actual values right now, but if this doesn't make
sense I'll do a better job of documenting the exact values tomorrow. As
an example, lets say r13 is 0x1000 and r12 is 0x2000. The memset in
init_switch_stacks would be something like memset(0x1d00, 0, 0x400),
therefore clearing anything on the stack. When we get back from the
memset, we pull a pointer off the stack (which is now zero) and page
fault storing to an offset from the zero'd pointer. So it seems like
maybe the size of the structure used to setup r13 doesn't match what
we're using later. Does that make more sense? Thanks,
Alex
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|