From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47787) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7dbi-0004Km-8l for qemu-devel@nongnu.org; Tue, 13 Mar 2012 22:06:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S7dbf-0006kB-Fh for qemu-devel@nongnu.org; Tue, 13 Mar 2012 22:06:29 -0400 Received: from [222.73.24.84] (port=61560 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7dbf-0006k0-4l for qemu-devel@nongnu.org; Tue, 13 Mar 2012 22:06:27 -0400 Message-ID: <4F5FFD91.8070607@cn.fujitsu.com> Date: Wed, 14 Mar 2012 10:08:17 +0800 From: Wen Congyang MIME-Version: 1.0 References: <4F5FFC63.3060300@cn.fujitsu.com> In-Reply-To: <4F5FFC63.3060300@cn.fujitsu.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1 Subject: [Qemu-devel] [RFC][PATCH 06/14 v9] Add API to get memory mapping without do paging List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel , Jan Kiszka , Dave Anderson , HATAYAMA Daisuke , Luiz Capitulino , Eric Blake crash does not need the virtual address and physical address mapping, and the mapping does not include the memory that is not referenced by the page table. crash does not use the virtual address, so we can create the mapping for all physical memory(virtual address is always 0). This patch provides a API to do this thing, and it will be used in the following patch. Signed-off-by: Wen Congyang --- memory_mapping.c | 9 +++++++++ memory_mapping.h | 3 +++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/memory_mapping.c b/memory_mapping.c index 2ae8160..8dd0750 100644 --- a/memory_mapping.c +++ b/memory_mapping.c @@ -200,3 +200,12 @@ int qemu_get_guest_memory_mapping(MemoryMappingList *list) return 0; } + +void qemu_get_guest_simple_memory_mapping(MemoryMappingList *list) +{ + RAMBlock *block; + + QLIST_FOREACH(block, &ram_list.blocks, next) { + create_new_memory_mapping(list, block->offset, 0, block->length); + } +} diff --git a/memory_mapping.h b/memory_mapping.h index ebd7cf6..50b1f25 100644 --- a/memory_mapping.h +++ b/memory_mapping.h @@ -52,4 +52,7 @@ void memory_mapping_list_init(MemoryMappingList *list); */ int qemu_get_guest_memory_mapping(MemoryMappingList *list); +/* get guest's memory mapping without do paging(virtual address is 0). */ +void qemu_get_guest_simple_memory_mapping(MemoryMappingList *list); + #endif -- 1.7.1