WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] questions about adding MP support to gdbserver

To: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] questions about adding MP support to gdbserver
From: Kip Macy <kip.macy@xxxxxxxxx>
Date: Sun, 13 Nov 2005 23:25:15 -0600
Delivery-date: Mon, 14 Nov 2005 05:25:23 +0000
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=CuRTXoGnqwrLrKLlOnUX+cdWkIsbvpdWSMv2toKsarddJRzHrj/bnpLl6J2RxUbusM7nzn5WcAodhJN9JgIC5Ooz/t3fzgk18+KdqEdayy0WhnZXftYwq7H4c64ogzqatyzGG5hemSd7bdNYEt3BpSMbQYhjAQpe+nW6N97Mo2Q=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
My current plan is:
- add a bit to domain_flags to indicate that a domain is being debugged
- enable / disable bit using new DOM0 op - (DOM0_DOMU_DEBUG?), call new DOM0 op in PTRACE_ATTACH
- on int3 and trace trap pause domain if debug bit is set
- pause domain when exiting vcpu up / down if debug bit is set (I know this will be a point of debate so I explain below *)

Why doesn't GETDOMAININFO return a bitmask of online vcpus? It looks as if the only way to find out what vcpus are online is to iterate through, up to maxvcpuid. Do GETVCPUINFO and GETVCPUCONTEXT take vcpuids? In other words, if I have 4 cpus online I do a get call on 3, down 2, then do a get call on 3 again, will I get the same result? Where is an example of userspace code iterating through the online vcpus?


* The way gdb native knows about thread create / death is by interfacing with the thread library through libthreaddb. ln libthreaddb a breakpoint is set on the thread creation and exit functions. The "right" way to do what I'm trying to do is to write a libthreaddb for each guest OS. However, I'm not going to do that. Hence my first choice to add the pause to xen itself. I could do without this but it seems kind of messy to have to figure out what vcpus are up every time a breakpoint is hit with the current interfaces. Alternatively, if GETDOMAININFO  had a online vcpuid bitmask I could just compare the current bitmask with the previous one.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>