Hi Everyone, I am trying to use the MSR load and store areas in vmx. I did following: 1. Setting vm_entry_msr_load_count: vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, 1); 2. Setting up vm_entry_msr_load_addr : static struct page *vmx_msr_load; Then in vmx_init() : vmx_msr_load = alloc_page(GFP_KERNEL | __GFP_HIGHMEM); va=kmap(vmx_msr_load); memset(va, MSR_P6_PERFCTR0, 32); /*Bits 31:0 contain msr's address*/ memset(va+32, 0x0, 32); /*Bits 63:32 are reserved and shall be all Zeros*/ memset(va+64, 0x0, 64); /*The data to be loaded on VM-Entry*/ And then: vmcs_write64(VM_ENTRY_MSR_LOAD_ADDR, page_to_phys(vms_msr_load)); ------- Now, this results in VM-exit with following on terminal : unhandled vm exit: 0x80000022 vcpu_id 0 rax 0000000000000000 rbx 0000000000000000 rcx 0000000000000000 rdx 0000000000000623 rsi 0000000000000000 rdi 0000000000000000 rsp 0000000000000000 rbp 0000000000000000 r8 0000000000000000 r9 0000000000000000 r10 0000000000000000 r11 0000000000000000 r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15 0000000000000000 rip 000000000000fff0 rflags 00023002 cs f000 (000f0000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) ds 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) es 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) ss 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) fs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) gs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) tr 0000 (fffbd000/00002088 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0) ldt 0000 (00000000/0000ffff p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0) gdt 0/ffff idt 0/ffff cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0 Aborted ------- Does anyone has any idea of whats wrong in what I am doing? Cheers, Nipun -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Rafael J. Wysocki | [Bug #10493] mips BCM47XX compile error |
| Ingo Molnar | [patch 02/13] syslets: add syslet.h include file, user API/ABI definitions |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Andrea Arcangeli | [PATCH 00 of 11] mmu notifier #v16 |
git: | |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Linus Torvalds | Re: [GIT]: Networking |
| Mark Lord | Re: [BUG] New Kernel Bugs |
