|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] xenoprof passive profiling and "mode" setting
Xiaowei,
I'm puzzled by the following bit of code in p4_check_ctrs():
if (guest_kernel_mode(current, regs))
mode = 1;
else if (ring_0(regs))
mode = 2;
If I look at the definition for guest_kernel_mode() it is:
include/asm-x86/x86_64/regs.h:
#define guest_kernel_mode(v, r) \
(ring_3(r) && ((v)->arch.flags & TF_kernel_mode))
(Note well: I am running a 64 bit guest and a 64 bit host.)
So, how is that possibly true for the kernel in an HVM guest?
(Wouldn't guest_kernel_mode(regs) be false in that case since it is not
running ring_3()?)
Also, wouldn't ring_0(regs) be true if we are running in kernel mode in an HVM
guest? This code appears to assign such a sample to being part of xen,
right?
So I'm unsure as to whether the above snippet of code sets the mode correctly.
--
Ray Bryant
AMD Performance Labs Austin, Tx
512-602-0038 (o) 512-507-7807 (c)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] xenoprof passive profiling and "mode" setting,
Ray Bryant <=
|
|
|
|
|