From ec20413a882e6d04801aa8462b03c4d3c1346d5b Mon Sep 17 00:00:00 2001 From: Deb Taylor Date: Mon, 23 Mar 2020 16:04:51 -0400 Subject: [PATCH] Doc: Update mem-mapping image in hv-memmgt.html Signed-off-by: Deb Taylor --- doc/developer-guides/hld/hv-memmgt.rst | 2 +- doc/developer-guides/hld/images/mem-image2a.png | Bin 0 -> 23723 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 doc/developer-guides/hld/images/mem-image2a.png diff --git a/doc/developer-guides/hld/hv-memmgt.rst b/doc/developer-guides/hld/hv-memmgt.rst index 3e5a2a698..c721df01f 100644 --- a/doc/developer-guides/hld/hv-memmgt.rst +++ b/doc/developer-guides/hld/hv-memmgt.rst @@ -32,7 +32,7 @@ From the Guest OS running on a hypervisor: - **Guest Virtual Address (GVA)**: the guest virtual address space from a virtual machine based on a vMMU. -.. figure:: images/mem-image2.png +.. figure:: images/mem-image2a.png :align: center :width: 900px :name: mem-overview diff --git a/doc/developer-guides/hld/images/mem-image2a.png b/doc/developer-guides/hld/images/mem-image2a.png new file mode 100644 index 0000000000000000000000000000000000000000..b34ea6aebf339553d0d0718582f834ce4c99a730 GIT binary patch literal 23723 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