[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 3/3] hyperv/synic: Mark regions as no vhost
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[PATCH v2 3/3] hyperv/synic: Mark regions as no vhost |
Date: |
Mon, 13 Jan 2020 17:36:47 +0000 |
From: "Dr. David Alan Gilbert" <address@hidden>
Mark synic regions as novhost; they are splitting huge page memory
and breaking vhost region joining.
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
hw/hyperv/hyperv.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c
index da8ce82725..5dbbb14fdd 100644
--- a/hw/hyperv/hyperv.c
+++ b/hw/hyperv/hyperv.c
@@ -99,6 +99,14 @@ static void synic_realize(DeviceState *dev, Error **errp)
sizeof(*synic->msg_page), &error_abort);
memory_region_init_ram(&synic->event_page_mr, obj, eventp_name,
sizeof(*synic->event_page), &error_abort);
+ /*
+ * The guest can put the synic pages anywhere, including
+ * fragmenting something the host might want to keep as a huge
+ * page.
+ */
+ memory_region_set_no_vhost(&synic->msg_page_mr, true);
+ memory_region_set_no_vhost(&synic->event_page_mr, true);
+
synic->msg_page = memory_region_get_ram_ptr(&synic->msg_page_mr);
synic->event_page = memory_region_get_ram_ptr(&synic->event_page_mr);
--
2.24.1