From patchwork Tue Apr 24 04:05:12 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [06/12,v14] Add API to get memory mapping without do paging Date: Mon, 23 Apr 2012 18:05:12 -0000 From: Wen Congyang X-Patchwork-Id: 154583 Message-Id: <4F962678.8000501@cn.fujitsu.com> To: qemu-devel , HATAYAMA Daisuke , Luiz Capitulino , "Daniel P. Berrange" , Anthony Liguori 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 627397a..adb1595 100644 --- a/memory_mapping.c +++ b/memory_mapping.c @@ -211,3 +211,12 @@ int qemu_get_guest_memory_mapping(MemoryMappingList *list) return 0; } #endif + +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 7f3c256..190de12 100644 --- a/memory_mapping.h +++ b/memory_mapping.h @@ -60,6 +60,9 @@ static inline int qemu_get_guest_memory_mapping(MemoryMappingList *list) } #endif +/* get guest's memory mapping without do paging(virtual address is 0). */ +void qemu_get_guest_simple_memory_mapping(MemoryMappingList *list); + #else /* We use MemoryMappingList* in cpu-all.h */