On 27/02/2018 09:37, Minjun Hong wrote: > Hello, I've tried to read msr in hypervisor code: > > uint64_t reg; > > rdmsr_safe(0x412e, ret); > > > But, I all failed to read it because the hypervisor is running in > ring-1 CPL as I did googling.
Xen runs in ring 0, root mode. Forget terms like "ring -1" because they are not accurate, and not a helpful description of what is going on. > When I accessed msr, the crash log is below: > > > (XEN) ----[ Xen-4.9.0 x86_64 debug=n Not tainted ]---- > > (XEN) CPU: 7 > > (XEN) RIP: e008:[<ffff82d08024139d>] > mcsched.c#shscan_timer_fn+0xd/0x180 > > (XEN) RFLAGS: 0000000000010206 CONTEXT: hypervisor > > (XEN) rax: ffff83084abfe028 rbx: ffff83084abfe300 rcx: > 000000000000412e > > (XEN) rdx: ffff83084abb7fff rsi: ffff82d080632f00 rdi: > 0000000000000000 > > (XEN) rbp: ffff82d080241390 rsp: ffff83084abb7e30 r8: > ffff830868d4bdc0 > > (XEN) r9: 0000000000000005 r10: 0000012da75b50a5 r11: > ffff8300782f3060 > > (XEN) r12: 0000000000000000 r13: 0000012d9f9d6e07 r14: > ffff83084abb7fff > > (XEN) r15: ffff82d08062ad80 cr0: 000000008005003b cr4: > 00000000003526e0 > > (XEN) cr3: 00000003426f3000 cr2: 00007fc3c21d4000 > > (XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: e010 > cs: e008 > > (XEN) Xen code around <ffff82d08024139d> > (mcsched.c#shscan_timer_fn+0xd/0x180): > > (XEN) 00 00 41 55 41 54 55 53 <0f> 32 4c 8d 05 0a 79 11 00 48 > 8d 0d 91 45 14 00 > This is a rdmsr(), not rdmsr_safe(), which is why you are crashing. Irrespective of that, 0x412e isn't an MSR which exists on any real hardware, so I'm not sure what other result you were expecting. ~Andrew
_______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
