[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] HVM (hypercall_grant_table_op) Problem
Hi:
I modified the netfont.c of Linux HVM domU installed PVonHVM.In it, I call hypercall_grant_table_op
(GNTTABOP_map_grant_ref...), then dom0 shutdown and restart at once.
I'm confused about this.
Before Xen 3.4.3, Xen/arch/x86/HVM/hvm.c look like this:
static long hvm_grant_table_op(unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int count)
{ if ( (cmd != GNTTABOP_query_size) && (cmd != GNTTABOP_setup_table) ) return -ENOSYS; /* all other commands need auditing */ return do_grant_table_op(cmd, uop, count); } I know it hadn't support all grant_table_op but only two:GNTTABOP_query_size and GNTTABOP_setup_table.
Now, after Xen4.0.0 and later, it look like below:
static long hvm_grant_table_op( unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int count)
{ if ( !grant_table_op_is_allowed(cmd) ) return -ENOSYS; /* all other commands need auditing */ return do_grant_table_op(cmd, uop, count); } static int grant_table_op_is_allowed(unsigned int cmd)
{ switch (cmd) { case GNTTABOP_query_size: case GNTTABOP_setup_table: case GNTTABOP_set_version: case GNTTABOP_copy: case GNTTABOP_map_grant_ref: case GNTTABOP_unmap_grant_ref: return 1; default: /* all other commands need auditing */ return 0; } } From above, I conclude that I can map a HVM's page to another HVM, just like two PVs.
Am I wrong? Who can give me some suggestion? _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |