[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: HVM hypercalls
Hi, Thanks a lot for quick reply. I modified my code to get physical page address and now i do not see error message on XEN hypervisor. Could you please correct if am writing proper physical address or not? We can write the page address to hypervisor using wrmsr() but who should set hypercall_page which is declared as extern in hypercall.h on HVM? Because when i try to invoke HYPERCALL_xxxx(), it reported hypercall_page not declared. Do we need to enable CONFIG_XEN in HVM kernel in order to invoke hypercalls to hypervisor? Could you please share any sample code if you have to get a clear understanding of HVM hypercalls. { char id[13]; unsigned int msr1; unsigned long my_hpage_phys; int my_hpage_lo, my_hpage_hi; __asm__ __volatile__( "cpuid" : "=b" (*(int *)(&id[0])), "=d" (*(int *)(&id[8])), "=c" (*(int *)(&id[4])) : "a" (0x40000000) ); id[12]='\0'; printk("CPU ID read- %s\n", id); /* Read MSR register */ __asm__ __volatile__( "cpuid" : "=b" (*(int *)(&msr1)) : "a" (0x40000002) ); my_hpage_phys = __get_free_page(GFP_ATOMIC); hypercall_page = virt_to_phys(my_hpage_phys); printk("my_hpage_phys get_free = %lx\n", my_hpage_phys); printk("hypercal_page = %p\n", hypercall_page); my_hpage_lo = (unsigned long)hypercall_page & 0xffffffff; my_hpage_hi = (unsigned long)hypercall_page >> 32; printk("my_hpage lo = %x hi = %x\n", my_hpage_lo, my_hpage_hi); /* Write hypercall page address to MSR */ wrmsr(msr1, my_hpage_lo, my_hpage_hi); return 0; } ================= output on HVM ========== [root@localhost src]# dmesg my_hypercall_page @ ffffffffa0388000 CPU ID read- XenVMMXenVMM my_hpage_phys get_free = ffff880005c0b000 hypercal_page = 0000000005c0b000 my_hpage lo = 5c0b000 hi = 0 ============================ Thanks & Regards, VSR. On Mon, May 23, 2011 at 1:52 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |