Add machine check hypercall.

There will be one file where this will be used. In the initialization a hypervisor version check will verify, if this feature is usable or not.
This commit is contained in:
cegger 2008-08-25 09:21:45 +00:00
parent 53b48ae5a7
commit 2dd3a5d650
2 changed files with 22 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: hypercalls.h,v 1.2 2007/11/22 16:16:58 bouyer Exp $ */
/* $NetBSD: hypercalls.h,v 1.3 2008/08/25 09:21:45 cegger Exp $ */
/******************************************************************************
* hypercall.h
*
@ -390,4 +390,11 @@ HYPERVISOR_dom0_op(
return _hypercall1(int, dom0_op, dom0_op);
}
static inline int
HYPERVISOR_machine_check(struct xen_mc *mc)
{
mc->interface_version = XEN_MCA_INTERFACE_VERSION;
return _hypercall1(int, mca, mc);
}
#endif /* __HYPERCALL_H__ */

View File

@ -1,4 +1,4 @@
/* $NetBSD: hypercalls.h,v 1.3 2008/01/23 19:46:45 bouyer Exp $ */
/* $NetBSD: hypercalls.h,v 1.4 2008/08/25 09:21:45 cegger Exp $ */
/*
* Copyright (c) 2006 Manuel Bouyer.
@ -187,6 +187,19 @@ HYPERVISOR_get_debugreg(int reg)
}
#ifdef XEN3
static __inline int
HYPERVISOR_machine_check(struct xen_mc *mc)
{
int ret;
unsigned long ign1;
mc->interface_version = XEN_MCA_INTERFACE_VERSION;
_hypercall(__HYPERVISOR_mca, _harg("1" (mc)),
_harg("=a" (ret), "=b" (ign1)));
return ret;
}
static __inline int
HYPERVISOR_mmu_update(mmu_update_t *req, int count, int *success_count,
domid_t domid)