WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

[Xen-ia64-devel] Patch of hypercall RE: how to put kernel module in xen/

To: "Xu, Anthony" <anthony.xu@xxxxxxxxx>, "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>
Subject: [Xen-ia64-devel] Patch of hypercall RE: how to put kernel module in xen/ipf
From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Date: Wed, 22 Jun 2005 19:19:22 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 22 Jun 2005 11:18:18 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: DIscussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcV2H2lMV/sz2iLUSG2pTMbU1moFDwASkl6wABeprlAABi8dIAAOo1JwAAAfFaA=
Thread-topic: 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
Description: patch_km_hypercall

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
<Prev in Thread] Current Thread [Next in Thread>