returns hypercall return value when ioctl was successful.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
{
unsigned long op;
unsigned long arg[5];
+ long retval;
} privcmd_hypercall_t;
typedef struct privcmd_mmap_entry {
int do_xen_hypercall(int xc_handle, privcmd_hypercall_t *hypercall)
{
- return do_privcmd(xc_handle,
+ int error = do_privcmd(xc_handle,
IOCTL_PRIVCMD_HYPERCALL,
(unsigned long)hypercall);
+ if (error)
+ return error;
+ else
+ return (hypercall->retval);
}
#define EVTCHN_DEV_NAME "/dev/xenevt"