mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-10-06 08:45:10 +00:00
hv: support asyncio request
Current IO emulation is synchronous. The user VM need to wait for the completion of the the I/O request before return. But Virtio Spec introduces introduces asynchronous IO with a new register in MMIO/PIO space named NOTIFY, to be used for FE driver to notify BE driver, ACRN hypervisor can emulate this register by sending a notification to vCPU in Service VM side. This way, FE side can resume to work without waiting for the full completion of BE side response. Tracked-On: #8209 Signed-off-by: Conghui <conghui.chen@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
|
||||
int32_t sbuf_share_setup(uint16_t pcpu_id, uint32_t sbuf_id, uint64_t *hva)
|
||||
{
|
||||
if ((pcpu_id >= get_pcpu_nums()) || (sbuf_id >= ACRN_SBUF_ID_MAX)) {
|
||||
if ((pcpu_id >= get_pcpu_nums()) || (sbuf_id >= ACRN_SBUF_PER_PCPU_ID_MAX)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ void sbuf_reset(void)
|
||||
uint16_t pcpu_id, sbuf_id;
|
||||
|
||||
for (pcpu_id = 0U; pcpu_id < get_pcpu_nums(); pcpu_id++) {
|
||||
for (sbuf_id = 0U; sbuf_id < ACRN_SBUF_ID_MAX; sbuf_id++) {
|
||||
for (sbuf_id = 0U; sbuf_id < ACRN_SBUF_PER_PCPU_ID_MAX; sbuf_id++) {
|
||||
per_cpu(sbuf, pcpu_id)[sbuf_id] = 0U;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user