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-devel

Re: [Xen-devel] Help With Custom Hyper Calls

To: John Backes <john.backes@xxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Help With Custom Hyper Calls
From: Tim Deegan <tim@xxxxxxx>
Date: Mon, 15 Aug 2011 15:56:26 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Keir Fraser <keir.xen@xxxxxxxxx>
Delivery-date: Mon, 15 Aug 2011 07:57:25 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4E4930F2.3050903@xxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <CA6B1B19.1F29F%keir.xen@xxxxxxxxx> <4E4930F2.3050903@xxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.2.1i
At 09:45 -0500 on 15 Aug (1313401506), John Backes wrote:
> So I greped through the s
> 
> I've altered the hypercall_table and hypercall_args_table to have an
> additional entry in xen/arch/x86/x86_32/entry.S and in
> xen/arch/x86/x86_64/entry.S:
> 

You also need to edit xen/arch/x86/x86_64/compat/entry.S, for the case
where Xen is 64-bit and dom0 kernel is 32-bit. 

> static int hyper_init(void){
> 
>   int output;
> 
>   printk(KERN_ALERT "Testing Hypercall\n");
> 
>   __asm__ ( "movl $39, %%eax;"
>             "int $0x82;"
>           : "=a" (output)
>           );

While this should work, you probably ought to be using the hypercall
page (and the existing kernel mechanisms) to make hypercalls. 

>   return SUCCESS;
> }
> 
> static void hyper_exit(void){
>   printk(KERN_ALERT "Removing Hypercall Module");
> 
> 
> }
> 
> module_init(hyper_init);
> module_exit(hyper_exit);
> ...........................
> 
> I then run "xm dmesg" to see if I can see the "NEW HYPERCALL RECEIVED"
> message, but nothing appears.  Any thoughts?

You could print the return value from the hypercall in your module?

Tim.

-- 
Tim Deegan <tim@xxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel