mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
xen-hvm.c: Add support for Xen access to vmport
This adds synchronisation of the 6 vcpu registers (only 32bits of them) that vmport.c needs between Xen and QEMU. This is to avoid a 2nd and 3rd exchange between QEMU and Xen to fetch and put these 6 vcpu registers used by the code in vmport.c and vmmouse.c The registers are passed in the new shared page provided by HVM_PARAM_VMPORT_REGS_PFN. Add new array to XenIOState that allows selection of current_cpu by vcpu id. Now pass XenIOState to handle_ioreq(). Add new routines regs_to_cpu(), regs_from_cpu(), and handle_vmport_ioreq(). Signed-off-by: Don Slutz <dslutz@verizon.com> Reviewed-by: Paul Durrant <paul.durrant@citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
parent
cbd5ac6991
commit
37f9e258b6
2 changed files with 118 additions and 5 deletions
|
@ -164,4 +164,19 @@ void destroy_hvm_domain(bool reboot);
|
|||
/* shutdown/destroy current domain because of an error */
|
||||
void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
|
||||
|
||||
#ifdef HVM_PARAM_VMPORT_REGS_PFN
|
||||
static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
|
||||
unsigned long *vmport_regs_pfn)
|
||||
{
|
||||
return xc_get_hvm_param(xc, dom, HVM_PARAM_VMPORT_REGS_PFN,
|
||||
vmport_regs_pfn);
|
||||
}
|
||||
#else
|
||||
static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
|
||||
unsigned long *vmport_regs_pfn)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* QEMU_HW_XEN_COMMON_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue