[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] Patch of hypercall RE: how to put kernel module in xen/ipf
Hi, dan,  You should apply this patch after Kevinâs âpatch_ptraceâ patch.  If you want to compile kernel module, you must put 2.6.11 source code and xen/ipf source code under the same directory, kernel module will use linux kernel header file.   -Anthony ________________________________________ From: Magenheimer, Dan (HP Labs Fort Collins) [mailto:dan.magenheimer@xxxxxx] Sent: 2005å6æ22æ 12:18 To: Xu, Anthony Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx Subject: RE: how to put kernel module in xen/ipf  Thanks for the explanation!  > Could we check in this patch and discuss further?  There wasn't a patch attached to either message. Or did you mean Kevin's patch (which I just applied)? Dan   ________________________________________ From: Xu, Anthony [mailto:anthony.xu@xxxxxxxxx] Sent: Tuesday, June 21, 2005 7:57 PM To: Magenheimer, Dan (HP Labs Fort Collins) Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx Subject: RE: how to put kernel module in xen/ipf Hi, Dan,  We implemented VTLB infrastructure per domain on XEN/IPF, which tracked guest tlb information. VTLB has fixed size, then when using out of it, HV will desert all VTLB and recycle VTLB. We add a flag âlockâ in VTLB entry, when HV recycle VTLB, the VTLB entry with âlockâ flag will not be deserted, but if Guest uses instructions like âptcâ to purge tlb, the VTLB entry with âlockâ flag will be deserted.  Before invoking hypercall, Kernel Module pseudo read parameter once per page size to make sure the translation for this parameter has been inserted in VTLB infrastructure. Then kernel Module will call another new hypercall which donât need pointer parameter to lock above translation in VTLB infrastructure.  Then invoking this hypercall, In HV, HV will use copy_from_user() or copy_to_user() to get parameter or return result. In these functions, HV will lookup VTLB infrastructure to get corresponding guest physical address of the parameter, because this translation has been locked in VTLB, HV definitely can find it, then HV can get corresponding machine address from physical to machine address table, as we know HV use region 7 for identity mapping, HV can get identity virtual address for that machine address, at last, HV do normal copy operation using this identity virtual address.  After this hypercall, Guest application definitely will unmap the memory allocated for passing hypercall parameter, and this operation definitely will purge tlb for this address, so the âlockâ VTLB entry in VTLB infrastructure can be recycled.  We had tested this parameter passing mechanism for several hypercalls, such as GETMEMLIST, and it works well.  Could we check in this patch and discuss further?    -Anthony ________________________________________ From: Magenheimer, Dan (HP Labs Fort Collins) [mailto:dan.magenheimer@xxxxxx] Sent: 2005å6æ21æ 22:04 To: Xu, Anthony Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx Subject: RE: how to put kernel module in xen/ipf  Yes, the hypercall parameter mechanism is still evolving for Xen/ia64. Very few hypercalls are necessary to run domain0, so experimentation with different hypercall mechanisms has waited until multi-domain work.  Can you explain more about kernel modules? I know (roughly) how they work for Linux, but not how they are used on Xen/x86. Others on this list might like to learn too, so perhaps you could explain the design in detail? Thanks, Dan  ________________________________________ From: Xu, Anthony [mailto:anthony.xu@xxxxxxxxx] Sent: Monday, June 20, 2005 11:10 PM To: Magenheimer, Dan (HP Labs Fort Collins) Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx Subject: how to put kernel module in xen/ipf Hi, Dan, XEN/IPF kernel module has a lot of difference from XEN/ia32, especially the mechanism of passing hypercall parameter. Currently we create directory âkmâ under xen/arch/ia64, and put kernel module code in that directory.  Any comment? -Anthony Attachment:
patch_km_hypercall _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |