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.