read qemu 01


 開始看qemu的代碼,寫一些筆記備忘吧。

 也算看了不少代碼,module.h中的:

#define module_init(function, type)                                                                                 \
static void __attribute__((constructor)) do_qemu_init_ ## function(void) {    \
        register_module_init(function, type);                                                                     \
}    

這個gcc 特性兄弟還是第一次看到,於是總算看懂初始化了怎麼回事。

1. 靜態定義device/block/machine並在main執行之前初始化。
2. vl.c/main中
module_call_init(MODULE_INIT_MACHINE);
machine = find_default_machine();
把machine拿出來用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章