Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

Zynqのqemu (その2)


Zynqのqemu (その1)の続きです。

-Mオプションでした実行するマシンのコードは、hw/xilinx.cになります。
このファイルの最後の部分を見てましょう。
 375 static QEMUMachine xilinx_zynq_a9_machine = {
 376     .name = "xilinx-zynq-a9",
 377     .desc = "Xilinx Zynq Platform Baseboard for Cortex-A9",
 378     .init = xilinx_pele_a9_init,
 379     .use_scsi = 1,
 380     .max_cpus = 2,
 381     .no_sdcard = 1
 382 };
 383 
 384 
 385 static void xilinx_arm_machine_init(void)
 386 {
 387     qemu_register_machine(&xilinx_zynq_a9_machine);
 388 }
 389 
 390 machine_init(xilinx_arm_machine_init);

machine_initマクロによって登録されたxilinx_arm_machine_init関数では、
qemu_register_machine関数xilinx_zynq_a9_machine'''を引数にして実行します。
このxilynx_zynq_a9_machineの.nameにxilinx-zynq-a9が設定されています。
これがqemuコマンドの-Mオプションの引数に指定したxilinx-zynq-a9と同じですね。

次回では、xilinx-azynq-a9が指定されたときに呼び出される関数を見てみます。

検証、Verification、FPGA