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.