Page MenuHomeFreeBSD

D48716.diff
No OneTemporary

D48716.diff

diff --git a/sys/riscv/vmm/vmm_fence.c b/sys/riscv/vmm/vmm_fence.c
--- a/sys/riscv/vmm/vmm_fence.c
+++ b/sys/riscv/vmm/vmm_fence.c
@@ -103,7 +103,8 @@
sfence_vma_page(va);
break;
case VMM_RISCV_FENCE_VMA_ASID:
- if (fence->start == 0 && fence->size == 0)
+ if ((fence->start == 0 && fence->size == 0) ||
+ fence->size == -1)
sfence_vma_asid(fence->asid);
else
for (va = fence->start; va < fence->start + fence->size;
@@ -165,7 +166,8 @@
atomic_set_32(&hypctx->fence_req, FENCE_REQ_I);
break;
case VMM_RISCV_FENCE_VMA:
- if (fence->start == 0 && fence->size == 0)
+ if ((fence->start == 0 && fence->size == 0) ||
+ fence->size == -1)
atomic_set_32(&hypctx->fence_req,
FENCE_REQ_VMA);
else

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 11, 3:51 PM (9 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16337688
Default Alt Text
D48716.diff (755 B)

Event Timeline