6 messages in com.xensource.lists.xen-ia64-develdo_* declarations (was: Re: [Xen-ia64...
FromSent OnAttachments
Masaki Kanno25 Jan 2006 04:09.patch
Tristan Gingold25 Jan 2006 05:54 
Masaki Kanno25 Jan 2006 20:33 
Tristan Gingold26 Jan 2006 02:10 
Keir Fraser26 Jan 2006 02:33 
Masaki Kanno26 Jan 2006 03:45 
Subject:do_* declarations (was: Re: [Xen-ia64-devel] [PATCH] added multicall)
From:Tristan Gingold (Tris@bull.net)
Date:01/26/2006 02:10:07 AM
List:com.xensource.lists.xen-ia64-devel

Hi,

on ia64, the do_* functions for hypercalls are called in C. However, they are not declared in any .h file. I think it is cleaner to declare them in an header file rather than locally. The question is in which header file. Thank you for any suggestion.

The do_* functions are at least: extern long do_ni_hypercall(void); extern long do_dom0_op(dom0_op_t *u_dom0_op); extern long do_memory_op(int cmd, void *arg); extern long do_multicall(multicall_entry_t *call_list, unsigned int nr_calls); extern long do_event_channel_op(evtchn_op_t *uop); extern long do_xen_version(int cmd, void *arg); extern long do_console_io(int cmd, int count, char *buffer); extern long do_grant_table_op(unsigned int cmd, void *uop, unsigned int count);

Thanks, Tristan.

Le Jeudi 26 Janvier 2006 05:33, Masaki Kanno a écrit :

Hi, Tristan

Thank you for advice. Please give me advice once again. I was not able to find an appropriate common header. In which header do you define them in case of you? - xen/hypercall.h (new) - xen/multicall.h - asm/multicall.h - etc

I think xen/hypercall.h is better.

Why not. I send this mail to xen-devel, so that we can have official advices!

Best regards, Kan

Tristan Gingold wrote:

Le Mercredi 25 Janvier 2006 13:09, Masaki Kanno a 馗rit :

Hi,

This patch added multicall hypercall. The xm top command succeeded.

Signed-off-by: Masaki Kanno <kann@jp.fujitsu.com>

Best regards, Kan

Hi,

I personnaly think that these declarations +extern long do_ni_hypercall(void); +extern long do_dom0_op(dom0_op_t *u_dom0_op); +extern long do_memory_op(int cmd, void *arg); +extern long do_multicall(multicall_entry_t *call_list, unsigned int nr_calls); +extern long do_event_channel_op(evtchn_op_t *uop); +extern long do_xen_version(int cmd, void *arg); +extern long do_console_io(int cmd, int count, char *buffer); +extern long do_grant_table_op(unsigned int cmd, void *uop, unsigned int count);

should go in common headers. They will be checked with definitions and this will avoid to re-declare them in some other files.

Tristan.