1 message in com.xensource.lists.xen-ia64-develRE: [Xen-ia64-devel] "current->domain...
FromSent OnAttachments
Tian, Kevin28 May 2005 20:39 
Subject:RE: [Xen-ia64-devel] "current->domain" points to wrong domain afterdomU launch
From:Tian, Kevin (kevi@intel.com)
Date:05/28/2005 08:39:43 PM
List:com.xensource.lists.xen-ia64-devel

Check include/asm/current.h, and then you can find get_current and set_current definition.

Normally there should be no explicit invocation to set current pointer (r13 in IA-64), except domain 0 creation and low level context switch stub. You may print out the dom0->exec_domain[0]'s stack pointer at the start, and check whether the stack base still matches the former when printing debug information. If it's still in domain 0's stack context, then people may doubt the link between domain and exec_domain corrupted.

Thanks, Kevin

-----Original Message----- From: xen-@lists.xensource.com [mailto:xen-@lists.xensource.com] On Behalf Of Haavard Bjerke Sent: Saturday, May 28, 2005 10:13 PM To: Dan Magenheimer Cc: xen-@lists.xensource.com Subject: [Xen-ia64-devel] "current->domain" points to wrong domain afterdomU launch

After launching domU, current->domain->domain_id is 1, even right after executing a hypercall from dom0. To get this result, I placed the following line in a hypercall in hypercall.c:

printk("hypercall.c: current domain is %d\n", current->domain->domain_id);

It printed "(XEN) hypercall.c: current domain is 1", though dom0 executed the hypercall.

This is not the way it behaves in the x86 version, where current->domain will point to dom0.

There's no "set_current()" in Xen/ia64; how is "current" maintained?

Haavard