|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] questions about adding MP support to gdbserver
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>
|
- [Xen-devel] questions about adding MP support to gdbserver,
Kip Macy <=
|
|
|
|
|