PCDIMM实例
实例化
有了类型就可以实例化一个设备了。一台机器默认情况下就又pc-dimm设备,但是我们也可以通过参数人为添加。这样我们可以进一步了解设备注册和生成的步骤。
比如我们可以通过qemu monitor输入一下命令进行内存热插:
object_add memory-backend-ram,id=ram0,size=1G device_add pc-dimm,id=dimm0,memdev=ram0,node0
其中第二行命令就是添加pc-dimm设备的,而第一行命令是表示真实使用的是什么内存。
既然如此在实例化的过程中有一个重要的步骤就是找到第一个object并关联他们。
devic_initfn
因为PCDIMM是一个设备类型,所以实例化PCDIMM之前需要调用这个函数。
其中重要的一个步骤就是设置属性。
还记得在PCDIMM类型初始化时设置的props么?在这里就用到了。
属性中的这个成员memdev,就是用来关联前后端的。至于具体怎么操作,实在是有点复杂。这里略过。
pc_dimm_realize
那这个具体类型的初始化函数干了什么呢?
仔细一看,这是个空架子。主要就是判断我们的前后端有没有关联好,如果没有则失败。
Last updated