[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] RE: general protection fault: 0000 [#1]
> -----Original Message----- > From: Jan Beulich [mailto:jbeulich@xxxxxxxxxx] > Sent: Thursday, March 06, 2008 12:42 AM > To: john bryant; Santos, Jose Renato G > Cc: oprofile-list@xxxxxxxxxxxxxxxxxxxxx; > xen-devel@xxxxxxxxxxxxxxxxxxx; xen-users@xxxxxxxxxxxxxxxxxxx > Subject: [Xen-devel] RE: general protection fault: 0000 [#1] > > Actually, it's not exactly that way - as long as an MSR can > be read by Xen (i.e. is implemented), guests are permitted to > read them (see the default case in the rdmsr handling part of > emulate_privileged_op(). > To use performance counters you also have to write MSRs, not only read them. I am not familiar with MSR emulation in Xen but I think it should not allow guests to arbitrary write to them. Anyway, I did not know you could actualy read any MSR in Xen. Thanks for pointing this out. > However, I have a hard time understanding what need profiling > code would have to access MSR 0x119 (which, according to my > docs, is PentiumPro/II/III specific). > Most performance counters are model specific, although more recent CPUs have now a subset of counters that more general and expected to be supported across new models of the same architecture (architectural counters) Renato > Jan > > >>> "Santos, Jose Renato G" <joserenato.santos@xxxxxx> 05.03.08 19:12 > >>> >>> > No. In Xen, kernel and modules for PV guests run in ring 1, > Xen provide virtualization for some MSRs enabling access to > them from ring 1, but this is not available for performance > counter MSRs. For OProfile we have a Xen component (xenoprof) > that acess the performance counters. Oprofile kernel module > for Xen is modified to use hypercalls in order to get the > performance counters programmed instead of accessing MSRs directly. > > Regards > > Renato > ________________________________ > From: oprofile-list-bounces@xxxxxxxxxxxxxxxxxxxxx > [mailto:oprofile-list-bounces@xxxxxxxxxxxxxxxxxxxxx] On > Behalf Of john bryant > Sent: Wednesday, March 05, 2008 8:14 AM > To: xen-users@xxxxxxxxxxxxxxxxxxx; > xen-devel@xxxxxxxxxxxxxxxxxxx; oprofile-list@xxxxxxxxxxxxxxxxxxxxx > Subject: general protection fault: 0000 [#1] > > hi, > > I have written a small kernel module to profile an event in > xen. When i invoke "rdmsr", I get general protection error. > As far as i understand, any kernel module is in CPL0, then > rdmsr should work in kernel module. Any help ? Below is log > from syslog > > -John > > general protection fault: 0000 [#1] > SMP > Modules linked in: hello_printk autofs4 hidp l2cap bluetooth > sunrpc ipv6 binfmt_misc dm_mirror dm_multipath dm_mod video > thermal processor fan container button battery ac lp nvram > tsdev evdev i2c_i801 i2c_core piix tg3 r8169 parport_pc > parport serio_raw serial_core usbhid rtc ahci libata shpchp > pci_hotplug ext3 jbd ehci_hcd ohci_hcd uhci_hcd usbcore > CPU: 0 > EIP: 0061:[<ee07e023>] Not tainted VLI > EFLAGS: 00010296 (2.6.16.33-xen #337) > EIP is at hello_init+0x23/0x8d [hello_printk] > eax: 00000000 ebx: 00000119 ecx: 00000119 edx: ff1bbfb4 > esi: d9de86b0 edi: d9de8400 ebp: d9de86d8 esp: d9eafe1c > ds: 007b es: 007b ss: 0069 > Process insmod (pid: 11521, threadinfo=d9eae000 task=c0713030) > Stack: <0>ee1df034 ca680746 0000b06e c0135f05 c013d301 > ee1df400 d9de86b0 d9de8400 > c0137381 ee1df448 c03916c1 ee1df40c 00000000 00000008 > 00000003 00000000 > ee1df40c ee1df448 ee1df400 00000000 00000000 00000000 > 00000000 00000000 Call Trace: > [<c0135f05>] __link_module+0x0/0x1f > [<c013d301>] stop_machine_run+0x2e/0x34 [<c0137381>] > sys_init_module+0x13e/0x1afb [<c011e45a>] printk+0x0/0x1f > [<c0162dc1>] do_sync_read+0xc3/0xff [<c0130e9e>] > autoremove_wake_function+0x0/0x37 [<c01540e7>] > do_brk+0x21b/0x220 [<c01c4ca4>] > _atomic_dec_and_lock+0x40/0x5c [<c0179452>] dput+0xc3/0x12a > [<c0163fe5>] __fput+0x137/0x18c [<c017d1e0>] > mntput_no_expire+0x13/0x6c [<c0105289>] syscall_call+0x7/0xb > Code: Bad EIP value. > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |