Currently, we mark an IO request to STATE_IOREQ_READY state before

calling IO handlers in xen HV, i.e. vmx_portio_intercept or
vmx_mmio_intercept.  Actually, STATE_IOREQ_READY means it's ready for
DM handling, only if IO handlers in xen HV won't handle it, it should
be passed to DM. This patch fixes this issue.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Nakajima Jun <nakajima.jun@intel.com>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2005-10-13 08:06:27 +01:00
1 parent dfc0b259c1
commit ac9725dff6
2 files changed
+4 -4

No files matched your search

+2 -2
View File
@@ -646,14 +646,14 @@ void send_pio_req(struct cpu_user_regs *regs, unsigned long port,
} else
p->u.data = value;
p->state = STATE_IOREQ_READY;
if (vmx_portio_intercept(p)) {
/* no blocking & no evtchn notification */
clear_bit(ARCH_VMX_IO_WAIT, &v->arch.arch_vmx.flags);
return;
}
p->state = STATE_IOREQ_READY;
evtchn_send(iopacket_port(v->domain));
vmx_wait_io();
}
+2 -2
View File
@@ -643,14 +643,14 @@ void send_mmio_req(unsigned char type, unsigned long gpa,
} else
p->u.data = value;
p->state = STATE_IOREQ_READY;
if (vmx_mmio_intercept(p)){
p->state = STATE_IORESP_READY;
vmx_io_assist(v);
return;
}
p->state = STATE_IOREQ_READY;
evtchn_send(iopacket_port(v->domain));
vmx_wait_io();
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.