Qemu内存管理代码分析3:guest ram 的初始化及分配

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Shirleylinyuer/article/details/83592758

文章根据qemu (tag: v3.0.0-rc1) 的代码讲解,主要讲述函数过程调用,隐去具体细节。

一、1. 全局MemoryRegion: system_memory以及system_io的初始化

        2. GPA (guest physical address) 与HVA (host virtual address)的公共代码的分析,稍后会分别针对x86_64架构以及s390x结构做分别的细致分析。

        3. 内存发生变化时,如果更新内存映射 (GPA-HVA-HPA)。

   

二、1. 对x86_64内存初始化的详细代码分析

2. 对上述x86_64的memory_region_init_alias()画图描述:

 

3. 上述x86_64 ram的memory_region_add_subregion_common() (gdb debug一个个调试出来的。。)

4.   KVM_SET_USER_MEMORY_REGION的调用过程

 

5. flatviews_reset()函数解析

 

6. address_space_set_flatview()函数解析

   

7.address_space_update_topology_pass => region_add()

  

8. s390内存分配的相关代码

 

 

展开阅读全文

没有更多推荐了,返回首页